Thursday, June 17, 2021
17 changes · master
Enhancements to existing features
This update assigns clear ownership for framework JavaScript code reviews. It helps route future changes to the right maintainers more quickly, improving review consistency without affecting end users.
The website item snippet now uses updated sample images and no longer points users to Odoo.com by default. This makes the website builder experience cleaner and helps businesses start from more relevant visual placeholders.
Original PR description
task-2471323 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 change updates internal ownership rules so framework JavaScript-related code changes are routed to the right reviewers. It helps improve review consistency and maintainability without changing product behavior for users.
This update simplifies how taxes are handled for subscriptions by removing outdated processing and calculating tax amounts more efficiently in batches. It should improve reliability and performance behind the scenes without changing the user workflow.
Original PR description
* remove outdated map_tax arguments * compute tax amounts in batch Task-ID: 2486056
Resolved issues and error corrections
This fixes cases where Odoo ignored a requested search view and fell back to the default one. Users in affected areas should now see the intended filters and search layout more reliably.
Original PR description
Passing an id directly to `search_view_id` is not working. It is silently ignored. The framework js code expects an id/name pair, as described in the ORM doc. Most of the time, this will be unoticed as the specified search view being ignored, the default one will be used instead, which is often the same one as there is only one search view. Only 3 occurences are real misbehavior. Note that the `name` of the pair is useless, you can just pass the ID in an array. Working: 'search_view_id': [123, 'search'], 'search_view_id': [123], Not working: 'search_view_id': 123, **Technical explanation:** It will silently just ignore the value set to `search_view_id` in Javascript [here](https://github.com/odoo/odoo/blame/master/addons/web/static/src/js/chrome/action_manager_act_window.js#L424) since ```javascript const a = 123; const b = a && a[0]; // this is undefined ``` Noticed on https://github.com/odoo/odoo/pull/71826#discussion_r652720721
Code cleanup and technical improvements
The system tray user menu has been modernized to support Odoo's newer interface technology while keeping existing behavior intact. This helps make future interface improvements easier and more reliable for users.
Original PR description
PURPOSE Prepare future for OWL SPEC Convert UserMenu of Systray into OWL TASK 2329195 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
Steps to reproduce the bug: - Go to Elearning > choose any course or create a new one - Click on “add content” : - Add a title to slide - Click on "Go to Website" Problem: An error is triggered because we call the "create" method to save the slide, which tries to access the “channel_id”, the course ID in which the slide will be added. However, the field is not set in values. The "create" or "write" function in "slide_channel" must first be called to save the course, which will t
Original PR description
Steps to reproduce the bug:
- Go to Elearning > choose any course or create a new one
- Click on “add content” :
- Add a title to slide
- Click on "Go to Website"
Problem:
An error is triggered because we call the "create" method to save the slide, which tries to access the “channel_id”, the course ID in which the slide will be added. However, the field is not set in values.
The "create" or "write" function in "slide_channel" must first be called to save the course, which will then call the create function in "slide_slide"
Solution :
Hide the "Go to website" button as long as the course is not created and therefore has no id
opw-2526541
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#71739This update stabilizes an automated test for the Documents Spreadsheet area that was failing unpredictably during validation. It helps keep release checks dependable without changing user-facing behavior.
Original PR description
The test introduced in 8e3dd4f fails randomly on runbot. I couldn't reproduce it locally. This commit attempts to fix the issue. QUnit tests have run more than 100x with this commit on runbot without failing. Hopefully, it's ok now :) https://runbot.odoo.com/web/#cids=1&id=1811&model=runbot.build.error&view_type=form&menu_id=
Before this commit, the number you saw on the stat button was not always the same as the number of sale order you would see when you clicked on it. Indeed, there was a domain force on the action to only show confirmed orders, while the stat button was counting quotations too. Fixed #70911 Forward-Port-Of: odoo/odoo#71826
Original PR description
Before this commit, the number you saw on the stat button was not always the same as the number of sale order you would see when you clicked on it. Indeed, there was a domain force on the action to only show confirmed orders, while the stat button was counting quotations too. Fixed #70911 Forward-Port-Of: odoo/odoo#71826
When a serial number SN is trying to be consumed and has been unbuilt in the past, an evaluation is used to check that the # of times SN was unbuilt is equal to the # of times SN was consumed. However, it did not take into account if SN was the product of its own MO. opw:2510294 Forward-Port-Of: odoo/odoo#71684
Original PR description
When a serial number SN is trying to be consumed and has been unbuilt in the past, an evaluation is used to check that the # of times SN was unbuilt is equal to the # of times SN was consumed. However, it did not take into account if SN was the product of its own MO. opw:2510294 Forward-Port-Of: odoo/odoo#71684
Forward-Port-Of: odoo/odoo#72244 Forward-Port-Of: odoo/odoo#72237
Original PR description
Forward-Port-Of: odoo/odoo#72244 Forward-Port-Of: odoo/odoo#72237
Before this commit, the implementation of Ogone and PayU Latam's requirements regarding the transaction reference was preventing the computation of the reference prefix from being based on the related document (invoice, SO). This commit attempts to compute the reference based on the document if no reference prefix is provided, before applying the said requirements. task-2494916 Forward-Port-Of: odoo/odoo#72273
Original PR description
Before this commit, the implementation of Ogone and PayU Latam's requirements regarding the transaction reference was preventing the computation of the reference prefix from being based on the related document (invoice, SO). This commit attempts to compute the reference based on the document if no reference prefix is provided, before applying the said requirements. task-2494916 Forward-Port-Of: odoo/odoo#72273
Scenario: - Change an image option in mass mailing editor (e.g. Quality) - save - edit > The option can't get the new applied value. The body_arch's field used in mass mailing editor is sanitizing attributes and as a consequence, option related data attrs are removed on save. task-2327045 Forward-Port-Of: odoo/odoo#72008
Original PR description
Scenario: - Change an image option in mass mailing editor (e.g. Quality) - save - edit > The option can't get the new applied value. The body_arch's field used in mass mailing editor is sanitizing attributes and as a consequence, option related data attrs are removed on save. task-2327045 Forward-Port-Of: odoo/odoo#72008
Suppose a CAMT file with one entry (`<Ntry>`) that contains some details (`<NtryDtls>`). Suppose that, in details, there are several transactions details (`<TxDtls>`). When importing the file, the module detects the different transactions. However, when searching the amount for each transaction, it will first find the amount of the entry. As soon as it gets an amount, the search is stopped. This is the reason why the amount used is incorrect: it selects the entry amount instead of transact
Original PR description
Suppose a CAMT file with one entry (`<Ntry>`) that contains some details (`<NtryDtls>`). Suppose that, in details, there are several transactions details (`<TxDtls>`). When importing the file, the module detects the different transactions. However, when searching the amount for each transaction, it will first find the amount of the entry. As soon as it gets an amount, the search is stopped. This is the reason why the amount used is incorrect: it selects the entry amount instead of transaction amount. When getting an amount, this fix suggests to inverse the search order: always search from the most specific to the least specific. OPW-2512363 Forward-Port-Of: odoo/enterprise#18952
Small fixup of recent commit ad72c58524f0aeb7e08d665721faac610cfd893a4. The default case for delivery address should return the id and not the record. opw-2572311 Forward-Port-Of: odoo/enterprise#19038
Original PR description
Small fixup of recent commit ad72c58524f0aeb7e08d665721faac610cfd893a4. The default case for delivery address should return the id and not the record. opw-2572311 Forward-Port-Of: odoo/enterprise#19038
Before this commit, a draft invoice was created to compute the amount and currency of the payment transaction when renewing a subscription. The invoice was posted as soon as the transaction was confirmed and deleted if the transaction ended in a final blocking state. If the transaction reached the pending state, the invoice was indefinitely kept on hand in case the transaction was eventually confirmed. This eventuality could not be ruled out because it might have happened that the custome
Original PR description
Before this commit, a draft invoice was created to compute the amount and currency of the payment transaction when renewing a subscription. The invoice was posted as soon as the transaction was…
Before this commit, a draft invoice was created to compute the amount and currency of the payment transaction when renewing a subscription. The invoice was posted as soon as the transaction was confirmed and deleted if the transaction ended in a final blocking state. If the transaction reached the pending state, the invoice was indefinitely kept on hand in case the transaction was eventually confirmed. This eventuality could not be ruled out because it might have happened that the customer had to go through a 3DS authentication flow or that the payment was not immediately confirmed. Since commit 139dd9d, it is possible to renew a subscription by paying with a 'redirection' flow. Because this flow increases the friction of the payment process, customers are more likely to quit the flow which means that the transaction will remain in pending state forever. The combination of this change with the progressive adoption of the new PSD2 regulation (less chance of confirming the payment) leads to an increase of draft invoices never being posted, hence polluting the database. This commit makes it so that invoices created to compute the amount and currency are immediately deleted after they fulfilled their role. A new invoice is created on the fly and immediately posted only when the payment is confirmed. task-2494916 Forward-Port-Of: odoo/enterprise#19034
Task: [2571290](https://www.odoo.com/web#id=2571290&action=333&active_id=2328&model=project.task&view_type=form&cids=1&menu_id=4720) Forward-Port-Of: odoo/enterprise#19053 Forward-Port-Of: odoo/enterprise#18995
Original PR description
Task: [2571290](https://www.odoo.com/web#id=2571290&action=333&active_id=2328&model=project.task&view_type=form&cids=1&menu_id=4720) Forward-Port-Of: odoo/enterprise#19053 Forward-Port-Of: odoo/enterprise#18995