Tuesday, January 14, 2020
31 changes
Enhancements to existing features
The product variant count is now protected from manual editing. This keeps product information accurate by ensuring the count reflects actual variants rather than user-entered values.
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adjusts internal performance test benchmarks so they reflect recent efficiency changes. It helps development teams detect future performance changes intentionally, with no direct impact on day-to-day users.
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The mail discussion area now shows the number of attached files even when there are no messages yet. This helps users quickly see existing attachments and avoid missing important documents in records with empty conversations.
Original PR description
Task:https://www.odoo.com/web?#id=2149348&action=327&model=project.task&view_type=form&menu_id=4720 Pad:https://pad.odoo.com/p/r.c571cb87014d2b1905019b23189c8abb 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 refreshes expected performance measurements in automated tests for payroll, work entries, holidays, and SMS messaging. It helps keep quality checks aligned with current system behavior, reducing false alarms during development without changing end-user functionality.
Resolved issues and error corrections
This fixes an internal mail module reference to use the current company value correctly. It helps prevent errors in mail-related operations after a framework change, with minimal direct user-facing impact.
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
### Description of the issue/feature this PR addresses: The Foreign partner used in demo data was wrongly configure, it was set as "IVA Responsable Inscripto" when actually should be "Cliente / Proveedor del Exterior". After fix this in demo we updated the demo data of the vendor bills of this partner to match with the new responsibility. Also apply and improve in the way we are setting the fiscal position in the demo invoices, now qw use the onchange instead of setting the fiscal posit
Original PR description
### Description of the issue/feature this PR addresses: The Foreign partner used in demo data was wrongly configure, it was set as "IVA Responsable Inscripto" when actually should be "Cliente /…
### Description of the issue/feature this PR addresses: The Foreign partner used in demo data was wrongly configure, it was set as "IVA Responsable Inscripto" when actually should be "Cliente / Proveedor del Exterior". After fix this in demo we updated the demo data of the vendor bills of this partner to match with the new responsibility. Also apply and improve in the way we are setting the fiscal position in the demo invoices, now qw use the onchange instead of setting the fiscal position explicitly in the demo invoices (and removed commented demo data that is not used) ### Current behavior before PR: * Foreign Inc Partner has a wrong AFIP responsibility "IVA Sujeto Exento" * related demo invoice was wrong (not properly compute the taxes, etc) ### Desired behavior after PR is merged: * Foreign Inc Partner has the proper AFIP responsibility "Cliente / Proveedor del Exterior" * related demo invoice are properly created -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#42127
This update fixes issues in the web interface where certain pivot view components were not properly cleaned up and related panels did not receive expected attach or detach updates. This helps prevent lingering interface elements and keeps search and control panels behaving consistently.
Original PR description
There are two issues since d06e67e748ca9c5c538d5e1a1efc4ae798fee707: - Owl renderer was not destroyed - on_attach_callback and on_detach_callback were not called on super, so not applied to the controlPanel and searchPanel.
The sales margin labels were corrected so the existing money-based Margin field keeps its familiar name, while the percentage field is clearly labeled Margin (%). This prevents confusion for users reviewing profitability on sales orders.
Original PR description
And use "Margin (%)" for the recently added margin_percent field computing the margin in % and not in money. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix renames a delivery packaging field that could conflict with JavaScript behavior in the web interface. It helps prevent potential display or processing issues when packaging information is handled by Odoo's frontend.
Original PR description
length is a reserved attribute in JavaScript, and may cause problems when returning the object to the JS framework. This commit is to rename the field. PR #43222 Task 2152050 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 corrects how the system identifies the active company when processing TaxCloud logic for subscriptions. It helps prevent errors or incorrect behavior in multi-company environments while keeping the change limited to an internal compatibility fix.
Original PR description
…env.company
Delivery carrier package dimension fields were renamed to avoid a conflict with a reserved JavaScript property. This reduces the risk of shipping configuration or label workflows failing when delivery data is shown in the web interface.
Original PR description
length is a reserved attribute in JavaScript, and may cause problems when returning the object to the JS framework. This commit is to rename the field. PR #7686 Task 2152050
This fixes an issue where event track schedules could fail to calculate the initial date when some tracks had no date set. Business users get a more reliable Gantt schedule view for event planning.
Original PR description
Avoid issues when checking the initial date computation of tracks by removing void dates when finding their minimum. Linked to Task ID 2093336
Prevent crash if `stock_valuation_layer_ids` is an empty recordset. Note that the original issue is solved with #43017, but requires an upgrade of the module. opw-2172049 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#43276
Original PR description
Prevent crash if `stock_valuation_layer_ids` is an empty recordset. Note that the original issue is solved with #43017, but requires an upgrade of the module. opw-2172049 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#43276
The option is supposed to be supported: https://github.com/odoo/odoo/blob/3316fd49247d14dd2ab39c1267ed940feafdc664/addons/web/static/src/js/views/pivot/pivot_model.js#L363 Closes #39692 opw-2169539 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#43264 Forward-Port-Of: odoo/odoo#43255
Original PR description
The option is supposed to be supported: https://github.com/odoo/odoo/blob/3316fd49247d14dd2ab39c1267ed940feafdc664/addons/web/static/src/js/views/pivot/pivot_model.js#L363 Closes #39692 opw-2169539 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#43264 Forward-Port-Of: odoo/odoo#43255
Steps to reproduce the bug: - Install Sales - Configure Paypal payment acquier - Add extra fees such as 10€ of domestic fee - Create a customer C with an email E and with no country - Create a quotation Q of 100€ for C and send it by email to C - Go in the email box of E and click on the link - Click on 'Sign and Pay' button - Sign Q and click on 'Pay' - Choose Paypal as payment acquier - Process the payment with Paypal Bug: An error log was displayed saying: Paypal incorrec
Original PR description
Steps to reproduce the bug: - Install Sales - Configure Paypal payment acquier - Add extra fees such as 10€ of domestic fee - Create a customer C with an email E and with no country - Create a quotation Q of 100€ for C and send it by email to C - Go in the email box of E and click on the link - Click on 'Sign and Pay' button - Sign Q and click on 'Pay' - Choose Paypal as payment acquier - Process the payment with Paypal Bug: An error log was displayed saying: Paypal incorrect data: mc_gross received 100 instead of 110 PS: the domestic fee was not counted because the partner_country_id was not set in function render defined in model payment.acquirer Inspired from function create defined in model payment.transaction (addons/payment/models/payment_acquirer.py +961) where the domestic fee is counted. opw:2167104 Forward-Port-Of: odoo/odoo#43197
### Issue - Install Projects & Studio - Go into projects app - Edit a project (... => Edit) - Click on x attachments stat button You can't edit with studio ### Cause Writing the action manually instead of using the base one result with an empty xml_id (and a lot of missing data). ### Solution Use base.action_attachment like others modules do (e.g. helpdesk). **OPW-2146741** -- I confirm I have signed the CLA and read the PR guidelines
Original PR description
### Issue
- Install Projects & Studio
- Go into projects app
- Edit a project (... => Edit)
- Click on x attachments stat button
You can't edit with studio
### Cause
Writing the action manually instead of using the base one
result with an empty xml_id (and a lot of missing data).
### Solution
Use base.action_attachment like others modules do (e.g. helpdesk).
**OPW-2146741**
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#43144
Forward-Port-Of: odoo/odoo#43108Description of the issue/feature this PR addresses: order_lines_layouted() can not work due to layout_category_id no longer existing https://github.com/odoo/odoo/issues/35463 Current behavior before PR: when your old template that should be migrated calls order_lines_layouted you get an exception like this: ``` File "/opt/odoo/odoo12.e/odoo/addons/sale/models/sale.py", line 779, in <lambda> for category, lines in groupby(self.order_line, lambda l: l.layout_category_id): AttributeE
Original PR description
Description of the issue/feature this PR addresses: order_lines_layouted() can not work due to layout_category_id no longer existing https://github.com/odoo/odoo/issues/35463 Current behavior before…
Description of the issue/feature this PR addresses:
order_lines_layouted() can not work due to layout_category_id no longer existing
https://github.com/odoo/odoo/issues/35463
Current behavior before PR:
when your old template that should be migrated calls order_lines_layouted you get an exception like this:
```
File "/opt/odoo/odoo12.e/odoo/addons/sale/models/sale.py", line 779, in <lambda>
for category, lines in groupby(self.order_line, lambda l: l.layout_category_id):
AttributeError: 'sale.order.line' object has no attribute 'layout_category_id'
```
Desired behavior after PR is merged:
When migration your templates to version 12.0 you get a better error message that order_lines_layouted() does not exist instead of layout_category_id not existing. Which points the developer to the code that needs to be changed instead of the odoo core code.
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#42570
Forward-Port-Of: odoo/odoo#41521`purchase_stock` is a required dependencies because the `stock.rule` `stock_rule_drop_shipping` use `buy` as `action` [1]. However, it is added to the selection by the module `purchase_stock` [2]. [1] https://github.com/odoo/odoo/blob/c4b6273c9df5d8e3f3a5ee3cf52541741526280e/addons/stock_dropshipping/data/stock_data.xml#L32 [2] https://github.com/odoo/odoo/blob/c4b6273c9df5d8e3f3a5ee3cf52541741526280e/addons/purchase_stock/models/stock_rule.py#L14 Forward-Port-Of: odoo/odoo#43218
Original PR description
`purchase_stock` is a required dependencies because the `stock.rule` `stock_rule_drop_shipping` use `buy` as `action` [1]. However, it is added to the selection by the module `purchase_stock` [2]. [1] https://github.com/odoo/odoo/blob/c4b6273c9df5d8e3f3a5ee3cf52541741526280e/addons/stock_dropshipping/data/stock_data.xml#L32 [2] https://github.com/odoo/odoo/blob/c4b6273c9df5d8e3f3a5ee3cf52541741526280e/addons/purchase_stock/models/stock_rule.py#L14 Forward-Port-Of: odoo/odoo#43218
Purpose ======= If check company is set on a field and if the user has no access right to the field value (example: address_id on an expense sheet could be set to a private res.partner, on an onchange method when setting the employee), then the check_company mechanism will raise an AccessError when trying the validate the companies on the different records. Specification ============= As we only wish to validate the new record values and not the access rights, the validation cou
Original PR description
Purpose ======= If check company is set on a field and if the user has no access right to the field value (example: address_id on an expense sheet could be set to a private res.partner, on an onchange method when setting the employee), then the check_company mechanism will raise an AccessError when trying the validate the companies on the different records. Specification ============= As we only wish to validate the new record values and not the access rights, the validation could be done as a superuser to avoid unecessary errors. TaskID: 2170006 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#43050
### Issue - Install eCommerce - Select Zap theme - Go on a product in the shop The quantity is hidden behind the buttons The quantity height is not the same than the buttons ### Cause By default, there is a max width of 125px on the div containing the buttons and the quantity label. As this theme increase the button size, the quantity is hidden. The quantity label has `.form-control` class who override his height, so it's not using fle
Original PR description
### Issue - Install eCommerce - Select Zap theme - Go on a product in the shop The quantity is hidden behind the buttons The quantity height is not the same than the buttons ### Cause By default,…
### Issue
- Install eCommerce
- Select Zap theme
- Go on a product in the shop
The quantity is hidden behind the buttons
The quantity height is not the same than the buttons
### Cause
By default, there is a max width of 125px on the div containing
the buttons and the quantity label. As this theme increase the
button size, the quantity is hidden.
The quantity label has `.form-control` class who override
his height, so it's not using flex anymore.
More details from QSM in design-themes closed PR #199:
Bootstrap is not correct about input-group form-control height
-> bootstrap_review.scss fix for the height of input-group
form-controls
Our max-width on css_quantity is not right, it should be a
max-width on the internal input
### Solution
Restore the initial height in bootstrap_review for input-group form
control
Set the max-width only on the internal input.
**OPW-2166311**
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#43048
Forward-Port-Of: odoo/odoo#42934Forward-Port-Of: odoo/odoo#43210 Forward-Port-Of: odoo/odoo#43117
Original PR description
Forward-Port-Of: odoo/odoo#43210 Forward-Port-Of: odoo/odoo#43117
Open Employees>[DEMO]. Go to HR Settings and generate badge id Now go to POS Settings, enable "Login with Employees". Now open the session and login by scanning the [DEMO] employee badge. The badge will not be recognized, this is caused by the fact that the badge is 8 digits randomly generated, while the parser recognize cashiers only if the barcode has a prefix of 041. Fixed the badge id generation, and adapted the length to other barcodes in the system opw-2151942 -- I confir
Original PR description
Open Employees>[DEMO]. Go to HR Settings and generate badge id Now go to POS Settings, enable "Login with Employees". Now open the session and login by scanning the [DEMO] employee badge. The badge will not be recognized, this is caused by the fact that the badge is 8 digits randomly generated, while the parser recognize cashiers only if the barcode has a prefix of 041. Fixed the badge id generation, and adapted the length to other barcodes in the system opw-2151942 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#43181
Steps to reproduce: - install website and crm - install a second language and translate website - go to website > create a new page > add a form builder > create a new opportunity > add a new custom field (selection or m2m) Previous behavior: default fields and some messages are not translatable Current behavior: more fields are translatable opw-2168786 Forward-Port-Of: odoo/odoo#43213 Forward-Port-Of: odoo/odoo#43207
Original PR description
Steps to reproduce: - install website and crm - install a second language and translate website - go to website > create a new page > add a form builder > create a new opportunity > add a new custom field (selection or m2m) Previous behavior: default fields and some messages are not translatable Current behavior: more fields are translatable opw-2168786 Forward-Port-Of: odoo/odoo#43213 Forward-Port-Of: odoo/odoo#43207
Steps to reproduce: - install crm - set your computer timezone to GMT-6 (Mexico city) - go to crm > change the view to activity view Current behavior: all activities are one day off from their actual deadline (an activity set to be due on the 7th of January shows as 6 Jan on the view) Current behavior: activities are displayed properly according to their due date opw-2162579 Forward-Port-Of: odoo/odoo#43105
Original PR description
Steps to reproduce: - install crm - set your computer timezone to GMT-6 (Mexico city) - go to crm > change the view to activity view Current behavior: all activities are one day off from their actual deadline (an activity set to be due on the 7th of January shows as 6 Jan on the view) Current behavior: activities are displayed properly according to their due date opw-2162579 Forward-Port-Of: odoo/odoo#43105
Steps to reproduce: - install sales - go into debug mode - dev tools > start tour > sale_tour Previous behavior: tour would fail after creating the "Agrolait" partner. the test would not wait for the return value of the customer selection. Current behavior: the test waits for the customer to be fully selected and does not fail. opw-2091797 Forward-Port-Of: odoo/odoo#43172
Original PR description
Steps to reproduce: - install sales - go into debug mode - dev tools > start tour > sale_tour Previous behavior: tour would fail after creating the "Agrolait" partner. the test would not wait for the return value of the customer selection. Current behavior: the test waits for the customer to be fully selected and does not fail. opw-2091797 Forward-Port-Of: odoo/odoo#43172