Before this commit, a service called `timesheet_uom` is created to add
in the legacy registry, the right component to use when `timesheet_uom`
is searched in the registry because it depends on the UoM set on the
current company.
This commit converts all the widgets in which be used in the
`timesheet_uom` registry and also adapt the service to use the session
instead of the legacy one.
task-2944742
closesodoo/odoo#98380
Related: odoo/upgrade#3787
Related: odoo/enterprise#30565
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Before this commit, all the custom code for the widgets, form, list and
kanban views are always in OWL and have to be migrate to the new JS
framework.
This commit converts all the widgets, list, kanban and form views used
in the project app in OWL. Some JS tours has been adapted according to
the OWL views, the project right side panel has been reviewed since it
was LegacyComponent (in old component in OWL)
task-2944742
Part-of: odoo/odoo#98380
Before this commit, the kanban view has a `className` getter to easily
add a class if needed. The list view only uses the className given in
the props and so className is added in the view.
This commit adds a className getter to be consistent with kanban view
and to allow to easily add a className to a specific case (that is for
an eventual customization).
task-2713538
Part-of: odoo/odoo#98380
This commit is the continuation of task-2948676 which consists of
lightening the Thread model by moving the channel-specific behaviours to
the Channel model.
The changes revolve around the DiscussSidebarCategoryItem model. The
goal is to use channel instead of thread as identifying field for
DiscussSidebarCategoryItem, and to move channel-specific fields involved
in the computes of this model from Thread to Channel.
Changes in this commit include:
+ move `avatarCacheKey` from Thread to Channel
+ move `correspondent`
+ move `correspondentOfDmChat`
+ move `custom_channel_name`
+ move `localMessageUnreadCounter`
+ move `serverMessageUnreadCounter`
+ introduce `Channel/displayName`
+ use channel instead of thread as identifying field for
DiscussSidebarCategoryItem
Part of task-2948676.
closesodoo/odoo#98149
Related: odoo/enterprise#30457
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Part of the overall v16 SCSS optimization/restyle, task-2704984.
task-2920029
closesodoo/odoo#96027
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Purpose:
Make sure livechat operators are not buried under a huge pile of old sessions.
Specification:
Unpin read livechat sessions, 24 hours after the last message has been read by
the operator.
Task-2446972
Part-of: odoo/odoo#92053
Mercado Pago is the largest online payment platform in Latin America,
supports more countries, currencies and payment methods in the region
than other PSPs, and is more accessible to small businesses.
This commit integrates Odoo with a combination of the Checkout Pro and
Checkout API solutions of Mercado Pago to implement payments with
redirection to the provider's payment page.
Task - 2704764
Part-of: odoo/odoo#83957
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
Until now, there was no way on a given sales order to distinguish
draft, cancelled and posted down payments.
This commit makes sure the down payments state is clearly
shown as draft or cancelled when the linked invoice is
in the corresponding states.
Also remove those draft and cancelled down payments from the sale
portal & report as it can be confusing for customers to see line(s)
of down payments they never heard of.
Lastly, follow the existing behavior of invoices, where the down
payments were shown in a separate section. Now a dedicated section
will be added to the sales order and propagated to the invoice,
if there are down payments to deduct.
Task - 2702407
closesodoo/odoo#82376
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Companies only get a tax credit on the bill to GST number(vat), not on the shipping GST number.
task - 2723111
closesodoo/odoo#81977
Related: odoo/upgrade#3493
Signed-off-by: Josse Colpaert <jco@odoo.com>
This commit adds a `sequence` field in `event.track.location`, allowing event
managers to organize their event location as they want in the "Agenda" page.
To allow re-arrangement of the locations a bit more visible and easy, this
commit adds handle widget on track locations tree view, and removes the debug
group from the menu "Events > Configuration > Track Locations".
To match the order on agenda page and on the back-end, the same ordering
is applied at model level as well.
taskID-2942634
closesodoo/odoo#97763
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Part of the overall v16 SCSS optimization/restyle, task-2704984
revamped apps/views :
- Kanban
- [hr]
- [maintenance]
- [utm]
Requires:
- https://github.com/odoo/enterprise/pull/29842
task-2892062
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
closesodoo/odoo#96195
Related: odoo/enterprise#29842
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
This commit introduces css variables to facilitate the customization of
the view.
Part of the overall v16 SCSS optimization/restyle, task-2704984
task-2892062
Part-of: odoo/odoo#96195
Prior to this commit there were some layout issues in KanbanView:
1. The `o_kanban_header` z-index was not high enough and some icons in
the record element could hide it partially.
2. The `o_ghost_avatar` was not visible (white on white).
3. `.container` elements placed inside a record had their width
constrained by the grid system. This commit "fix the issue" setting
their max-width to 'none'.
Note on point 3:
To have '.container' max-width limited by the current resolution is not
a bug but the default grid-system behavior. This commit provides a
temporary workaround since 'container-fluid' classes should have been
used instead.
task-2892062
Part-of: odoo/odoo#96195
This commit moves the kanban variables from primary_variables.scss to
the KanbanView folder.
Part of the overall v16 SCSS optimization/restyle, task-2704984
task-2892062
Part-of: odoo/odoo#96195
BEFORE THIS COMMIT :
When using the action "grant portal access" on contact, it opens a wizard.
When trying to granting access, an error is raised if email is not properly
formatted or already used by another user, in a modal. The modal of error
message is superimposed on the one of the wizard. This looks very unpleasant
and not very readable.
AFTER THIS COMMIT :
Therefore, the error messages due to an invalid email (bad format or already
used) are simplified and displayed inline in portal wizard user tree view
instead, not displaying the different action buttons for those users as long
as the error remains.
TESTS :
Tests are updated accordingly. The last assert of test_portal_wizard_error
is repaired. The previous one raised an error as expected but not the good
one. As the email had a wrong format, it was detected and error was raised,
and not because the user was internal, as supposed to. The portal user is
updated as it should be.
--- LINKS ---
Task Id - 2613780
COM PR - #74911
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
The portal's granting access / revoking access / reinvite actions
return the wizard modal opening action in order to keep it open
and allow the user to keep browsing and managing portal access.
However, this can return the modal opening several times and execute
them all, generating several (unsynchronized) modal view instances
that the user sees and has to close one at a time.
Therefore the user field in the portal wizard receives a small widget,
that only allows one of these actions at a time. Clicking on other
buttons in the list while an action is ongoing will not do anything
since buttons are disabled for the time the action is being done.
Buttons showing the email_state will not do actions when clicked.
A short scss file is also added to the widget in order to make the elements
of the user_ids tree view as close to each other as possible. This prevents
in most cases the loss of buttons going off the list's width view and
generating a scroll bar, a situation to avoid since it does not show the
user the (dyamically appeared) action buttons. (e.g. when hiding buttons
if no valid email, then editing to a valid email, button reappearing out
of visible range)
Task-2613780
Part-of: odoo/odoo#74911
BEFORE THIS COMMIT :
When using the action "grant portal access" on contact, it opens a wizard.
When trying to granting access, an error is raised if email is not properly
formatted or already used by another user, in a modal. The modal of error
message is superimposed on the one of the wizard. This looks very unpleasant
and not very readable.
AFTER THIS COMMIT :
Therefore, the error messages due to an invalid email (bad format or already
used) are simplified and displayed inline in portal wizard user tree view
instead in the form of colored fa-icons buttons, with details as title.
In order to have the tooltip service detect mouse events, we make them
non-disabled: if clicked, the modal will simply be refreshed. Also, there
will be no display of reinvite / grant access buttons as long as an error
on email remains.
To do so, a new selection field sets the email validity status for each
portal_wizard_user : 'ok' / 'ko' / 'exist'. Errors are still thrown if method
is called directly, except for the revoke access method. Indeed, we want to
be able to revoke access, independantly of the email status. However, the
partner's email is only updated if the email is valid.
TESTS :
Tests are updated accordingly. The last assert of test_portal_wizard_error
is repaired. The previous one raised an error as expected but not the good
one. As the email had a wrong format, it was detected and error was raised,
and not because the user was internal, as supposed to. The portal user is
updated as it should be.
--- LINKS ---
Task Id - 2613780
COM PR - odoo/odoo#74911
The test_user_logout_outgoing_message is undeterministic because
it speculate on the fact that the channel subscription was made
when we try to dispatch notifications. Sometimes it is not and
the websocket to channel map is empty resulting in a StopIteration
exception being raised. Let's wait for the subscribe to occur to
ensure the websocket will be registered before trying to dispatch
the message.
closesodoo/odoo#99204
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Before this commit, it was impossible to empty a many2one in a list view.
How to reproduce:
- go into a list view with a many2one
- empty a many2one containing a value
- click outside the line
Before this commit:
The record goes into readonly mode and its many2one returns to
its original value.
After this commit:
The record is saved and its many2one is empty.
closesodoo/odoo#99201
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Steps to reproduce:
-Install Project
-Activate kanban view for projects in the settings
-On firefix do a drag and drop of a project between two stages
Current behavior:
You are redirect to the project record
Expected behavior:
The project changed stage but there is no redirection
Solution:
The check for the drag&drop case only happen inside the openRecord
function but the record should not be open in this situation and
hence the check should happen before the function is called in
onGlobalClick.
opw-2952389
closesodoo/odoo#99120
X-original-commit: 977ef91693f22a5fab2b71d4dadf99046853ca9d
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Fockedey Martin (mafo) <mafo@odoo.com>
Some tests are randomly failling because /web takes more than 10 seconds
to load. A future pr will speedup /web but waiting for that a small
bump of the timeout should help.
closesodoo/odoo#99198
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
When a field in readonly view can be modified, it should write to the
backend immediately. (No changes are stored to be comited later)
For some reason, a bit of code was preventing this if the field was
required and had a falsy value. Furthermore, the code seemed incorrect
or at least misplaced. Removing these lines didn't affect the test.
The fix simply remove this extra check.
There was a condition in the update code for required field in readonly
views that prevented the correct flow to be executed. Since no test are
broken removing this check but it fixes the problem, it is removed.
closesodoo/odoo#98978
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Adds two new props in `form_controller` in order to call a function from
the parent `Component` just after the form view is saved/discarded.
closesodoo/odoo#97314
Related: odoo/enterprise#30045
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit adds two props for the `ConfirmationDialog`:
`cancelLabel` and `confirmLabel`.
Both are `String` and optional and the buttons will remain named "Ok"
and "Cancel" by default.
Part-of: odoo/odoo#97314
Due to missing default_date_{to,from} in the hr_holiday_status_id field context, an allocation planned
next year wouldn't be selectable by the user.
closesodoo/odoo#99197
X-original-commit: cd1cb57f87bd0437dad48f03c3842216366427dc
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: phwa-odoo <phwa@odoo.com>
Steps to reproduce:
1- enable "add to cart" feature on the website shop page
2- add any product to the cart
3- the image is way too large
Bug:
the animation creates a clone of the original image on which new css
classes has been added (h-100 w-100) that sets the image to full size
Fix:
since the CSS atribute of the new image are set in the function removing
all the classes of the original image solves the issue
Note:
the bug only started on 15.2 where the new classes have been added
merging on 15.0 just to prevent future issues
opw-2952608
closesodoo/odoo#99184
X-original-commit: 90911266403cd6157f61e8123b24dcdf3ecd98f4
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
Prior to this commit accrual levels based on worked time did not
properly compute the number of days when the period prorata was taken
into account.
TaskId-2924364
closesodoo/odoo#99183
X-original-commit: d9000d3d883ab6fa8325692f1ac5249d6822046a
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
A random test failure happens during the test of image links. Sometimes
the image link tools popover does not appear anymore.
This commit adds additional steps to make sure the popover is fully
removed before a new one is created.
runbot-4615
runbot-4617
runbot-4618
runbot-4620
closesodoo/odoo#99182
X-original-commit: 4cd4876fe7bb7fa984a91e50a3878058e8abc597
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Steps to reproduce
------------------
1) Install project_timesheet_holidays and mrp.
2) Go to Manufacturing > Settings and enable Work Orders.
3) Log in as a user with access rights to Manufacturing but no access rights to HR.
4) Create a Manufacturing Order with a Work Order.
5) Go to Operations > Work Order and start the Work Order.
5) Click on "Done", you should get an AccessRight error.
---
This commit fixes this error by calling sudo before creating the timesheet leaves for each employee.
Follow-up of https://github.com/odoo/odoo/pull/94414closesodoo/odoo#99174
X-original-commit: 13718d26bb98713f5a533c1a53c7fc2c2abfaac2
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Signed-off-by: Larcin Vincent (vila) <vila@odoo.com>
The qunit loading is now arroud 15 seconds, breaking sometimes because
of the 15 seconds timeout.
A quick and dirty fix increases the timeout to 20 (freeze time)
An deeper investigation is needed to speed up this page.
Pregeneration of assets bundle may help
closesodoo/odoo#99163
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
Since the accounts without token are useless and could create errors
afterwards, we should delete them and automatically create a new one
with a new token in case force_create is set to True.
closesodoo/odoo#99155
X-original-commit: 637df81a22bf4adbb685f78a59072b110c30a546
Signed-off-by: Florian Daloze (fda) <fda@odoo.com>
Signed-off-by: Alex Thuyls (alt) <alt@odoo.com>
Before this commit
==================
Error not raise In E-invoice(IN) config when authentication is failed
After this commit
=================
Error raise in E-invoice(IN) config when authentication is failed
closesodoo/odoo#99148
X-original-commit: c01b26d3391b53468c3bee8ff0117e55f5115943
Signed-off-by: Josse Colpaert <jco@odoo.com>
Before this commit, folding chat window in public livechat
was not working.
This is because the title of chat window was 0px of height,
so it was impossible to click on it.
This commit fixes the issue by letting title take as much vertical
area as it is available in the header, so that the header
except buttons is clickable to fold the chat window.
Task-2964331
closesodoo/odoo#99024
Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
Steps to reproduce:
- Create a sale order with a product that's invoiced on delivered
quantities.
- Set delivered quantity (partial delivery) and create an invoice based
on the delivered quantity. Set the "Invoice Date" to sometime in the
past.
- Go to the settings and set "Invoicing Switch Threshold" to any date
in the future (so that the invoice you created has a date BEFORE the
new threshold)
- The invoice will get the label "invoicing app legacy".
- Go back to the sales order and change the delivered quantity.
You should see that the invoiced quantity is automatically set to 0.
A similar behavior can be observed with purchase orders.
Why this is happening:
When a new “Invoicing Switch Threshold” is set, all posted invoices
before the threshold are marked as `canceled`. In v15, changing the
delivered quantities triggers the invoiced quantities to be
recalculated as well. However, computing invoiced quantities doesn't
take into account invoices that are marked as `canceled`. This mean
that the newly computed invoiced quantities won't include invoices
posted before threshold.
opw-2896797
closesodoo/odoo#98909
X-original-commit: cc979734bd7ef3f2a94b411cb7b4f3e782b7ddab
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Nshimiyimana Serge Séna (sesn) <sesn@odoo.com>
Before this commit, if a touchstart event is performed on a row in an
x2many, then a crash is displayed.
We also use this commit to rename the hasSelector props to allowSelector.
allowSelector is true if checkboxes can be present.
How to reproduce:
- go to a form view in mobile mode with an x2many field
- touch a row in the x2many (trigger an event touchstart)
Before this commit:
An error is displayed
After this commit:
Nothing happens.
closesodoo/odoo#98893
Related: odoo/enterprise#30773
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit adds a new option for picture zoom on product pages.
The designer may now select a attachment viewer like carousel upon
clicking on images in the view.
The hover zoom has also been fixed as it was broken due to the bootstrap
5 changes.
The designer may choose between zoom on hover, on click, both or no
zoom.
TaskId-2922062
closesodoo/odoo#98305
Related: odoo/upgrade#3785
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>