Thursday, June 17, 2021
23 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.
Event sponsors are now easier to create with sensible defaults, and unpublished sponsors stay hidden from website footers until ready. Sales orders with event stands also avoid showing an irrelevant registration wizard, reducing confusion for staff.
Detailed transfer operations are now shown in an order that follows the picker’s route, using source and destination locations instead of creation order. This makes picking lists easier to follow and can help warehouse staff work more efficiently with fewer unnecessary movements.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: The transfer line order has no sense for a picker (it's in the order of the creation of the line) Desired behavior after PR is merged: We want to have the line of the detailed operation in the same order as the picker will be picking the products -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
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
Belgian payroll now calculates employer social security contributions based on the number of workers during the quarter, making the amounts more accurate. These employer contributions are also included in social security certificates, improving reporting completeness for HR and payroll teams.
Resolved issues and error corrections
The website sharing snippet now sends both the page title and link when users share through WhatsApp, and it works better across desktop and mobile. Social sharing icons on event pages are also aligned more consistently, improving the appearance of event sidebars.
Original PR description
PURPOSE
1. whats-app option was not working properly in
share snippet and On click, Whats-app opens
but only sends the text without link of
shared record.
2. in the social share template Buttons aren't
centred.
SPECIFICATION
in this commit, on whats-app share button link
replace the old link (whatsapp://send?text=) with
new one (https://web.whatsapp.com/send?text=) and
in share snippet add one condition for shared record
URL. For button displayed properly centred remove the
display: inline-block property of button.
Task Id: 2557077
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prCode 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 fixes a crash that could stop certain Odoo apps, such as Website and Timesheets-related sales features, from installing in development mode. The change avoids creating invalid internal identifiers when views are linked to models with dots in their names, improving installation reliability without changing user-facing features.
Original PR description
Until now, when you create a view of type qweb with a model, we use the model
as first part to generate the key. Since this model can contains dot, it is
wrong and we got some key like ir.ui.view.gen_key_xyz
This bug has been seen with commit ee8756b31186f2f21e9b70e124f29c678cebaea7
which make the installation of website & sale_timesheet impossible in dev mode.
File /home/odoo/addons/base/models/ir_ui_view.py, line 294, in _compute_arch
arch_fs = get_view_arch_from_file(fullpath, xml_id)
File /home/odoo/addons/base/models/ir_ui_view.py, line 166, in get_view_arch_from_file
module, view_id = xmlid.split('.')
Too many values to unpack
Now we never try to make key beautiful. At first view it doesn't bring any
advantage, but only bug.
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-prThis update improves how taxes are selected when products are used across multiple companies, preventing taxes from one company from affecting documents in another. It also corrects point-of-sale amount recalculations and removes unnecessary duplicate tax filtering, helping invoices, orders, deliveries, repairs, and online sales apply the right taxes more reliably.
Original PR description
Task-ID: 2486056 Enterprise: https://github.com/odoo/enterprise/pull/18670 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
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
This 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