Wednesday, February 12, 2025
13 changes · 17.0
Resolved issues and error corrections
The contributing guide now points readers to the correct pull request guidance instead of a broken page. This helps contributors find the right template and reduces confusion when submitting changes.
Original PR description
Description of the issue/feature this PR addresses: In the 'CONTRIBUTING.md' file , there is a list item with the text: > Use this **template** when reporting issues. Please search for duplicates first! The link named 'template' should point to a pull request template. Current behavior before PR: The link named 'template' is broken and give a 404 error. Desired behavior after PR is merged: The link named 'template' now target the 'Contributing' wiki page, section 'making-pull-request' that contains the desired template. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Granting portal access to a contact now reliably creates the portal user even when the system default notification setting is set to in-app messages. This avoids an error during portal user creation and ensures portal users receive notifications by email, which is the supported option for them.
Original PR description
Portal users can't have notifications handled in odoo. This commit protects from creation portal user with such setting by defaulting to email notification. Reproduce --- - i contacts,portal - add ir.default: - open setting/user - set notification to handle in odoo - bug icon -> set default -> set handling notification in odoo as default - open some contact -> gear icon -> grant portal access - BUG: ERROR: new row for relation "res_users" violates check constraint "res_users_notification_type" opw-4520104
This fixes a point of sale receipt issue where certain order details from related features could disappear unless a QR code was present. Receipts now keep the required placeholder available at all times, helping localization, payment, and restaurant receipt information display reliably.
Original PR description
Before this commit: === - The `pos-receipt-order-data` class was used as an XPath reference in multiple modules (l10n_fr_pos_cert, l10n_co_pos, pos_mercury, and pos_restaurant). - In point_of_sale, first of this class was used to add a QR code (pos_qr_code) to the receipt, but it was wrapped in a t-if="pos_qr_code" condition. - Due to this, the XPath content from other modules was only visible when pos_qr_code was present. After this commit: === - Added an empty `<div class="pos-receipt-order-data" />` outside the conditional block. - This ensures that the XPath reference is always available. task-4552477
Portal users can now update their personal information even when no country is set on their profile. This prevents an internal server error and makes account self-service more reliable for affected customers.
Original PR description
Having no country on a portal user would cause attempting to edit personal information through the portal to have an internal server error. Added a check to country_id to ensure that the country_id is a numerical value before casting to an int to avoid this internal server error. opw-4309159
## Versions: 17.0+ ## Issue: Translation of the English "Balance" word is displayed as "Balanza" in all Spanish files but should be "Balance" as well. "Balanza" meaning "Scale", the translation is sometimes right. opw-4461450
Original PR description
## Versions: 17.0+ ## Issue: Translation of the English "Balance" word is displayed as "Balanza" in all Spanish files but should be "Balance" as well. "Balanza" meaning "Scale", the translation is sometimes right. opw-4461450
Miscellaneous changes
**Issue:** When splitting an expense, all products are available to define the split expense categories.  **Expected:** The wizard should only display products related to `Expense Categories` to keep consistency with base expense creation. **Steps to reproduce:** - Activate Expense app; - Create a new expense; - *(opt) Try changing the expense category and see av
Original PR description
**Issue:** When splitting an expense, all products are available to define the split expense categories.  **Expected:** The wizard should only display products related to `Expense Categories` to keep consistency with base expense creation. **Steps to reproduce:** - Activate Expense app; - Create a new expense; - *(opt) Try changing the expense category and see available categories to compare;*  - Save and click `Split Expense`; - In the `Product` column, select a product not listed in `Expense Categories` (cf. optional step); - Split expense and see the new expenses having the normally unavailable product as category.  **Cause:** All products are retrieved by the wizard, unlike the category field of the base `hr_expense`. **Fix:** Add restrictive domain as for base `hr_expense`. https://github.com/odoo/odoo/blob/573cbe3b19e91a134ee65168b3021437a39b6093/addons/hr_expense/models/hr_expense.py#L57 <img width="1439" alt="Capture d’écran 2024-12-16 à 16 32 57" src="https://github.com/user-attachments/assets/c9fa8b43-bd7b-4ab3-8759-b4d6a0e269d6" /> opw-4357521 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#190738
The installation of the demo data of module `industry_fsm_sale` module triggered the sending of an SMS. Now, the SMS API is unavailable during module installation. Forward-Port-Of: odoo/odoo#196671
Original PR description
The installation of the demo data of module `industry_fsm_sale` module triggered the sending of an SMS. Now, the SMS API is unavailable during module installation. Forward-Port-Of: odoo/odoo#196671
https://github.com/odoo/odoo/pull/112800 added a fix to ignore planning done or cancelled workorders. However it introduced an issue where any unfinished workorders before the ignored workorder will also be ignored and cause a traceback in certain workflows. Steps to reproduce ----- 1. Create a manufacturing order, and add 2 workorders 2. Start and finish the 2nd workorder 3. Attempt to add a 3rd workorder 4. Traceback occurs ``` 'date_planned_start': min([workorder.leave_id.date_f
Original PR description
https://github.com/odoo/odoo/pull/112800 added a fix to ignore planning done or cancelled workorders. However it introduced an issue where any unfinished workorders before the ignored workorder will…
https://github.com/odoo/odoo/pull/112800 added a fix to ignore planning done or cancelled workorders. However it introduced an issue where any unfinished workorders before the ignored workorder will also be ignored and cause a traceback in certain workflows.
Steps to reproduce
-----
1. Create a manufacturing order, and add 2 workorders
2. Start and finish the 2nd workorder
3. Attempt to add a 3rd workorder
4. Traceback occurs
```
'date_planned_start': min([workorder.leave_id.date_from for workorder in workorders]),
TypeError: '<' not supported between instances of 'datetime.datetime' and 'bool'
```
Cause
-----
This early continue added in https://github.com/odoo/odoo/pull/112800 is too eager: https://github.com/odoo/odoo/blob/f19b61b640c6623aad3269d8f0e515b5480e6880/addons/mrp/models/mrp_workorder.py#L525-L526
Although the specified workorder should be ignored, it could potentially have children (`workorder.blocked_by_workorder_ids`) that need to be planned.
Solution
-----
Remove the early continue and keep running `_plan_workorder` on the done/cancelled workorder. All of its children `workorder.blocked_by_workorder_ids` will be correctly planned in the recursive call, and the done/cancelled workorder will still be correctly ignored afterwards in this existing early return:
https://github.com/odoo/odoo/blob/f19b61b640c6623aad3269d8f0e515b5480e6880/addons/mrp/models/mrp_workorder.py#L529-L531
opw-4497704
Forward-Port-Of: odoo/odoo#195910Version: 16.0 to master Browser: Firefox only Steps to Reproduce: 1. Open website in edit mode (In Desktop) 2. Open inspect element, switch to mobile view (Inspector mobile view) 3. Click burger menu to open 4. Traceback occurs Reason for Change: In Firefox, when the inspector's mobile view is used, it simulates touch events. Clicking the burger menu returns undefined, causing an error. This PR ensures that the page does not crash by handling the undefined case. task-398098
Original PR description
Version: 16.0 to master Browser: Firefox only Steps to Reproduce: 1. Open website in edit mode (In Desktop) 2. Open inspect element, switch to mobile view (Inspector mobile view) 3. Click burger menu to open 4. Traceback occurs Reason for Change: In Firefox, when the inspector's mobile view is used, it simulates touch events. Clicking the burger menu returns undefined, causing an error. This PR ensures that the page does not crash by handling the undefined case. task-3980983 Forward-Port-Of: odoo/odoo#173785
Before this commit the class `TestMockedDeliveryUSPS` used `'standard', '-external'` which is the opposite of what it was supposed to do. As a result the tests were run during normal builds, and led to errors when the tests were run without demo data. This commit also removes the reference to demo data to make the tests more robust. Runbot Errors: + https://runbot.odoo.com/odoo/action-573/114550 + https://runbot.odoo.com/odoo/action-573/114551 + https://runbot.odoo.com/odoo/action-573/1
Original PR description
Before this commit the class `TestMockedDeliveryUSPS` used `'standard', '-external'` which is the opposite of what it was supposed to do. As a result the tests were run during normal builds, and led to errors when the tests were run without demo data. This commit also removes the reference to demo data to make the tests more robust. Runbot Errors: + https://runbot.odoo.com/odoo/action-573/114550 + https://runbot.odoo.com/odoo/action-573/114551 + https://runbot.odoo.com/odoo/action-573/114552 Forward-Port-Of: odoo/enterprise#78706
steps to reproduce: - Install the module approvals_purchase - As admin user - go to approvals - create a new approval for RFQ request - attribute the approval to an user without any access rights - put yourself as the approver - submit and validate the approval - click on the button Create RFQ's - create the RFQ - logout and connect as the user without access rights - try to access your approval -> Access Error related infos: first appeared with: https://github.com/odoo/enterprise
Original PR description
steps to reproduce: - Install the module approvals_purchase - As admin user - go to approvals - create a new approval for RFQ request - attribute the approval to an user without any access rights -…
steps to reproduce: - Install the module approvals_purchase - As admin user - go to approvals - create a new approval for RFQ request - attribute the approval to an user without any access rights - put yourself as the approver - submit and validate the approval - click on the button Create RFQ's - create the RFQ - logout and connect as the user without access rights - try to access your approval -> Access Error related infos: first appeared with: https://github.com/odoo/enterprise/commit/4220723e0779287e5a8e301553e1a870cd3c4ca5 in task: 2040710 Reason: No group where set on the button 'Purchase Orders' which is used to access the RFQ from the approval this button needs a protected field to be able to be displaed properly in addition to that no default value was set if the user has no rights to read the 'purchase.order.line' model. Expected behavior: The button should not be displayed if the user has no access rights to the RFQ and thus grand access to the approval of the user FIX add a default value if the user has no read rights on the model 'purchase.order.line' ultimatly making everything related to it in the form view invisible Also add a group to it in the view to permit to remove the default value in master task-3561514 Forward-Port-Of: odoo/enterprise#78275
This PR back-ports commit f68371091b4fa6982fbdfdc550f19f60d9254d9f We only need this fix in 16.0 and 17.0, since the routing logic has been refactored in 17.2+ by https://github.com/odoo/odoo/pull/142007/ and then 6772907a14d8a3b93403676a6c5a6b89ea91a0cb fixed the back button behavior. opw-4351846 Forward-Port-Of: odoo/enterprise#77567
Original PR description
This PR back-ports commit f68371091b4fa6982fbdfdc550f19f60d9254d9f We only need this fix in 16.0 and 17.0, since the routing logic has been refactored in 17.2+ by https://github.com/odoo/odoo/pull/142007/ and then 6772907a14d8a3b93403676a6c5a6b89ea91a0cb fixed the back button behavior. opw-4351846 Forward-Port-Of: odoo/enterprise#77567
The taxonomy for the Dutch tax reports was updated from [NT18 to NT19][1]. There were only changes in the namespaces. [1]: https://www.sbr-nl.nl/sites/default/files/bestanden/taxonomie/NT19_BD_20241211%20Versioning_rpt-from_NT18_20231213_to_NT19_20241211.zip [task-4373106](https://www.odoo.com/odoo/project.task/4373106) Forward-Port-Of: odoo/enterprise#78540
Original PR description
The taxonomy for the Dutch tax reports was updated from [NT18 to NT19][1]. There were only changes in the namespaces. [1]: https://www.sbr-nl.nl/sites/default/files/bestanden/taxonomie/NT19_BD_20241211%20Versioning_rpt-from_NT18_20231213_to_NT19_20241211.zip [task-4373106](https://www.odoo.com/odoo/project.task/4373106) Forward-Port-Of: odoo/enterprise#78540