Daily updates from Odoo
Thursday, September 5, 2024
15 changes
3 changes
Resolved issues and error corrections
Python-based tax formulas now accept product field references written in the familiar dot format, such as product.standard_price. This prevents errors when creating sales orders with custom computed taxes and keeps behavior consistent with other supported versions.
Original PR description
Only in saas-17.2 the JS style of addressing product fields is not accepted. (`product['standard_price']` is accepted, but not `product.standard_price`) ### Steps to reproduce: - Create a tax with…
Only in saas-17.2 the JS style of addressing product fields is not accepted. (`product['standard_price']` is accepted, but not `product.standard_price`) ### Steps to reproduce: - Create a tax with "Tax Computation" at "Python Code" - Enter `result = (price_unit - product.standard_price) * 1` as the formula - In Sales create a SO and add this tax - An error shows saying product dict has no field standard_price ### Cause: The code does not consider the formula can be written in JS format. Before saas-17.2 the information given to `safe_eval` was not a dictionary so it worked. Since saas-17.2 the information is in a dictionary so to access it you must use the format `dict['field']`. In saas-17.4 the code was refactored and the formula is adapted to JS and Python: if the JS format is used, it will change the formula to use Python format. (commit: https://github.com/odoo/odoo/commit/5363189842674b77d03e031896cef2e5e970fdf7) ### Solution: Change the formula to Python format each time it is used. The way to adapt the formula is the same as in saas-17.4 where the JS format is taken into account. opw-4110562
This update brings the spreadsheet component to a newer version with fixes for exporting XLSX files, pasting values in localized sheets, scrolling the bottom bar, and preventing conflicting session updates. Users should see more reliable spreadsheet behavior, especially when sharing, exporting, or working in localized environments.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/e5e2be8d3 [REL] 17.2.23 Task: 0 https://github.com/odoo/o-spreadsheet/commit/ecdc7a5ff [FIX] XLSX: Export values along…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/e5e2be8d3 [REL] 17.2.23 Task: 0 https://github.com/odoo/o-spreadsheet/commit/ecdc7a5ff [FIX] XLSX: Export values along the formula string Task: 4141855 https://github.com/odoo/o-spreadsheet/commit/8943c0aa7 [FIX] sheetview: Avoid useless cleanViewport Task: 4084860 https://github.com/odoo/o-spreadsheet/commit/bcfb09f65 [FIX] selection: avoid useless selection anchor assignation Task: 4084860 https://github.com/odoo/o-spreadsheet/commit/9695b0e9d [FIX] session: avoid concurrent updates Task: 4080148 https://github.com/odoo/o-spreadsheet/commit/6cc683a59 [FIX] bottom bar: handle horizontal scroll Task: 4129625 https://github.com/odoo/o-spreadsheet/commit/95cdcd79e [FIX] clipboard: Fix paste as value for in localized sheet Task: 4104432 Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Mehdi Rachico (mera) <mera@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
Dropdown menus now avoid unnecessary background updates when they are closed. This improves responsiveness on screens with many dropdowns, such as pivot views with many headers.
Original PR description
Have 1000 drodowns to setup. Setup one of them will trigger the event state-changed and the dropdowns already setuped will react to that event. In the end, DropdownNestingState.handleChange will be called (999 * 1000) / 2 = 499500 that means quadraticaly with the number of dropdowns. Here we avoid to trigger that event when setuping a closed dropdown. This problem was originaly observed in a pivot view with many headers.
2 changes
Resolved issues and error corrections
The delivery map view now shows only transfers that belong to the selected batch. This prevents unrelated deliveries from appearing, making route planning and batch handling clearer for users.
This update corrects several automated tests so they check the right empty values and do not overlook expected information. It helps reduce the risk of undetected issues across accounting, stock, localization, quality, and field service workflows without changing day-to-day user behavior.
10 changes
Resolved issues and error corrections
This fix resolves an issue where exporting and re-importing automation rules in Web Studio would fail due to missing required fields. Users can now successfully export automation rules from their projects and import them back without errors.
Original PR description
Steps to reproduce ================== - Install project,web_studio - Go to project - Open studio > Automations - Create a new rule - Click on the top left icon to go back to the home menu - Customizations > Export - Go back to project and delete the newly create automation - Click on the top left icon to go back to the home menu - Import > Upload the generated zip => It fails because a few required fields are missing opw-4073631
This update resolves an issue where the system would fail when trying to remove a database constraint that no longer exists. The fix adds a safety check to verify the constraint is present before attempting to remove it, preventing errors during system updates and maintenance operations.
Original PR description
Issue: An issue can arises when attempting to drop the constraint "account_move_line_check_amount_currency_balance_sign" if it does not exist. This problem was triggered since the following fix: https://github.com/odoo/enterprise/pull/67953. Fix: Ensure that the constraint exists before attempting to drop it. opw-4107760 opw-4133787 opw-4122219 Forward-Port-Of: odoo/enterprise#69191
This fix corrects a bug in the approval workflow system where higher-level approvers were being notified prematurely before all lower-level approvals were completed. Now, notifications for higher approval levels are only sent once all approvals at the previous level have been fully approved, ensuring a proper sequential approval process.
Original PR description
… entries Have a studio approvals with minimum 3 rules: - 2 on level 1 - 1 on level 2 Before this commit, if one of level 1 was refused, when approving the other one, the level 2 rule created an activity for the responsible. As we don't want a level to be notified if the lower level is not fully approved, there was a bug. After this commit, we only trigger activity notification on higher level rules if the below level has been fully approved.
This fix adds a warning message when users try to reserve a serial number that is already out of stock in a rental order. Previously, the system would allow users to select unavailable serial numbers without any notification, which could lead to fulfillment issues. Now the system alerts users when a selected lot is unavailable.
Original PR description
Steps to reproduce: ------------------- - create a storable product tracked by serial number; - create a serial number for this product; - add 1 quantity on hand for it; - create a rental order with the product; - add the created serial number in "Reserved lot"; - confirm and pickup; - create an other rental order; - add the product and the same "Reserved lot"; Issue: ------ There is no warning even if the serial number of the product is already out of stock. Solution: --------- Add a check when the `reserved_lot_ids` field is modified using an onchange method. opw-3839116
This update fixes an issue where subscription invoices were being skipped due to a pending transaction flag that wasn't being cleared after renewal. The system now properly removes this flag when an invoice is posted, ensuring subscriptions continue to be billed correctly even after renewal cycles.
Original PR description
…nvoice Before this commit, subscriptions automatic invoices are skipped when the flag pending transactions is set. it is correct to avoid double payment for the same period but there is a problem if the flag stays while the subscription has been renewed since. This commit aimes to remove that flag when an invoice is posted for this subscruption. taskid: 4107185
Fixed a crash that occurred when users tried to add conditional visibility rules to columns in grouped reports (like the Inventory Valuation report). The issue was that Studio was incorrectly trying to access fields that only exist within grouped sections, not in the main data model. This fix ensures Studio properly filters out these grouped fields when editing conditional rules.
Original PR description
Steps to reproduce
==================
- Open inventory > Reporting > Valuation
- Open studio
- Select a column
- Click on "Conditionnal" next to "Invisible", "Required" or "Readonly"
=> crash
Cause of the issue
==================
Fields declared inside a groupby node are not part of the main model
```xml
<groupby name="product_id">
<field name="cost_method" invisible="1" />
<field name="quantity_svl" invisible="1" />
<button name="action_revaluation" icon="fa-plus" title="Add Manual Valuation" type="object" invisible="cost_method == 'standard' or quantity_svl <= 0" />
</groupby>
```
opw-4147138This fix resolves an application crash that occurred when users cancelled a report discard action in Studio. Previously, the system would throw an error when clicking cancel after initiating a discard. Now the cancellation is handled properly, allowing users to safely abandon their discard action without the application crashing.
Original PR description
Steps to reproduce ================== - Open studio - Edit any report - Make some changes - Click on discard - Click on cancel => UncaughtPromiseError Cause of the issue ================== When clicking on cancel, the promise is rejected https://github.com/odoo/odoo/blob/1ffcea337ba463c383483ca53ff57aa6b725b5a2/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js#L1112 Solution ======== Instead of rejecting the promise, resolve it with the confirmation status opw-4141192
Fixed an issue where invoices from customers in Monaco were not appearing in the EC Sales List Report. Monaco is now properly recognized as part of the European Community list for companies outside of France, allowing these invoices to be correctly displayed in the report.
Original PR description
Steps to reproduce: [l10n_* nl/be/etc - Europe] - create a customer form Monaco with a valid TVA number `FR53000004605` - create an invoice with this customer with an intra-eu tax - Open the EC Sales List Report Issue: The invoice will not be displayed Cause: Monaco is not part of the list Solution: We add it if the company.country_id is not France. Because for any other european country we want Monaco's invoices to be displayed opw-4075452 Forward-Port-Of: odoo/enterprise#68560
This fix corrects a security issue where the 'New Quotation' button was visible to users without sales permissions. The button now properly checks user access rights before displaying, ensuring only authorized users can create quotations from field service tasks.
Original PR description
Versions: ----------- 15.0 Steps to Reproduce -------------- - Install industry_fsm_sale - Create a new user with these access rights. Project -> user Field Service -> user Timesheets -> User: own timesheets only - Create a new task, and assign it to the created user. - Login as user - Open the task Issue ---------- - The 'New quotation' button is visible even user has no sales access rights. Cause --------- - The user is getting access to the button from the field service group. Fix --------- - We remove the group from the button. - We only show 'New Quotation' button if user have sales access rights. task-3827319 Forward-Port-Of: odoo/enterprise#60536
This fix corrects how rental equipment returns are processed in the inventory system. Previously, a recent change to prevent double-counting returned items inadvertently affected rental returns, which are handled differently. This update ensures rental returns are properly tracked without affecting the delivered quantity calculations on sales orders.
Original PR description
In sale_stock, when making returns, we fix a bug where the delivered quantity on an SO is affected twice by returns in the case of 2-step routes, by not linking moves generated by push rules to the SO. (https://github.com/odoo/odoo/pull/178392) But in the case of `sale_stock_renting`, it is a push rule that generates the return at the end of the renting period, so we have to make an exception. opw-4129497