Tuesday, October 5, 2021
65 changes · master
Enhancements to existing features
Pager controls now update more reliably across lists, forms, and relational fields, helping users see accurate navigation information while working with records. This reduces confusion when moving through records or editing related items and makes the interface feel more consistent.
Original PR description
Enterprise: https://github.com/odoo/enterprise/pull/13980
This update makes date and time formatting easier for web components to access and customize. It helps keep date picker behavior consistent while making future adjustments simpler and safer for developers.
Original PR description
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
This update improves how older web views work within the current web interface, helping keep existing screens reliable while the platform evolves. It mainly supports smoother transitions and better test coverage for legacy view behavior.
The Visitors page now displays website visitor cards more consistently on smaller screens. This makes the backend view easier to read and use when working on laptops or resized browser windows.
Original PR description
Description of the issue/feature this PR addresses: This PR improves the layout of the visitor kanban card of the website module. Task id: 2524363 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Website navigation menus now display as soon as a page loads, without a delayed fade-in effect. This makes pages feel faster and more polished, while also improving cart popover placement in vertical menus.
Original PR description
*: web, website_sale See sub-commits for details. In short: the menu was loading with an effect partly for technical reasons: potentially folding menu items in a "+" dropdown instead of making it go over multiple lines. Since the JS lazy loading, the menu made even more time to appear. All of that is now removed: the menu is there as soon as the page appears to the user, without effect or delay. task-2618929 X-original-commit: 0681678c4d028f9f2bda419996bf5b14e771c132
This update reorganizes how message information is managed so the same message can be displayed reliably in multiple places. It improves consistency and maintainability for communication features used across HR, leave management, live chat, SMS, snail mail, and mail.
Original PR description
* = hr, hr_holidays, sms, snailmail, website_livechat Message model incorrectly contained data related to a specific component (only one) even though there can be multiple message components per message model. This cascaded to adapting related component/models to the same principle. Related: https://github.com/odoo/enterprise/pull/21426 Original PR: odoo/odoo#76718 Original Enterprise PR: odoo/enterprise#20964
The mail server setup form was updated with clearer labels, better field organization, and more visible options for authentication and security. This makes it easier for users to configure outgoing email servers correctly and understand what each setting does.
Original PR description
PURPOSE Help people setuping their mail server with clear labels and form view. SPECIFICATIONS Rename Description to Name, as Description indicates a secondary text field. Relabel the field for filtering to FROM Filtering. Current From Filter could lead to think it filters incoming emails which is not the case. Move button in header as on all form views. Task-2628092
This update cleans up and strengthens automated performance tests around Odoo's mail features, including multi-company behavior, mail gateway setup, SMS, mass mailing, and time-off related messaging. It helps teams detect performance regressions more accurately without changing day-to-day user workflows.
This update adjusts internal testing utilities and record identifiers across messaging, approvals, VoIP, and live chat support areas. It helps keep these business apps aligned with broader platform changes, reducing maintenance risk without changing day-to-day user workflows.
Original PR description
* = approvals, voip, website_helpdesk_livechat Related: https://github.com/odoo/odoo/pull/77779 Original PR: odoo/enterprise#20964 Original Community PR: odoo/odoo#76718
This update improves internal mail performance test setup so it better reflects real customer scenarios, including mail gateway configuration. It helps teams measure performance more accurately while preparing future multi-company email alias work.
Pager controls were updated across several business apps so page counts and navigation stay in sync when views change. This improves consistency for users working with follow-ups, documents, manufacturing planning, maps, and report editing.
Original PR description
Community: https://github.com/odoo/odoo/pull/59710
Resolved issues and error corrections
The backend HTML editor no longer warns users about unsaved changes when nothing was changed. This prevents confusing prompts when leaving or reloading backend pages, while keeping the warning where it is still needed on public website editing.
Original PR description
Task [2371592](https://www.odoo.com/web#id=2371592&action=333&active_id=133&model=project.task&view_type=form&cids=1&menu_id=4720)
Documentation and clarification updates
This update records a new corporate contributor signature for Blanco Martin y Asociados and corrects the recorded partnership type. It helps keep Odoo's contributor legal documentation accurate and up to date.
Original PR description
[FIX] Modification of the type of partnership in Blanco Martin y Asociados -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
Steps to reproduce: - Go to Accounting -> Cash Registers - Create a first statement named E, add a line with amount 100, set the Ending Balance (balance_end) to 100. - Create a second statement named H, add a line with amount 50, set the Ending Balance (balance_end) to 150. - Create a third statement named C, add a line with amount 1, set the Ending Balance (balance_end) to 151. - Create a last statement named as you want. Issue: The Starting Balance of the last statement i
Original PR description
Steps to reproduce: - Go to Accounting -> Cash Registers - Create a first statement named E, add a line with amount 100, set the Ending Balance (balance_end) to 100. - Create a second statement named…
Steps to reproduce: - Go to Accounting -> Cash Registers - Create a first statement named E, add a line with amount 100, set the Ending Balance (balance_end) to 100. - Create a second statement named H, add a line with amount 50, set the Ending Balance (balance_end) to 150. - Create a third statement named C, add a line with amount 1, set the Ending Balance (balance_end) to 151. - Create a last statement named as you want. Issue: The Starting Balance of the last statement is compute from the Ending Balance of statement H instead of statement C. Cause: Because of the _order = 'date desc, name desc, id desc', if several statements have the same date, the name is taking into account to classify the statements, which cause issue because the name doesn't always reflect the chronological order of creation. Solution: Check if the previous statement's date is the same as the actual one, then change the order to 'id desc', otherwise we don't touch anything. opw-2635092 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#77406
This fixes an issue where simply viewing payment provider settings could accidentally trigger data updates and cause validation errors. The change helps keep payment configuration pages accessible and stable, especially during upgrade checks.
Original PR description
`compute` shouldn't write things. This means `writes` can occur just by reading records. Instead, when you want to assign multiple compute fields at once, `update` should be used. ``` 2021-10-04…
`compute` shouldn't write things. This means `writes` can occur
just by reading records.
Instead, when you want to assign multiple compute fields at once,
`update` should be used.
```
2021-10-04 12:42:21,132 61 ERROR db_40421 odoo.upgrade.base.tests.test_mock_crawl: FAIL: TestCrawler.test_check
Traceback (most recent call last):
File "/tmp/tmpn37k1zm_/migrations/testing.py", line 208, in test_check
self.check(value)
File "/tmp/tmpn37k1zm_/migrations/base/tests/test_mock_crawl.py", line 85, in check
self.assertFalse(diff, msg)
AssertionError: [('payment.payment_acquirer_menu', 217, 'Accounting > Configuration > Payments > Payment Acquirers', 312)] is not false : At least one menu or view working before upgrade is not working after upgrade.
('payment.payment_acquirer_menu', 217, 'Accounting > Configuration > Payments > Payment Acquirers', 312):
Traceback (most recent call last):
File "/home/odoo/src/odoo/15.0/odoo/api.py", line 879, in get
return field_cache[record._ids[0]]
KeyError: 8
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/odoo/src/odoo/15.0/odoo/fields.py", line 1057, in __get__
value = env.cache.get(record, self)
File "/home/odoo/src/odoo/15.0/odoo/api.py", line 882, in get
raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: 'payment.acquirer(8,).show_credentials_page'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tmp/tmpn37k1zm_/migrations/base/tests/test_mock_crawl.py", line 182, in crawl_menu
self.mock_action(action_vals)
File "/tmp/tmpn37k1zm_/migrations/base/tests/test_mock_crawl.py", line 293, in mock_action
mock_method(model, view, fields_list, domain, group_by)
File "/tmp/tmpn37k1zm_/migrations/base/tests/test_mock_crawl.py", line 319, in mock_view_form
[data] = record.read(fields_list)
File "/home/odoo/src/odoo/15.0/odoo/models.py", line 3227, in read
return self._read_format(fnames=fields, load=load)
File "/home/odoo/src/odoo/15.0/odoo/models.py", line 3247, in _read_format
vals[name] = convert(record[name], record, use_name_get)
File "/home/odoo/src/odoo/15.0/odoo/models.py", line 5867, in __getitem__
return self._fields[key].__get__(self, type(self))
File "/home/odoo/src/odoo/15.0/odoo/fields.py", line 1106, in __get__
self.compute_value(recs)
File "/home/odoo/src/odoo/15.0/odoo/fields.py", line 1265, in compute_value
records._compute_field_value(self)
File "/home/odoo/src/odoo/15.0/odoo/models.py", line 4249, in _compute_field_value
getattr(self, field.compute)()
File "/home/odoo/src/odoo/15.0/addons/payment_transfer/models/payment_acquirer.py", line 21, in _compute_view_configuration_fields
super()._compute_view_configuration_fields()
File "/home/odoo/src/odoo/15.0/addons/payment/models/payment_acquirer.py", line 168, in _compute_view_configuration_fields
'show_cancel_msg': True,
File "/home/odoo/src/odoo/15.0/addons/payment_transfer/models/payment_acquirer.py", line 41, in write
res = super().write(values)
File "/home/odoo/src/odoo/15.0/addons/payment/models/payment_acquirer.py", line 234, in write
self._check_required_if_provider()
File "/home/odoo/src/odoo/15.0/addons/payment/models/payment_acquirer.py", line 260, in _check_required_if_provider
_("The following fields must be filled: %s", ", ".join(field_names))
odoo.exceptions.ValidationError: The following fields must be filled: Email
```
upg-40421
closes odoo/odoo#77752Fixes an issue where changing the quantity on a purchase order for a kit product could update the related receipt with incorrect component quantities. This helps ensure warehouse receipts match the revised order and prevents over- or under-receiving kit components.
Original PR description
Steps to reproduce the bug:
- Create a BOM kit for “product K” with:
- 2 * “product A”
- 1 * “product B”
- Create a PO for 1 unit of “product K” > confirm
- A receipt delivery with 2 units of “product A” and 1 unit of B will be created
- Modify the ordered Qty to 2 units of “Product K”
Problem:
The receipt delivery will not be updated correctly (4 units of product A and 3 of product B)
because the `"_prepare_stock_moves"` function computed the previous quantity wrong based on the moves quantities
since the moves are for products A and B, not product F.(do not take into account the products in kit)
Solution:
For kit products, do not calculate from the `"stock.move"`, calculate the difference between the quantity before and after the change
opw-2645719
Forward-Port-Of: #77706
Forward-Port-Of: #76965
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prWebsite header templates were adjusted to display more consistently across desktop and mobile. The changes improve menu behavior, alignment, call-to-action visibility, and selected link styling, helping visitors navigate sites more reliably.
The website editor now avoids freezing when users reduce the number of columns in a page snippet. This restores a content editing option and helps prevent disruption while updating website layouts.
Original PR description
When decreasing the number of columns through the column count snippet option, the editor entered a deadlock situation. This reverts [1] which is the cause, trying to await the UI update during a snippet removal. This commit first prevents the deadlock while waiting for a better solution to be implemented. [1]: https://github.com/odoo/odoo/commit/ab7508393376075f95d6dd5925e7f4462936d24e task-2652904 X-original-commit: ae219ec06baf0280c76ae09b1453cc1481eece30
This update fixes a test cleanup issue that caused some document-related tests to fail unpredictably. It ensures expected dropdown elements are properly recognized during cleanup, improving confidence in automated quality checks without changing user-facing behavior.
Original PR description
Since commit [1], several tests from the "documents" addon failed randomly, because there were leftovers in the DOM at the end of the tests. Those leftovers were the many2one dropdowns. Since v12, we whitelist jQuery autocomplete dropdowns in the leftover check. However, since [1], the many2one autocomplete has an additionnal className, and it thus didn't match the element in the whitelist anymore. Note that we duplicated the entry in the whitelist because we need both (there are several types of autocomplete dropdowns in the "documents" view). [1] 84715436d87bb05b421bc9ccaacda67d07571690 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
The Swedish Point of Sale localization was updated to stop using an outdated setting that no longer exists. This prevents errors and keeps the Swedish POS compliance features working correctly after recent platform changes.
Original PR description
Forward port of https://github.com/odoo/enterprise/pull/21406
This fixes a test timing issue in Documents so checks wait for the inspector to finish updating before validating results. The change helps prevent false test results and improves confidence that document selection behavior works as expected.
Original PR description
The modified test selects records and checks the update in the document inspector. It does it twice: once with a record linked to a document, and one with a record not linked to anything. In the first case, we wait for an extra tick s.t. the inspector is updated, before doing the assertions. In the second case, we don't wait, so the assertions are therefore always true (they are all "negative" assertions, i.e. "containsNone").
The Italian VAT report is needed to help Italian customers fill in their VAT report. Task id #2079462 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76767 Forward-Port-Of: odoo/odoo#75740
Original PR description
The Italian VAT report is needed to help Italian customers fill in their VAT report. Task id #2079462 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76767 Forward-Port-Of: odoo/odoo#75740
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#77626
Original PR description
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#77626
On theme switch default images of the previous theme are replaced by the one of the new theme. For website where default images come from the configurator we don't want them to be replaced by the theme's images. task-2614840 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#76489
Original PR description
On theme switch default images of the previous theme are replaced by the one of the new theme. For website where default images come from the configurator we don't want them to be replaced by the theme's images. task-2614840 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#76489
Description of the issue/feature this PR addresses: allow quick opening a record based on the message. Current behavior before PR: You have to find the right menu/view and then take over the ID stored on the message to find back the record. This is annoying, painful and errorprone Desired behavior after PR is merged: By adding a smartbutton the user can quick-navigate to the related record in a second. This allows for quickly finding and opening records which is usually handy when debug
Original PR description
Description of the issue/feature this PR addresses: allow quick opening a record based on the message. Current behavior before PR: You have to find the right menu/view and then take over the ID stored on the message to find back the record. This is annoying, painful and errorprone Desired behavior after PR is merged: By adding a smartbutton the user can quick-navigate to the related record in a second. This allows for quickly finding and opening records which is usually handy when debugging things. Sample:  -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#77675
`_deduce_sequence_number_reset` should be used on maximum one record. That function is called from `_get_sequence_format_param` in `_is_end_of_seq_chain` but that function was possibly calling it on multiple ids. https://runbot.odoo.com/runbot/build/10315612 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#77751
Original PR description
`_deduce_sequence_number_reset` should be used on maximum one record. That function is called from `_get_sequence_format_param` in `_is_end_of_seq_chain` but that function was possibly calling it on multiple ids. https://runbot.odoo.com/runbot/build/10315612 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#77751
Release notes: https://github.com/odoo/owl/releases/tag/v1.4.6 - fix: crash in component render (in rare cases) - fix: build system now target ES2017 instead of ESNext - fix: remove useless log in prod mode https://github.com/odoo/owl/releases/tag/v1.4.5 - qweb: expose translatable attributes - ci/tests: update jest/rollup - doc: clarify tutorial - doc: update readme, add nice badges Description of the issue/feature this PR addresses: Current behavior before PR: Desired
Original PR description
Release notes: https://github.com/odoo/owl/releases/tag/v1.4.6 - fix: crash in component render (in rare cases) - fix: build system now target ES2017 instead of ESNext - fix: remove useless log in prod mode https://github.com/odoo/owl/releases/tag/v1.4.5 - qweb: expose translatable attributes - ci/tests: update jest/rollup - doc: clarify tutorial - doc: update readme, add nice badges 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#77728
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#77293
Original PR description
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#77293
a design fix https://github.com/odoo/enterprise/pull/21410 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#77743
Original PR description
a design fix https://github.com/odoo/enterprise/pull/21410 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#77743
Forward-Port-Of: odoo/odoo#77484
Original PR description
Forward-Port-Of: odoo/odoo#77484
519555054a3a0e2e0b8a139518da081c4d5e80aa mitigated an issue of being able to try and download files which don't exist yet, make the fix more reliable by clearing out the field completely before only re-inserting content. Also clean up the code: * an old-style forward port created a duplicate fixprovement (a8d01cbf4ea88f894ff927a6a5424bbb58e630d0) which seems less correct as it applies conditionally * and the code is branchier than necessary, we can make it simpler by judicious
Original PR description
519555054a3a0e2e0b8a139518da081c4d5e80aa mitigated an issue of being able to try and download files which don't exist yet, make the fix more reliable by clearing out the field completely before only re-inserting content. Also clean up the code: * an old-style forward port created a duplicate fixprovement (a8d01cbf4ea88f894ff927a6a5424bbb58e630d0) which seems less correct as it applies conditionally * and the code is branchier than necessary, we can make it simpler by judiciously leveraging jquery's API Forward-Port-Of: odoo/odoo#77703 Forward-Port-Of: odoo/odoo#77603
No description available.
Using the following code: ```python var = 'SELECT name FROM account WHERE id IN {}' values = (1, 2, 3) self._cr.execute(var.format(values)) ``` It has a risky sql injection ignored before of this change And check explicitly allowed psycopg2.SQL way mapping the variables declaration Using the following sql injection cases: - https://gist.github.com/moylop260/aa306812d48f938441ca360c6f063680 And running the following command: ```bash cd odoo/addons/test_lint/tests pylint
Original PR description
Using the following code: ```python var = 'SELECT name FROM account WHERE id IN {}' values = (1, 2, 3) self._cr.execute(var.format(values)) ``` It has a risky sql injection ignored before of this…
Using the following code:
```python
var = 'SELECT name FROM account WHERE id IN {}'
values = (1, 2, 3)
self._cr.execute(var.format(values))
```
It has a risky sql injection ignored before of this change
And check explicitly allowed psycopg2.SQL way mapping the variables declaration
Using the following sql injection cases:
- https://gist.github.com/moylop260/aa306812d48f938441ca360c6f063680
And running the following command:
```bash
cd odoo/addons/test_lint/tests
pylint -d all -e sql-injection --load-plugins=_odoo_checker_sql_injection sql_injection_cases.py
```
Before this change the following output is missing:
- [sql_injection_cases.py:122:8: E8501: Possible SQL injection risk. (sql-injection)](https://gist.github.com/moylop260/aa306812d48f938441ca360c6f063680#file-sql_injection_cases-py-L122)
[FIX] sql-injection: AttributeError: 'NoneType' object has no attribute 'parent'
Using the following code:
queries = [
"SELECT id FROM res_partner",
"SELECT id FROM res_users",
]
for query in queries:
self.env.cr.execute(query)
The check sql-injection shows the following error:
- AttributeError: 'NoneType' object has no attribute 'parent'
So, Now it is validating if it is not None
cc @xmo-odoo
Forward-Port-Of: odoo/odoo#76185We want to add GS1 barcode demo data/flows. To support this, we tweak some small things: - Add GS1 2 volume rules so we can match our demo data to the existing office furniture demo theme - Make existing package types demo data company agnostic otherwise we cannot assign them in our demo (Put in Pack results in a package with no company until validation, which was making it so we couldn't choose the demo package types before validating) Task: 2623434 ENT PR: odoo/enterprise#21179 Desc
Original PR description
We want to add GS1 barcode demo data/flows. To support this, we tweak some small things: - Add GS1 2 volume rules so we can match our demo data to the existing office furniture demo theme - Make existing package types demo data company agnostic otherwise we cannot assign them in our demo (Put in Pack results in a package with no company until validation, which was making it so we couldn't choose the demo package types before validating) Task: 2623434 ENT PR: odoo/enterprise#21179 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#77183
[IMP] account: better default reconciliation models [IMP] account: reconciliation models: don't suggest too many matches in case of partial mathing - Create a statement line for partner A, amounting to 90€ - Make 5 invoices for partner A, of 10, 50, 100, 500 and 100 € - create a reconciliation model (make sure it's the only one active for testing), with >>> "invoice matching" selected >>> "payment tolerance" disabled >>> "partner should be set" enabled >>> "same currency" enabled
Original PR description
[IMP] account: better default reconciliation models [IMP] account: reconciliation models: don't suggest too many matches in case of partial mathing - Create a statement line for partner A, amounting…
[IMP] account: better default reconciliation models [IMP] account: reconciliation models: don't suggest too many matches in case of partial mathing - Create a statement line for partner A, amounting to 90€ - Make 5 invoices for partner A, of 10, 50, 100, 500 and 100 € - create a reconciliation model (make sure it's the only one active for testing), with >>> "invoice matching" selected >>> "payment tolerance" disabled >>> "partner should be set" enabled >>> "same currency" enabled >>> "auto-validate" disabled Try to reconcile your statement. The reconciliation model associates your statement line to the 5 invoices, showing a partial match of 30 for the line of 100€, as only 30€ remain after matching 10 and 50. The following lines (500 and 100) are useless in the reconciliation and confusing for the user. They shouldn't be there. After this commit, no useless line will be proposed anymore. In our example, only lines 10, 50 and 100 will be proposed. Task 2652915 Forward-Port-Of: odoo/odoo#77260
Bug ======= Since fb7b30b the "Correct" pill is displayed twice in survey results. Task-2648054 Forward-Port-Of: odoo/odoo#77620
Original PR description
Bug ======= Since fb7b30b the "Correct" pill is displayed twice in survey results. Task-2648054 Forward-Port-Of: odoo/odoo#77620
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76219
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#76219
When a payment is made, add required parameters to the landing route. This issue was introduced with 7fccbac task-2645216 Forward-Port-Of: odoo/odoo#76519
Original PR description
When a payment is made, add required parameters to the landing route. This issue was introduced with 7fccbac task-2645216 Forward-Port-Of: odoo/odoo#76519
Before this commit, when a video track ended unexpectedly, the peers were not notified that the remote track ended, which made it so that inactive video elements remained on screen. This commit fixes this issue. Forward-Port-Of: odoo/odoo#77215
Original PR description
Before this commit, when a video track ended unexpectedly, the peers were not notified that the remote track ended, which made it so that inactive video elements remained on screen. This commit fixes this issue. Forward-Port-Of: odoo/odoo#77215
In the payment_adyen module, two files of adyen are added as part of the assets_frontend bundle. That bundle is lazy loaded on the website... but those two external files, as not added within the bundle itself, were not. This commit fixes that, properly lazy loading "remaining" files out of a lazy loaded assets bundle. Forward-Port-Of: odoo/odoo#77538
Original PR description
In the payment_adyen module, two files of adyen are added as part of the assets_frontend bundle. That bundle is lazy loaded on the website... but those two external files, as not added within the bundle itself, were not. This commit fixes that, properly lazy loading "remaining" files out of a lazy loaded assets bundle. Forward-Port-Of: odoo/odoo#77538
There is multiple issue with the palette in the frontend: First, the command palette is bound to CTRL+K, which need to be bound to link creation as this is an universal keybind, as CTRL+P CTRL+F are, as any other edition app in the world does. (Link creation is not only for edit mode but also for end user, eg forum post) History: 1. Command palette was introduced with CTRL+K 2. The keybind was changed to CTRL+M to restore CTRL+K for link edition, see 8727ed27667e 3. The keybind cha
Original PR description
There is multiple issue with the palette in the frontend: First, the command palette is bound to CTRL+K, which need to be bound to link creation as this is an universal keybind, as CTRL+P CTRL+F are,…
There is multiple issue with the palette in the frontend: First, the command palette is bound to CTRL+K, which need to be bound to link creation as this is an universal keybind, as CTRL+P CTRL+F are, as any other edition app in the world does. (Link creation is not only for edit mode but also for end user, eg forum post) History: 1. Command palette was introduced with CTRL+K 2. The keybind was changed to CTRL+M to restore CTRL+K for link edition, see 8727ed27667e 3. The keybind change was reverted and command back to CTRL+K, as CTRL+M can't be used on MAC Second, the command palette do not work in the frontend, the menu are not opened when an entry is selected, and the submenu are not shown in the palette when the menu was opened before opening the palette. Lastly, the CTRL+K in frontend does not only open the command palette but it also create a link in the background of the palette being opened.. which result in very bad usability.. The one expecting a link has to deal with a palette. The one expecting a palette has had a link created without really noticing it. task-2659885 Forward-Port-Of: odoo/odoo#77608
Before this commit, the entry in `mailRtc._dataChannels` was not removed when removing a peer, which meant that `mailRtc._dataChannels` could contain old closed dataChannels. Moreover, the call to `close()` on the dataChannel was not guarded, which could lead to tracebacks. For example, if a peer was removed before creating its dataChannel (like in crashes or successive connection recovery attempts), `close()` was called on `undefined`. this commit fixes this issue. Forward-Port-Of:
Original PR description
Before this commit, the entry in `mailRtc._dataChannels` was not removed when removing a peer, which meant that `mailRtc._dataChannels` could contain old closed dataChannels. Moreover, the call to `close()` on the dataChannel was not guarded, which could lead to tracebacks. For example, if a peer was removed before creating its dataChannel (like in crashes or successive connection recovery attempts), `close()` was called on `undefined`. this commit fixes this issue. Forward-Port-Of: odoo/odoo#77681
Before this commit the progress bar options were broken because the stripe effect is achieved by a gradient in the CSS, but `SnippetOptionWidget` recognized it as a manually selected gradient, and thus applied the gradient specific handling (such as neutralizing the background-image when a color is selected). After this commit the special handling for gradients is only applied where gradients are expected to be selected manually (i.e. when the `withGradients` parameter is set). task-
Original PR description
Before this commit the progress bar options were broken because the stripe effect is achieved by a gradient in the CSS, but `SnippetOptionWidget` recognized it as a manually selected gradient, and thus applied the gradient specific handling (such as neutralizing the background-image when a color is selected). After this commit the special handling for gradients is only applied where gradients are expected to be selected manually (i.e. when the `withGradients` parameter is set). task-2662401 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#77775
When the `or` was introduced [1], the company_id was not required [2]. The required was added later somewhere between 11.0 and 12.0 [3]. Reaching the `or` condition was therefore not possible anymore. Extracted from https://github.com/odoo/odoo/pull/77308 [1]: https://github.com/odoo/odoo/blame/10.0/addons/website_sale/models/sale_order.py#L350 [2]: https://github.com/odoo/odoo/blame/10.0/addons/website/models/website.py#L165 [3]: https://github.com/odoo/odoo/commit/2a9a514551ca951db65
Original PR description
When the `or` was introduced [1], the company_id was not required [2]. The required was added later somewhere between 11.0 and 12.0 [3]. Reaching the `or` condition was therefore not possible anymore. Extracted from https://github.com/odoo/odoo/pull/77308 [1]: https://github.com/odoo/odoo/blame/10.0/addons/website_sale/models/sale_order.py#L350 [2]: https://github.com/odoo/odoo/blame/10.0/addons/website/models/website.py#L165 [3]: https://github.com/odoo/odoo/commit/2a9a514551ca951db656e139cb4d177657eb95e7 Forward-Port-Of: odoo/odoo#77781
Before this commit, we would reset the audio of a peer before setting a new one which is not necessary as the track remains the same for the whole lifetime of the transceiver (and therefore the peerConnection). Moreover, calling `pause` on the audioElement could lead to a race condition with the following `play` and lead to a traceback. Forward-Port-Of: odoo/odoo#77828
Original PR description
Before this commit, we would reset the audio of a peer before setting a new one which is not necessary as the track remains the same for the whole lifetime of the transceiver (and therefore the peerConnection). Moreover, calling `pause` on the audioElement could lead to a race condition with the following `play` and lead to a traceback. Forward-Port-Of: odoo/odoo#77828
Task: https://www.odoo.com/web#id=2486484&action=4043&model=project.task&view_type=form&cids=2&menu_id=4720 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#77587
Original PR description
Task: https://www.odoo.com/web#id=2486484&action=4043&model=project.task&view_type=form&cids=2&menu_id=4720 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#77587
## Description of the issue/feature this PR addresses: This commit aims to make the "due and deduced" taxes more consistent by assigning the "VAT due" tags to the "VAT due" repartition line. This way the tag representing the due VAT will be set on the account move line that represents the due VAT instead of the account move line that represents the deductible VAT. ## Current behavior before PR: Due VAT tags is assigned on VAT to deduce account_move_line. ## Desired behavior after
Original PR description
## Description of the issue/feature this PR addresses: This commit aims to make the "due and deduced" taxes more consistent by assigning the "VAT due" tags to the "VAT due" repartition line. This way the tag representing the due VAT will be set on the account move line that represents the due VAT instead of the account move line that represents the deductible VAT. ## Current behavior before PR: Due VAT tags is assigned on VAT to deduce account_move_line. ## Desired behavior after PR is merged: Due VAT tags is assigned to the due VAT account_move_line. task: 2658974 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#77741 Forward-Port-Of: odoo/odoo#77650
[IMP] Propagate the analytic account of a MTO triggered MO from a SO if: - SO has an analytic account set - MO does NOT have a BoM with an analytic account set [FIX] a bunch of small things: - update MO list status colors: draft = blue, in progress = yellow + make the WO status colors match (waiting = blue, in progress = yellow) - cleanup Activity in tree view (no label in tree + "Next Activity" in column selection dropdown) - make units of analytic accounting for WO = hours - mak
Original PR description
[IMP] Propagate the analytic account of a MTO triggered MO from a SO if: - SO has an analytic account set - MO does NOT have a BoM with an analytic account set [FIX] a bunch of small things: - update…
[IMP] Propagate the analytic account of a MTO triggered MO from a SO if: - SO has an analytic account set - MO does NOT have a BoM with an analytic account set [FIX] a bunch of small things: - update MO list status colors: draft = blue, in progress = yellow + make the WO status colors match (waiting = blue, in progress = yellow) - cleanup Activity in tree view (no label in tree + "Next Activity" in column selection dropdown) - make units of analytic accounting for WO = hours - make quantity for move_raw_ids products (i.e. components for MOs) always have positive analytic_account_line.unit_amount (i.e. when changing a done move's quantity + changing a quantity twice made this value negative) - make "Copy Operations" on BOM open the list view in "current" instead of "new" due to lack of hook to prevent form view (i.e. open BoM in current view) changing when clicking on lines in the new window's operations (also ends up being a better UX anyways since being able to view the operations form view is desired). Task: 2648460 Related ENT PR: https://github.com/odoo/enterprise/pull/21322 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#77537
Forward-Port-Of: odoo/odoo#77834
Original PR description
Forward-Port-Of: odoo/odoo#77834
Post a message in the channel each time a guest is added to members of the channel. Forward-Port-Of: odoo/odoo#77624
Original PR description
Post a message in the channel each time a guest is added to members of the channel. Forward-Port-Of: odoo/odoo#77624
- This replaces the name of `refund_amount` to `amount_to_refund` for a variable that was renamed elsewhere, which caused a traceback. - Adyen and authorized `_send_refund_request` now have their return, as their parent. - When a refund is initiated from Adyen, it's now easier to change the merchant reference, thus, we can't count on it anymore to get the source transaction. - Fix the automatic refund for authorize.net with the manual capture task-2634184 Forward-Port-Of: odoo/odoo#77
Original PR description
- This replaces the name of `refund_amount` to `amount_to_refund` for a variable that was renamed elsewhere, which caused a traceback. - Adyen and authorized `_send_refund_request` now have their return, as their parent. - When a refund is initiated from Adyen, it's now easier to change the merchant reference, thus, we can't count on it anymore to get the source transaction. - Fix the automatic refund for authorize.net with the manual capture task-2634184 Forward-Port-Of: odoo/odoo#77778
Forward-Port-Of: odoo/odoo#77860
Original PR description
Forward-Port-Of: odoo/odoo#77860
Sometimes the padding controls disappeared for no apparent reason. This was when going from a child element to a parent element -> following BVR's investigation, it apparently appears that the UI is not updated anymore since already visible and nothing should have to be updated since [1]. While waiting for a deeper investigation about the onFocus / ui update flows, this commit restores the padding controls another way: by simply not hiding them and showing them again at each blur / focu
Original PR description
Sometimes the padding controls disappeared for no apparent reason. This was when going from a child element to a parent element -> following BVR's investigation, it apparently appears that the UI is…
Sometimes the padding controls disappeared for no apparent reason. This was when going from a child element to a parent element -> following BVR's investigation, it apparently appears that the UI is not updated anymore since already visible and nothing should have to be updated since [1]. While waiting for a deeper investigation about the onFocus / ui update flows, this commit restores the padding controls another way: by simply not hiding them and showing them again at each blur / focus. It does not seem needed indeed... or at least I cannot find a reason why right now. Indeed, it was not the case before [2] which changed the system without any explanation. With [3], the onFocus part was later moved to updateUI since each onFocus calls are now followed by an UI update. But in this case, like before [2], it only seems needed to show or not the padding controls at option initialization. Deeper investigation and refactoring will follow. [1]: https://github.com/odoo/odoo/commit/806a8db35b5e0e6a461422f5bba7c97180c3ef29 [2]: https://github.com/odoo/odoo/commit/4f27e52cabb77b8b1a9637a11185ddf882adc9af [3]: https://github.com/odoo/odoo/commit/3be9ae5672f76f85cd747f57539e7bc2919850f8 Forward-Port-Of: odoo/odoo#77911
Prior to this PR: When grouping on m2m fields, only the first occurence of the record in the gantt view was processed. The connectors were drawn whatever the number of fields in the group by which could lead to crazy result, especially if groups were fold. After this PR: All the occurence of the task record are correctly processed. The connectors will only be created if the group_by is made of one field or less. task-2638949 Forward-Port-Of: odoo/enterprise#21362
Original PR description
Prior to this PR: When grouping on m2m fields, only the first occurence of the record in the gantt view was processed. The connectors were drawn whatever the number of fields in the group by which could lead to crazy result, especially if groups were fold. After this PR: All the occurence of the task record are correctly processed. The connectors will only be created if the group_by is made of one field or less. task-2638949 Forward-Port-Of: odoo/enterprise#21362
Enterprise part of odoo/odoo#77834 Forward-Port-Of: odoo/enterprise#21452
Original PR description
Enterprise part of odoo/odoo#77834 Forward-Port-Of: odoo/enterprise#21452
- make mrp workorder clock (in tablet view) have correct text (it's currently the opposite, saying worker isn't working when they are and vice versa). - make quality check smart button icon consistent with other smart buttons (it was using quality points icon instead) - make BoM and Product "version" (i.e. plm version) readonly Task: 2648460 Related COM PR: https://github.com/odoo/odoo/pull/77537 Forward-Port-Of: odoo/enterprise#21322
Original PR description
- make mrp workorder clock (in tablet view) have correct text (it's currently the opposite, saying worker isn't working when they are and vice versa). - make quality check smart button icon consistent with other smart buttons (it was using quality points icon instead) - make BoM and Product "version" (i.e. plm version) readonly Task: 2648460 Related COM PR: https://github.com/odoo/odoo/pull/77537 Forward-Port-Of: odoo/enterprise#21322
Since https://github.com/odoo/odoo/commit/b4487e8ea4b86205771c5b51b95afac3b6955453, the ORM allows grouping by m2m in a read_group. This feature was recently used at the frontend level in https://github.com/odoo/odoo/commit/7563b448da7a973128aa1901db5235dfb956ff74. We need to propagate this change in documents_spreadsheet since we have a different process to create the pivot cache (!== `PivotModel`). Task 2661046 Forward-Port-Of: odoo/enterprise#21392
Original PR description
Since https://github.com/odoo/odoo/commit/b4487e8ea4b86205771c5b51b95afac3b6955453, the ORM allows grouping by m2m in a read_group. This feature was recently used at the frontend level in https://github.com/odoo/odoo/commit/7563b448da7a973128aa1901db5235dfb956ff74. We need to propagate this change in documents_spreadsheet since we have a different process to create the pivot cache (!== `PivotModel`). Task 2661046 Forward-Port-Of: odoo/enterprise#21392
Task: https://www.odoo.com/web#id=2486484&action=4043&model=project.task&view_type=form&cids=2&menu_id=4720 Forward-Port-Of: odoo/enterprise#21345
Original PR description
Task: https://www.odoo.com/web#id=2486484&action=4043&model=project.task&view_type=form&cids=2&menu_id=4720 Forward-Port-Of: odoo/enterprise#21345
Task 2652915 Forward-Port-Of: odoo/enterprise#21354
Original PR description
Task 2652915 Forward-Port-Of: odoo/enterprise#21354
Let's do 2 things: 1. Add GS1 demo data. This was requested to be done as datamatrices since GS1 barcodes can be very long. Because datamatrices aren't supported by the linux "barcode" command, a Python script was created to handle the datamatrix generation as well as the combination of all the demo barcodes into the same pdf. Also, to avoid removing existing barcode flow demo data, we create new products specifically for the GS1 barcodes. 2. Update the references to
Original PR description
Let's do 2 things: 1. Add GS1 demo data. This was requested to be done as datamatrices since GS1 barcodes can be very long. Because datamatrices aren't supported by the linux "barcode" command, a Python script was created to handle the datamatrix generation as well as the combination of all the demo barcodes into the same pdf. Also, to avoid removing existing barcode flow demo data, we create new products specifically for the GS1 barcodes. 2. Update the references to activating the setting "Delivery Packages" => "Packages" since it was renamed at some point. Task: 2623434 COM PR: odoo/odoo#77183 Forward-Port-Of: odoo/enterprise#21179
some more fixes https://github.com/odoo/odoo/pull/77743 Forward-Port-Of: odoo/enterprise#21410
Original PR description
some more fixes https://github.com/odoo/odoo/pull/77743 Forward-Port-Of: odoo/enterprise#21410
…y is not set Side effect of recent commit https://github.com/odoo/enterprise/commit/5f56aa607207ecacb3cd82c16b41b2f63867d199. Based on the definition of _get_signed_amount method, journal_currency is an optional argument. Therefore, we should manage the case where this method is called without having this parameter set, and keep the existing behavior prior to this commit. opw-2634660 Forward-Port-Of: odoo/enterprise#21250
Original PR description
…y is not set Side effect of recent commit https://github.com/odoo/enterprise/commit/5f56aa607207ecacb3cd82c16b41b2f63867d199. Based on the definition of _get_signed_amount method, journal_currency is an optional argument. Therefore, we should manage the case where this method is called without having this parameter set, and keep the existing behavior prior to this commit. opw-2634660 Forward-Port-Of: odoo/enterprise#21250
This fixes indent style not covered or detected by previous test (only detected in master) Initial PR #21100 (closed and replaced by #21148 (merged in 14.0) #21265 (merged in saas-14.4) #21273 (merged in saas-14.5) #21280 (not merged and detected indent error - style, in master) Forward-Port-Of: odoo/enterprise#21335
Original PR description
This fixes indent style not covered or detected by previous test (only detected in master) Initial PR #21100 (closed and replaced by #21148 (merged in 14.0) #21265 (merged in saas-14.4) #21273 (merged in saas-14.5) #21280 (not merged and detected indent error - style, in master) Forward-Port-Of: odoo/enterprise#21335
By Sunat regulations from 01/09/2021, it incorporates the obligation to consign whether the form of payment is cash or credit. Legal ref: Website: https://cpe.sunat.gob.pe/nuevos-requisitos-para-cpe Document with the structure of the XML https://www.sunat.gob.pe/legislacion/superin/2020/anexo4-193-2020.pdf -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#20487 Forward-Port-Of: odoo/enterprise#20468
Original PR description
By Sunat regulations from 01/09/2021, it incorporates the obligation to consign whether the form of payment is cash or credit. Legal ref: Website: https://cpe.sunat.gob.pe/nuevos-requisitos-para-cpe Document with the structure of the XML https://www.sunat.gob.pe/legislacion/superin/2020/anexo4-193-2020.pdf -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#20487 Forward-Port-Of: odoo/enterprise#20468
The Italian VAT report is needed to help Italian customer fill in their VAT report. Task id #2079462 Forward-Port-Of: odoo/enterprise#20988 Forward-Port-Of: odoo/enterprise#20506
Original PR description
The Italian VAT report is needed to help Italian customer fill in their VAT report. Task id #2079462 Forward-Port-Of: odoo/enterprise#20988 Forward-Port-Of: odoo/enterprise#20506