Thursday, October 27, 2022
60 changes · master
Enhancements to existing features
The checkout button label now better explains what customers need to do when signing in is required before checkout. This helps reduce confusion during purchase flow and guides unsigned-in shoppers more clearly.
Original PR description
This commit changes the label of the checkout button if the user is not signed in and the option is mandatory. `task: 2991670`
The mail activity views have been modernized to make activity cells and related lists easier to maintain and more consistent. This helps ensure a smoother, more reliable experience when users review and manage scheduled activities across records.
Original PR description
task-3026018 https://github.com/odoo/enterprise/pull/32853
When parts of the web application fail to load, Odoo now shows a clear error directly on the page instead of leaving users or developers with a broken screen and no explanation. This helps teams identify loading problems faster and reduces confusion during setup, development, or troubleshooting.
Original PR description
Previously, if there were module loading errors, they would typically happen before the error service was ready, and so there is almost always no user-facing error that shows up even though the application state may be severely corrupted. This can be very confusing for developers who are not used to working with JS and might not check the devtools console. This commit makes it so that the module system will replace the contents of the body with an error when some modules were unable to be loaded, with the list of modules and the reason, so that the developer is not confused as to why things aren't working as expected.
This update renames an internal activity component so it better matches the underlying activity model. It helps keep Calendar, Discuss/Mail, and eLearning code more consistent, reducing confusion for future maintenance without changing user-facing behavior.
Original PR description
*: calendar, website_slides [[IMP] mail, *: rename component Activity to ActivityView](https://github.com/odoo/odoo/commit/266a33bdf7c6df2c7f742c9ef4cbc0d402102ed3) *: calendar, website_slides Task-3045361 Task-3046089 Enterprise: https://github.com/odoo/enterprise/pull/33300
The internal naming of activity display components was updated across Mail, Calendar, and eLearning Slides. This helps keep the codebase clearer and more consistent without changing how users interact with activities.
Original PR description
*: calendar, website_slides Task-3045361
This update refreshes Odoo's spreadsheet component with fixes that improve dashboard behavior, filtering, resizing, and menu interactions. Users should see fewer spreadsheet errors and smoother performance, especially when working with dashboards, duplicated sheets, and filtered data.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/1f8e5fac [FIX] spreadsheet: deactivate keystroke inputs in dashboard mode…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/1f8e5fac [FIX] spreadsheet: deactivate keystroke inputs in dashboard mode https://github.com/odoo/o-spreadsheet/commit/085c09b8 [REF] spreadsheet: remove local model https://github.com/odoo/o-spreadsheet/commit/8dbb54ad [REF] spreadsheet_test: use model from helper https://github.com/odoo/o-spreadsheet/commit/80fb9292 [REF] tests: mountSpreadsheet returns model https://github.com/odoo/o-spreadsheet/commit/4bc9edd7 [REM] grid: remove ctrl+s shortcut https://github.com/odoo/o-spreadsheet/commit/0673bc44 [IMP] spreadsheet: remove useless props https://github.com/odoo/o-spreadsheet/commit/4e75de52 [IMP] *: add props validation https://github.com/odoo/o-spreadsheet/commit/f78681ea [REM] tests: remove scroll bars mock https://github.com/odoo/o-spreadsheet/commit/505e942b [FIX] sheetview: resize viewport when font size changes https://github.com/odoo/o-spreadsheet/commit/c3997be9 [FIX] data filters: traceback at sheet duplication https://github.com/odoo/o-spreadsheet/commit/0b35536e [FIX] filters: show rows when filter table is removed https://github.com/odoo/o-spreadsheet/commit/3a897a36 [IMP] cell: Remove useless uuid generation for performance https://github.com/odoo/o-spreadsheet/commit/d9d8a6fb [FIX] topbar: dropdown closing when clicking inside https://github.com/odoo/o-spreadsheet/commit/29225920 [FIX] readme: cannot extend excel import
The spreadsheet engine has been updated to the latest version, improving the foundation for spreadsheet features in Documents and Spreadsheet Edition. Internal test-only access code was removed from production, making the implementation cleaner without changing the core user workflow.
The internal name for the activity display component was updated in Approvals, Documents, Sign, and VoIP for consistency. This is a behind-the-scenes cleanup that helps maintain the software without changing day-to-day user workflows.
Original PR description
*: approvals, documents, sign, voip Task-3045361
Asset modification action labels can now be translated, so users working in other languages see the correct localized wording. This improves usability for multilingual accounting teams without changing business workflows.
Original PR description
Before this commit, the selection field modify_action cannot be translated. After this commit, the selection field modify_action is translated by the code translation mechanism Note: this PR cannot be direct tested in the runbot. Because it requires translations in the po and pot files In order to test 1. go to account_asset/i18n/fr_FR.po 2. add ``` #. module: account_asset #: code:addons/account_asset/models/account_asset.py:0 #, python-format msgid "Re-evaluate" msgstr "Réévaluer" ``` 3. go to account_asset/i18n/account_asset.pot 4. add ``` #. module: account_asset #: code:addons/account_asset/models/account_asset.py:0 #, python-format msgid "Re-evaluate" msgstr "" ``` 5. activate fr_FR and open the form view of the wizard
This update renames several internal screen components in Approvals, Documents, Sign, and VoIP so their names better match the business records they represent. It should not change day-to-day behavior, but it makes the system easier to maintain and helps future improvements be delivered more reliably.
Original PR description
*: approvals, documents, sign, voip [[IMP] approvals: rename Approval to ApprovalView (component)](https://github.com/odoo/enterprise/commit/60b4594576509e7afda8c38c8682926c464f9fb6) Task-3045295 [[IMP] sign: rename SignRequest to SignRequestView (component)](https://github.com/odoo/enterprise/commit/58ac72623c6d7fccef666555fb63c2f5b663e366) Task-3045299 [[IMP] mail, *: rename component Activity to ActivityView](https://github.com/odoo/enterprise/commit/9a260687b798909575527bb1630f29e0f09fe893) *: approvals, documents, sign, voip Task-3045361 Task-3046089 Community: https://github.com/odoo/odoo/pull/104261
This update renames an internal approval screen component to make its purpose clearer for future maintenance. It does not change how users request, review, or approve items, but helps keep the approvals app easier to maintain and test.
Original PR description
Task-3045295
The Sign app’s internal component naming was updated to better distinguish the request view from other Sign request concepts. This is a low-risk maintenance improvement that helps developers keep the signing experience easier to maintain without changing business workflows.
Original PR description
Task-3045299
The approval and signing apps were updated to use the newer activity view behavior. This helps keep the user experience consistent and easier to maintain, with limited visible impact for day-to-day users.
Original PR description
task-3026018 https://github.com/odoo/odoo/pull/103326
Resolved issues and error corrections
Fixes a display issue with mail notifications so users see notification information as intended. This helps avoid confusion in conversations and improves reliability in the messaging experience.
Original PR description
task-2990307 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
Steps: Go to timesheet (grid view). Launch the timer. Got to list view and check the new line. Issue: Few seconds before the minute, the seconds are negative. Fix: Convert hours decimals in milliseconds before calculating minutes and seconds. Also deleted the unnecessary condition for abs(). Also changes some \`${...}\` to String(...) to reduce noise. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged:
Original PR description
Steps:
Go to timesheet (grid view).
Launch the timer.
Got to list view and check the new line.
Issue:
Few seconds before the minute, the seconds are negative.
Fix:
Convert hours decimals in milliseconds before calculating minutes and seconds.
Also deleted the unnecessary condition for abs().
Also changes some \`${...}\` to String(...) to reduce noise.
Description of the issue/feature this PR addresses:
Current behavior before PR:
Desired behavior after PR is merged:
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#104126Fixes an issue in the Mail app where scrolling through a message list could cause the page to crash. This improves reliability for users reviewing conversations and reduces interruptions during daily communication work.
# Current behaviour When installing Sales, then PoS, we get an error when loading the modules. # Expected behaviour No error should be present when installing PoS just after the Sales app. # Steps to reproduce (With demo data) - Install Sales - Install PoS - Get Error # Reason for the problem When installing Sales, there is the Product dependency that creates a product variant, named product_product_4d. Then in the Sales demo data there is the addition of an "exclude_for" record
Original PR description
# Current behaviour When installing Sales, then PoS, we get an error when loading the modules. # Expected behaviour No error should be present when installing PoS just after the Sales app. # Steps to…
# Current behaviour When installing Sales, then PoS, we get an error when loading the modules. # Expected behaviour No error should be present when installing PoS just after the Sales app. # Steps to reproduce (With demo data) - Install Sales - Install PoS - Get Error # Reason for the problem When installing Sales, there is the Product dependency that creates a product variant, named product_product_4d. Then in the Sales demo data there is the addition of an "exclude_for" record (basically an exclusivity rule for variant attributes, for ex: A AND B cannot be together). In our case it happens to be the attributes which product_product_4d was based of. Therefor the ORM deletes said record (from the database). Then when installing PoS, it installs Stock as a dependency, which demo data references product_product_4d, which is not present anymore in the database. # Fix Remove the creation of product_product_4d and all the records that reference it. # Affected versions - 14.0 - 15.0 - saas-15.2 - saas-15.3 - 16.0 - master --- opw-2999180 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#104132 Forward-Port-Of: odoo/odoo#101920
UI improvements for form control panel to correctly display long breadcrumbs. It touches both desktop and mobile views. Before this commit Action menu, Pager and Create button shifted by long breadcrumbs outside the screen. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#104061
Original PR description
UI improvements for form control panel to correctly display long breadcrumbs. It touches both desktop and mobile views. Before this commit Action menu, Pager and Create button shifted by long breadcrumbs outside the screen. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#104061
The presence bubble on the employee form is hidden while it is shown on the kanban view of the employees. This commit fixes the presence bubble to have a consistent behaviour between the employees kanban view and the employee form. task-2945615 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo
Original PR description
The presence bubble on the employee form is hidden while it is shown on the kanban view of the employees. This commit fixes the presence bubble to have a consistent behaviour between the employees kanban view and the employee form. task-2945615 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#103779 Forward-Port-Of: odoo/odoo#97554
The fields were not correctly aligned. task-3040395 Forward-Port-Of: odoo/odoo#104050
Original PR description
The fields were not correctly aligned. task-3040395 Forward-Port-Of: odoo/odoo#104050
Avoid to recompute the PO's lines `price_unit` when its already set Forward-Port-Of: odoo/odoo#102642
Original PR description
Avoid to recompute the PO's lines `price_unit` when its already set Forward-Port-Of: odoo/odoo#102642
Opening a DM chat with someone for the first time automatically pins that chat for correspondents (i.e. the chat appears in Discuss), even if no message has been sent yet. This can be unsettling for the person who didn't create the chat but finds themselves with an unsolicited chat pinned with no message. This commit solves the problem by explicitly writing `is_pinned` to `False` for the member that is not the current user. Task-3028156. Forward-Port-Of: odoo/odoo#104238 Forward-Port-Of:
Original PR description
Opening a DM chat with someone for the first time automatically pins that chat for correspondents (i.e. the chat appears in Discuss), even if no message has been sent yet. This can be unsettling for the person who didn't create the chat but finds themselves with an unsolicited chat pinned with no message. This commit solves the problem by explicitly writing `is_pinned` to `False` for the member that is not the current user. Task-3028156. Forward-Port-Of: odoo/odoo#104238 Forward-Port-Of: odoo/odoo#103408
Apps store menus currently don't work and they are redirected to local Apps menu. Because the warning message says "Odoo Apps will be available soon", user may click such menu few times and notice growing breadcrumps, which looks buggy: Apps / Apps / Apps / Apps / Apps / Apps / Apps / Apps / Apps / Apps / Apps To reproduce: activate debug mode and click menu Apps / Updates opw-2985389 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavi
Original PR description
Apps store menus currently don't work and they are redirected to local Apps menu. Because the warning message says "Odoo Apps will be available soon", user may click such menu few times and notice growing breadcrumps, which looks buggy: Apps / Apps / Apps / Apps / Apps / Apps / Apps / Apps / Apps / Apps / Apps To reproduce: activate debug mode and click menu Apps / Updates opw-2985389 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#103762
ISSUE: When in debug mode, user have access to the "External Identifiers" view. The search bar allows searching using "Record ID" which is a `many2one_reference` field. When user inputs a search query that can't be converted to number, "Record ID" option is still available to the user. It results to traceback when it's selected because the UI is creating an invalid "domain" which makes the server search for a string on an integer (many2one_reference) field. Check the video for illustra
Original PR description
ISSUE: When in debug mode, user have access to the "External Identifiers" view. The search bar allows searching using "Record ID" which is a `many2one_reference` field. When user inputs a search…
ISSUE: When in debug mode, user have access to the "External Identifiers" view. The search bar allows searching using "Record ID" which is a `many2one_reference` field. When user inputs a search query that can't be converted to number, "Record ID" option is still available to the user. It results to traceback when it's selected because the UI is creating an invalid "domain" which makes the server search for a string on an integer (many2one_reference) field. Check the video for illustration: https://youtu.be/XEPUXHcjeRI SOLUTION: We make sure that many2one_reference field is properly converted when generating the domain from the search_bar by using the integer parser. This basically excludes many2one_reference field from the search options when the input query is not a valid integer. See it in action: https://youtu.be/NQ-YrK6tDH0 TASK-ID: 3005837 NOTE: This is analog to the change made in https://github.com/odoo/odoo/pull/101354/commits/7f3aed0614e7b035e933d4b61bd83d1dda6342ec. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#104095
**Description of the issue/feature this PR addresses:** Using website forms to inject an attachment into an object does raise an `ValueError`. Assigning properly the value helps to get rid of the issue **Current behavior before PR:** ```python Traceback (most recent call last): File "/opt/odoo/custom/src/odoo/odoo/service/wsgi_server.py", line 112, in application return application_unproxied(environ, start_response) File "/opt/odoo/custom/src/odoo/odoo/service/wsgi_server.py", line 8
Original PR description
**Description of the issue/feature this PR addresses:** Using website forms to inject an attachment into an object does raise an `ValueError`. Assigning properly the value helps to get rid of the…
**Description of the issue/feature this PR addresses:**
Using website forms to inject an attachment into an object does raise an `ValueError`.
Assigning properly the value helps to get rid of the issue
**Current behavior before PR:**
```python
Traceback (most recent call last):
File "/opt/odoo/custom/src/odoo/odoo/service/wsgi_server.py", line 112, in application
return application_unproxied(environ, start_response)
File "/opt/odoo/custom/src/odoo/odoo/service/wsgi_server.py", line 87, in application_unproxied
result = odoo.http.root(environ, start_response)
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 1336, in __call__
return self.dispatch(environ, start_response)
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 1302, in __call__
return self.app(environ, start_wrapped)
File "/usr/local/lib/python3.8/site-packages/werkzeug/middleware/shared_data.py", line 220, in __call__
return self.app(environ, start_response)
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 1531, in dispatch
result = ir_http._dispatch()
File "/opt/odoo/custom/src/odoo/addons/website_sale/models/ir_http.py", line 15, in _dispatch
return super(IrHttp, cls)._dispatch()
File "/opt/odoo/custom/src/odoo/addons/website/models/ir_http.py", line 198, in _dispatch
response = super(Http, cls)._dispatch()
File "/opt/odoo/custom/src/odoo/addons/auth_signup/models/ir_http.py", line 19, in _dispatch
return super(Http, cls)._dispatch()
File "/opt/odoo/custom/src/odoo/addons/web_editor/models/ir_http.py", line 21, in _dispatch
return super(IrHttp, cls)._dispatch()
File "/opt/odoo/custom/src/odoo/addons/utm/models/ir_http.py", line 29, in _dispatch
response = super(IrHttp, cls)._dispatch()
File "/opt/odoo/custom/src/odoo/addons/http_routing/models/ir_http.py", line 519, in _dispatch
result = super(IrHttp, cls)._dispatch()
File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_http.py", line 241, in _dispatch
return cls._handle_exception(e)
File "/opt/odoo/custom/src/odoo/addons/utm/models/ir_http.py", line 34, in _handle_exception
response = super(IrHttp, cls)._handle_exception(exc)
File "/opt/odoo/custom/src/odoo/addons/http_routing/models/ir_http.py", line 631, in _handle_exception
raise e
File "/opt/odoo/custom/src/odoo/addons/http_routing/models/ir_http.py", line 622, in _handle_exception
response = super(IrHttp, cls)._handle_exception(exception)
File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_http.py", line 206, in _handle_exception
raise exception
File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
result = request.dispatch()
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 810, in dispatch
r = self._call_function(**self.params)
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 359, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo/custom/src/odoo/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 348, in checked_call
result = self.endpoint(*a, **kw)
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 916, in __call__
return self.method(*args, **kw)
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 535, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/custom/src/odoo/addons/website/controllers/form.py", line 42, in website_form
return self._handle_website_form(model_name, **kwargs)
File "/opt/odoo/custom/src/odoo-enterprise/website_helpdesk_form/controller/main.py", line 22, in _handle_website_form
return super(WebsiteForm, self)._handle_website_form(model_name, **kwargs)
File "/opt/odoo/custom/src/odoo/addons/website_crm/controllers/website_form.py", line 64, in _handle_website_form
return super(WebsiteForm, self)._handle_website_form(model_name, **kwargs)
File "/opt/odoo/custom/src/odoo/addons/website/controllers/form.py", line 67, in _handle_website_form
self.insert_attachment(model_record, id_record, data['attachments'])
File "/opt/odoo/custom/src/odoo/addons/website/controllers/form.py", line 262, in insert_attachment
record.sudo()[file.field_name] = [(4, attachment_id.id)]
File "/opt/odoo/custom/src/odoo/odoo/models.py", line 5898, in __setitem__
return self._fields[key].__set__(self, value)
File "/opt/odoo/custom/src/odoo/odoo/fields.py", line 1216, in __set__
write_value = self.convert_to_write(value, records)
File "/opt/odoo/custom/src/odoo/odoo/fields.py", line 2827, in convert_to_write
raise ValueError("Wrong value for %s: %r" % (self, value))
ValueError: Wrong value for res.partner.some_many2one_attachement_field: [(4, id)]
```
**Desired behavior after PR is merged:**
No traceback and proper creation of the attachment and linking to the field intended
Info: @wt-io-it
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#102704The condition for multi-editing the partner has now changed. The partner cannot be changed on a line that has parts in a (partial) reconciliation. Forward-Port-Of: odoo/odoo#100393
Original PR description
The condition for multi-editing the partner has now changed. The partner cannot be changed on a line that has parts in a (partial) reconciliation. Forward-Port-Of: odoo/odoo#100393
When checking whether an element was removable or not, we failed to check whether it was within the editable area. As a result it was sometimes possible to accidentally delete something outside of it. To reproduce the bug, insert a link in a blank editor, then press delete repeatedly until the whole link is gone, and then one more time. This deleted an element from Odoo's UI. task-2993740 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Por
Original PR description
When checking whether an element was removable or not, we failed to check whether it was within the editable area. As a result it was sometimes possible to accidentally delete something outside of it. To reproduce the bug, insert a link in a blank editor, then press delete repeatedly until the whole link is gone, and then one more time. This deleted an element from Odoo's UI. task-2993740 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#103005
This commit aims to handle the belgian blackbox error properly just as the sweden blackbox do. Add an error code of 701 to handle the error messages. Part-of: odoo/odoo#96583 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102412 Forward-Port-Of: odoo/odoo#102352
Original PR description
This commit aims to handle the belgian blackbox error properly just as the sweden blackbox do. Add an error code of 701 to handle the error messages. Part-of: odoo/odoo#96583 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102412 Forward-Port-Of: odoo/odoo#102352
Create an odoo module for owl, so that using owl features and functions is done using the standard import syntax, instead of destructuring properties out of the owl global object TASK-ID: 3032274 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#103597
Original PR description
Create an odoo module for owl, so that using owl features and functions is done using the standard import syntax, instead of destructuring properties out of the owl global object TASK-ID: 3032274 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#103597
The previously created company_details field was introduced to allow customers to manually edit part of their pdf headers. Only the bold layout was not updated with this field. Forward-Port-Of: odoo/odoo#102568
Original PR description
The previously created company_details field was introduced to allow customers to manually edit part of their pdf headers. Only the bold layout was not updated with this field. Forward-Port-Of: odoo/odoo#102568
In this commit we fix the traceback that is returned when the user tries to click on the invoice smart button in the "project updates" view. task-3033278 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#103601
Original PR description
In this commit we fix the traceback that is returned when the user tries to click on the invoice smart button in the "project updates" view. task-3033278 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#103601
Steps to reproduce: - set a price on the product form; - set a base unit count on the product form; - define at least a pricelist with an other price; - go to website on the product page; - change the selected pricelist; - change the Tax-Excluded/Included option. Issue: The base unit price ignores the tax included option (tax excluded/included). Solution: Calculate the base unit price using "list_price" (which takes into account the tax) when we need to display it without saving.
Original PR description
Steps to reproduce: - set a price on the product form; - set a base unit count on the product form; - define at least a pricelist with an other price; - go to website on the product page; - change the selected pricelist; - change the Tax-Excluded/Included option. Issue: The base unit price ignores the tax included option (tax excluded/included). Solution: Calculate the base unit price using "list_price" (which takes into account the tax) when we need to display it without saving. opw-2995474 Forward-Port-Of: odoo/odoo#103996 Forward-Port-Of: odoo/odoo#103064
Clicking on a smart button on the project button to access invoice/bill returned a traceback. It was because the fields in the ORDER of the query don't appear in the SELECT with the DISTINCT. We just remove the order of the query, as it serves no purposes here. opw-3040389 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/subm
Original PR description
Clicking on a smart button on the project button to access invoice/bill returned a traceback. It was because the fields in the ORDER of the query don't appear in the SELECT with the DISTINCT. We just remove the order of the query, as it serves no purposes here. opw-3040389 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#104225
This commit fixes wrong usage of t-attf of [1]. It would output in the DOM `rel="len(active_tag_ids) and 'nofollow'"` [1]: https://github.com/odoo/odoo/commit/0f2cada32319b3910d6ace6d412cfa94a646c9c7 Forward-Port-Of: odoo/odoo#104231 Forward-Port-Of: odoo/odoo#104165
Original PR description
This commit fixes wrong usage of t-attf of [1]. It would output in the DOM `rel="len(active_tag_ids) and 'nofollow'"` [1]: https://github.com/odoo/odoo/commit/0f2cada32319b3910d6ace6d412cfa94a646c9c7 Forward-Port-Of: odoo/odoo#104231 Forward-Port-Of: odoo/odoo#104165
This join is a leftover from https://github.com/odoo/odoo/pull/28248 and is not needed anymore since currency_rate is now stored on purchase.order. Removing it allows to greatly speedup purchase.report queries. On a database with 7000 purchase order and 1100 res_currency_rate: From: https://explain.dalibo.com/plan/3dfe6b271fh5924g Planning Time: 4.411 ms Execution Time: 19815.754 ms To: Planning Time: 16.914 ms Execution Time: 77.433 ms https://explain.dalibo.com/plan/e896fb242c5d
Original PR description
This join is a leftover from https://github.com/odoo/odoo/pull/28248 and is not needed anymore since currency_rate is now stored on purchase.order. Removing it allows to greatly speedup purchase.report queries. On a database with 7000 purchase order and 1100 res_currency_rate: From: https://explain.dalibo.com/plan/3dfe6b271fh5924g Planning Time: 4.411 ms Execution Time: 19815.754 ms To: Planning Time: 16.914 ms Execution Time: 77.433 ms https://explain.dalibo.com/plan/e896fb242c5d31c4 opw-2973044 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#103845 Forward-Port-Of: odoo/odoo#101002
removeContextUserInfo was a Spreadsheet asset, which is not a dependency of Knowledge. In order to make this feature available for all modules, it is moved in web as an object util, that needs to be used alongside the user service in order to dynamically remove user context information (no hardcoding). Enterprise: https://github.com/odoo/enterprise/pull/32783 Task-3017349 Forward-Port-Of: odoo/odoo#103158
Original PR description
removeContextUserInfo was a Spreadsheet asset, which is not a dependency of Knowledge. In order to make this feature available for all modules, it is moved in web as an object util, that needs to be used alongside the user service in order to dynamically remove user context information (no hardcoding). Enterprise: https://github.com/odoo/enterprise/pull/32783 Task-3017349 Forward-Port-Of: odoo/odoo#103158
When using the "Apply All" button to make inventory adjustments, a wizard is opened to choose a name. Then, this wizard calls the quant's `action_apply_inventory` method but doesn't return it. But sometime, this method doesn't apply immediately the inventory but ask for confirmation before (e.g.: trying to "Apply All" with quants for tracked product but without lot/serial number). In these cases, the "Apply All" does nothing. Forward-Port-Of: odoo/odoo#104256
Original PR description
When using the "Apply All" button to make inventory adjustments, a wizard is opened to choose a name. Then, this wizard calls the quant's `action_apply_inventory` method but doesn't return it. But sometime, this method doesn't apply immediately the inventory but ask for confirmation before (e.g.: trying to "Apply All" with quants for tracked product but without lot/serial number). In these cases, the "Apply All" does nothing. Forward-Port-Of: odoo/odoo#104256
Related to Enterprise PR https://github.com/odoo/enterprise/pull/33167 Rename the analytic filter label to clearly distinguish between _Filter:_ and _Group by:_ in the UI Task: [3040884](https://www.odoo.com/web#id=3040884&cids=1&menu_id=4720&action=333&active_id=967&model=project.task&view_type=form) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#104059
Original PR description
Related to Enterprise PR https://github.com/odoo/enterprise/pull/33167 Rename the analytic filter label to clearly distinguish between _Filter:_ and _Group by:_ in the UI Task: [3040884](https://www.odoo.com/web#id=3040884&cids=1&menu_id=4720&action=333&active_id=967&model=project.task&view_type=form) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#104059
If an applicant goes through the salary configurator to create his contract, the employee created will not get the associated sign requests nor the skills as it is working now when creating an employee from the "create employee" button on the applicant page. Also fixes a traceback obtained on the salary configurator when having hr_contract_salary installed and not hr_work_entry_contract task-3002185 Forward-Port-Of: odoo/odoo#101898
Original PR description
If an applicant goes through the salary configurator to create his contract, the employee created will not get the associated sign requests nor the skills as it is working now when creating an employee from the "create employee" button on the applicant page. Also fixes a traceback obtained on the salary configurator when having hr_contract_salary installed and not hr_work_entry_contract task-3002185 Forward-Port-Of: odoo/odoo#101898
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#104035
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#104035
If the check for messaging happens after switching from channel to starred (where there is no composer) it would crash when using `this`. Forward-Port-Of: odoo/odoo#104353
Original PR description
If the check for messaging happens after switching from channel to starred (where there is no composer) it would crash when using `this`. Forward-Port-Of: odoo/odoo#104353
1) Before this commit, while logging in from the portal user and viewing tasks in portal views and then we set to group by none and search any name of task if there is no result it will give error After this commit, Portal users can easily search task without getting error 2) Before this commit, while creating a task and editing the task the form view was not rendered correctly After this commit, form view of the task rendered correctly task-2987387 Forward-Port-Of: odoo/odoo#
Original PR description
1) Before this commit, while logging in from the portal user and viewing tasks in portal views and then we set to group by none and search any name of task if there is no result it will give error After this commit, Portal users can easily search task without getting error 2) Before this commit, while creating a task and editing the task the form view was not rendered correctly After this commit, form view of the task rendered correctly task-2987387 Forward-Port-Of: odoo/odoo#100703
task-2990307 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#104310
Original PR description
task-2990307 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#104310
**Description of the issue/feature this PR addresses:** In E Learning app, in the participation form, the attempts field is aligned in different lines, which makes ui not good. 1. Elearning -> Courses -> Certifications 2. Click and open any certification record 3. Click on participation smart button 4. Open any record from it, see the attempts field in the form. **Current behavior before PR:** Attempts field in participation form is not aligned well.  Desired behavior after PR is merged: Attempts field will align inline and looks clean.  --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#103869
Steps : Say today is Friday the 7th. Go to my timesheets, and encode a timesheet on a new line to monday the 3rd. Go to next week. We expect a line to be displayed for this project/task on next week. Issue : This line is not displayed. Cause : We look for timesheets in the past 7 days, whereas we should look for timesheets from sunday of last week to today. task-3002629 Forward-Port-Of: odoo/enterprise#33331 Forward-Port-Of: odoo/enterprise#32205
Original PR description
Steps : Say today is Friday the 7th. Go to my timesheets, and encode a timesheet on a new line to monday the 3rd. Go to next week. We expect a line to be displayed for this project/task on next week. Issue : This line is not displayed. Cause : We look for timesheets in the past 7 days, whereas we should look for timesheets from sunday of last week to today. task-3002629 Forward-Port-Of: odoo/enterprise#33331 Forward-Port-Of: odoo/enterprise#32205
…out saving Before this commit: The partner_ticket_count computation gives wrong value it always reduce partner tickets count by 1 if current ticket is present in that list or not. After this commit: The partner_ticket_count is reduce by 1 only if current partner ticket is present in the list of partner_tickets and when we change the partner_id then it check the new partner_id's parent_id and previous partner_id's parent are same then the partner_ticket_count is reduce by 1. task-
Original PR description
…out saving Before this commit: The partner_ticket_count computation gives wrong value it always reduce partner tickets count by 1 if current ticket is present in that list or not. After this commit: The partner_ticket_count is reduce by 1 only if current partner ticket is present in the list of partner_tickets and when we change the partner_id then it check the new partner_id's parent_id and previous partner_id's parent are same then the partner_ticket_count is reduce by 1. task-2927335 Forward-Port-Of: odoo/enterprise#33307 Forward-Port-Of: odoo/enterprise#30277
Before this commit, Helpdesk> Configration> SLA policies while creating new SLA policies the default priority was medium so in this commit, set the default priority to low(0) Before this commit, in the helpdesk when we go to average ratings of teams the default filter of My Ratings was active so in this commit, the default filter of My Ratings is removed. task-2987387 Forward-Port-Of: odoo/enterprise#31765
Original PR description
Before this commit, Helpdesk> Configration> SLA policies while creating new SLA policies the default priority was medium so in this commit, set the default priority to low(0) Before this commit, in the helpdesk when we go to average ratings of teams the default filter of My Ratings was active so in this commit, the default filter of My Ratings is removed. task-2987387 Forward-Port-Of: odoo/enterprise#31765
Even if the official regulation is stating that PmtInfId must be unique for each payment within the message, it seems that some banks are refusing some files because the same PmtInfId is used across several messages. We should make it unique by using MsgId inside it to avoid this situation. This is already the case in credit transfer files, so this commit allows to align the situation between the two schemes. opw-2998421 Forward-Port-Of: odoo/enterprise#33249
Original PR description
Even if the official regulation is stating that PmtInfId must be unique for each payment within the message, it seems that some banks are refusing some files because the same PmtInfId is used across several messages. We should make it unique by using MsgId inside it to avoid this situation. This is already the case in credit transfer files, so this commit allows to align the situation between the two schemes. opw-2998421 Forward-Port-Of: odoo/enterprise#33249
_*= timesheet_grid, web_grid In this commit, we add a resource field in kanban bottom, so that content of the resource field does not show outside of the kanban card and fix the broken labels in grid rows of timesheet in mobile view. task-2992951 Forward-Port-Of: odoo/enterprise#31786
Original PR description
_*= timesheet_grid, web_grid In this commit, we add a resource field in kanban bottom, so that content of the resource field does not show outside of the kanban card and fix the broken labels in grid rows of timesheet in mobile view. task-2992951 Forward-Port-Of: odoo/enterprise#31786
When validating a picking, if it is related to a SO generated from Ebay, we send a message to their server to update the shipment state as done. However, this update should only be done when validating the picking to the customer. Otherwise, suppose a 2-step delivery configuration: on Ebay side, the shipment will be considered as done as soon as the pick step is done, which is incorrect OPW-3011272 Forward-Port-Of: odoo/enterprise#33276 Forward-Port-Of: odoo/enterprise#33251
Original PR description
When validating a picking, if it is related to a SO generated from Ebay, we send a message to their server to update the shipment state as done. However, this update should only be done when validating the picking to the customer. Otherwise, suppose a 2-step delivery configuration: on Ebay side, the shipment will be considered as done as soon as the pick step is done, which is incorrect OPW-3011272 Forward-Port-Of: odoo/enterprise#33276 Forward-Port-Of: odoo/enterprise#33251
Steps to reproduce the issue: - Install sale_subscription_dashboard - Go to Revenue KPIs report Bug: Symbol $ was used in Customer churn and Revenue churn opw:3016117 Forward-Port-Of: odoo/enterprise#32981
Original PR description
Steps to reproduce the issue: - Install sale_subscription_dashboard - Go to Revenue KPIs report Bug: Symbol $ was used in Customer churn and Revenue churn opw:3016117 Forward-Port-Of: odoo/enterprise#32981
Steps to reproduce: - Install Accounting App. - Make sure at least one invoice has a PDF attachment. - In Accounting, go to Reporting -> Journal Report. - Inside the Taxes Applied box, click on a tax name. - In the list view, click on the line of the invoice that has a PDF. Observed behavior: It opens the form view of the invoice. Desired behavior: It should open the attachment, if any, or do nothing. Indeed, opening the form view does not provide any additional/useful information t
Original PR description
Steps to reproduce: - Install Accounting App. - Make sure at least one invoice has a PDF attachment. - In Accounting, go to Reporting -> Journal Report. - Inside the Taxes Applied box, click on a tax name. - In the list view, click on the line of the invoice that has a PDF. Observed behavior: It opens the form view of the invoice. Desired behavior: It should open the attachment, if any, or do nothing. Indeed, opening the form view does not provide any additional/useful information that is not already available in the list view. What is interesting is to have an overview of the PDF document. Forward-Port-Of: odoo/enterprise#32902
If an applicant goes through the salary configurator to create his contract, the employee created will not get the associated sign requests as it is working now when creating an employee from the "create employee" button on the applicant page. Also fixes a traceback obtained on the salary configurator when having hr_contract_salary installed and not hr_work_entry_contract task-3002185 Forward-Port-Of: odoo/enterprise#32150
Original PR description
If an applicant goes through the salary configurator to create his contract, the employee created will not get the associated sign requests as it is working now when creating an employee from the "create employee" button on the applicant page. Also fixes a traceback obtained on the salary configurator when having hr_contract_salary installed and not hr_work_entry_contract task-3002185 Forward-Port-Of: odoo/enterprise#32150
Prior to this commit, the visibility of the toggle button was managed by a `t-if` that was bound to the state of the component. This was causing the mouseout event not to be triggered when moving the mouse fastly. Indeed as the mouseover changes the component state, the components gets re-rendered and if the process is triggered at the time when the mouse is leaving the component, the mouseout is not triggered. There is no solution to that using Owl only, that's why we have chosen to use css.
Original PR description
Prior to this commit, the visibility of the toggle button was managed by a `t-if` that was bound to the state of the component. This was causing the mouseout event not to be triggered when moving the mouse fastly. Indeed as the mouseover changes the component state, the components gets re-rendered and if the process is triggered at the time when the mouse is leaving the component, the mouseout is not triggered. There is no solution to that using Owl only, that's why we have chosen to use css. Forward-Port-Of: odoo/enterprise#33259
Previously, when enabling both analytic filters (Filter Analytic and Filter Analytic Groupby) on a report, the filter search items where duplicated and broken due to the same template being loaded twice. Now, the two filters have split templates that are loaded only once. Related to Community PR: https://github.com/odoo/odoo/pull/104059 Task: [3040884](https://www.odoo.com/web#id=3040884&cids=1&menu_id=4720&action=333&active_id=967&model=project.task&view_type=form) Forward-Port-Of: od
Original PR description
Previously, when enabling both analytic filters (Filter Analytic and Filter Analytic Groupby) on a report, the filter search items where duplicated and broken due to the same template being loaded twice. Now, the two filters have split templates that are loaded only once. Related to Community PR: https://github.com/odoo/odoo/pull/104059 Task: [3040884](https://www.odoo.com/web#id=3040884&cids=1&menu_id=4720&action=333&active_id=967&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#33167
removeContextUserInfo was a Spreadsheet asset, which is not a dependency of Knowledge. In order to make this feature available for all modules, it is moved in web as an object util, that needs to be used alongside the user service in order to dynamically remove user context information (no hardcoding). Community: https://github.com/odoo/odoo/pull/103158 Task-3017349 Forward-Port-Of: odoo/enterprise#32783
Original PR description
removeContextUserInfo was a Spreadsheet asset, which is not a dependency of Knowledge. In order to make this feature available for all modules, it is moved in web as an object util, that needs to be used alongside the user service in order to dynamically remove user context information (no hardcoding). Community: https://github.com/odoo/odoo/pull/103158 Task-3017349 Forward-Port-Of: odoo/enterprise#32783
Part of https://github.com/odoo/odoo/pull/103597 Forward-Port-Of: odoo/enterprise#32979
Original PR description
Part of https://github.com/odoo/odoo/pull/103597 Forward-Port-Of: odoo/enterprise#32979
Before this commit, while creating a task using the "fa-plus" icon from Gantt view the planned dates are set perfectly but when clicking on magnifying glass icon and then creating a task that time the default planned dates are not set. so in this commit, set the planned dates from context while creating the task using magnifying glass icon of the Gantt view. task-2889455 Forward-Port-Of: odoo/enterprise#33153 Forward-Port-Of: odoo/enterprise#28803
Original PR description
Before this commit, while creating a task using the "fa-plus" icon from Gantt view the planned dates are set perfectly but when clicking on magnifying glass icon and then creating a task that time the default planned dates are not set. so in this commit, set the planned dates from context while creating the task using magnifying glass icon of the Gantt view. task-2889455 Forward-Port-Of: odoo/enterprise#33153 Forward-Port-Of: odoo/enterprise#28803
# How to reproduce: https://drive.google.com/file/d/13g_RzFKVI8n_rucRWAMRvQ-9JFVPdyEb/view This only happens when DHL sends back a CurrencyCode that differs from the sale's currency. # Commit message: _rate_shipment_vals() has either the parameter 'order' or 'picking' set to False. When 'order' is False, 'order.company_id' and 'order.order_date' will throw an error. Changing the 'or' by a ternary condition prevents the Traceback. --- Up to master --- OPW-3037424 OPW-3026748
Original PR description
# How to reproduce: https://drive.google.com/file/d/13g_RzFKVI8n_rucRWAMRvQ-9JFVPdyEb/view This only happens when DHL sends back a CurrencyCode that differs from the sale's currency. # Commit message: _rate_shipment_vals() has either the parameter 'order' or 'picking' set to False. When 'order' is False, 'order.company_id' and 'order.order_date' will throw an error. Changing the 'or' by a ternary condition prevents the Traceback. --- Up to master --- OPW-3037424 OPW-3026748 Forward-Port-Of: odoo/enterprise#33248
This commit purpose is fix the delivery update. When more than one fsm product is on an SO, and task were created for those sol, if products are added to different tasks a common delivery is created for the so with all the products. Currently, when one of the task is marked as done, the delivery is not correctly update, nor are the sol with the material products related to the task. the commit: - correctly set the quantity done for the sol and the delivery when a task is marked as done -
Original PR description
This commit purpose is fix the delivery update. When more than one fsm product is on an SO, and task were created for those sol, if products are added to different tasks a common delivery is created for the so with all the products. Currently, when one of the task is marked as done, the delivery is not correctly update, nor are the sol with the material products related to the task. the commit: - correctly set the quantity done for the sol and the delivery when a task is marked as done - Once all the tasks composing the sol are marked as done, the delivery is also set to done. - add a test to ensure future modification keeps this behavior task 3000244 Forward-Port-Of: odoo/enterprise#33198 Forward-Port-Of: odoo/enterprise#32299