Friday, October 27, 2023
53 changes · 17.0
Enhancements to existing features
Manufacturing order component screens now use clearer wording by showing “Quantity” instead of “Reserved,” reducing confusion for users reviewing required materials. A less commonly used picked-status field is hidden by default, with added guidance available where it remains relevant in stock operations.
Original PR description
1. Rename 'Reserved' on MO components to 'Quantity' 2. Hide `picked` field on MO compoents by default 3. Add tooltip for `picked` field on sm. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The web interface now converts certain filter conditions into clearer and more reliable expressions. This helps avoid invalid expressions and makes saved or edited filters behave more consistently for users.
Original PR description
When foo is not an x2many, a condition of the form `("foo", "in", [])` was transformed by the ExpressionEditor into `"set([foo]).intersection([])"` while it can be better expressed as `"foo in []"`
In this commit, we improve the conversion of conditions of that kind and similar other conditions.
Note that we also ideally want domains and their corresponding expressions to be evaluated the same ways on records (at least on good examples). For this we want for instance, the condition `("foo", "in", 1)` to be translated into `"foo in [1]"` and not `"foo in 1"` which is an invalid Python expression.The chat window now visually highlights the header area that opens the dropdown while the menu is open. This makes the interface clearer for users by showing exactly which part of the chat window controls the displayed menu.
Original PR description
Before this commit, when the command dropdown was open by clicking on avatar/chat window header name, the clickable area was the same as the rest of chat window header. As a result, the dropdown was shown without some UI to help see the toggler that is responsible from this dropdown. This commit highlights the toggler of dropdown when it is open, so that it looks nicer when the dropdown is open as we clearly see the toggler of this dropdown. Before / After  
Portal pages across several Odoo apps now use the same “Communication history” title for their message areas. This gives customers a more consistent experience when viewing conversations on invoices, sales orders, purchases, projects, and related portal pages.
Original PR description
By this commit, all portal chatters have a same style and title as `Communication history` [Related PR](https://github.com/odoo/enterprise/pull/49566) Part of task #2828744 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The email message button label has been updated to better describe what it does: switching between original and customized formatting. This reduces confusion for users by making clear that the button changes the message appearance rather than opening or hiding an email.
Original PR description
Before this commit, when a message is of type email, the button to toggle between adjusted content style with webclient theme and the original email style was labelled "Show Original Email" and "Don't show original Email". This label is confusing, as it gives the impression that this button opens a new screen or removes a UI element. This button only alters the visual of the message, that is the style, so the label should be better worded to tell that. This commit rename the label to "Show Original/Custom Format", so that it's clearer what this button actually does. Before  After <img width="636" alt="after" src="https://github.com/odoo/odoo/assets/6569390/fdf3ed76-15a5-44f9-88af-e0be3998bb5c">
The website forum sidebar has been adjusted to better match the updated look and layout used across other website areas. This creates a more consistent browsing experience for visitors moving between forum pages and other parts of the site.
Original PR description
Since the redesign of the default theme ([odoo/120302]), `website_forum` needed to be fine-tuned in order to fit with the other website modules (eg. `website_sale`). This commit adapts the sidebar to maintain consistency with the other website modules. [odoo/120302]: https://github.com/odoo/odoo/pull/120302 task-3559011 Part of task-3097005 | Before | After | |--------|--------| |  |  | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change updates internal tests for Point of Sale accounting reports so they align with payment notifications sent to preparation displays. It helps ensure the reporting flow remains reliable as related Point of Sale preparation display behavior evolves.
Original PR description
Adapts tests to support sending to preparation display. task-id: 3568361 related: https://github.com/odoo/odoo/pull/139546
The preparation display now starts with the category filter hidden, reducing visual clutter for staff using the point of sale preparation screen. This makes the default view simpler while keeping filtering available when needed.
Original PR description
Hides preparation display category filter by default. task-id: 3572362
The POS preparation display now shows a notification badge on the mobile menu when a filter is active. This improvement helps users quickly see that filters are applied without needing to open the menu, improving visibility and user experience in the mobile view.
Original PR description
This commit adds a notification to the buger menu in mobile view when a filter is selected.
This update standardizes the appearance and naming of communication sections across multiple portal pages (helpdesk, accounting, signing, etc.) by giving them all the same title format as "Communication history." This creates a more consistent and professional user experience when customers interact with your company through the portal.
Original PR description
By this commit, all portal chatters have a same style and title as `Communication history` [Related PR](https://github.com/odoo/odoo/pull/139735) Part of task #2828744
This update refreshes the Portuguese translations for Brazil-specific features in Odoo, including tax compliance and financial reporting modules. These translation updates ensure that Brazilian users see accurate and up-to-date text in their preferred language across localized functionality.
Original PR description
Community: https://github.com/odoo/odoo/pull/139696 Forward-Port-Of: odoo/enterprise#49539
Resolved issues and error corrections
The stock scrap form no longer shows the same replenishment option twice. This reduces confusion for users processing scrap and keeps the inventory screen cleaner without changing business logic.
Original PR description
The should replenish field is duplicated twice in the view 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
Code cleanup and technical improvements
This change simplifies the Mail app by removing an internal helper that is no longer needed. It does not change user-facing behavior, but helps keep the codebase easier to maintain.
Original PR description
The method is used only once now, it can be removed.
Miscellaneous changes
This commit addresses issues related to the border-radius styling for the `buttonbox` buttons. The main goal was to ensure that the first and last buttons in the button box bar, whether directly inside the `buttonbox` or wrapped within a `<div>`, consistently receive the desired border-radius. Existing CSS rules were not consistently targeting the first and last buttons, especially when they were wrapped inside `<div>` tags, like the "Go to website" button or "more" dropdown button. I also
Original PR description
This commit addresses issues related to the border-radius styling for the `buttonbox` buttons. The main goal was to ensure that the first and last buttons in the button box bar, whether directly…
This commit addresses issues related to the border-radius styling for the `buttonbox` buttons. The main goal was to ensure that the first and last buttons in the button box bar, whether directly inside the `buttonbox` or wrapped within a `<div>`, consistently receive the desired border-radius. Existing CSS rules were not consistently targeting the first and last buttons, especially when they were wrapped inside `<div>` tags, like the "Go to website" button or "more" dropdown button. I also added a z-index-0 to the buttons inside `<div>` tags, so they can receive the correct border-color on their active state. This commit resolves this issue. <table> <tr> <td>Before <br/>(w/ active state on go to website)</td> <td><img src="https://github.com/odoo/odoo/assets/80678921/65b165bc-0050-40db-a171-0cb2fdc4ecf0"></td> </tr> <tr> <td>After <br/>(w/ active state on go to website)</td> <td><img src="https://github.com/odoo/odoo/assets/80678921/dfdf81c2-2d17-484c-8f0e-7bc4547f2d00"></td> </tr> </table> related to: https://github.com/odoo/odoo/pull/139598 (which fixes active state of all buttons except "go to website" fixed here) task-3563305 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139716
This fixes the manufacturing component list so quantity cells are colored correctly for manually consumed materials. It restores the intended visual cues, helping users spot consumption status without changing the underlying process.
Original PR description
Commit a97b352e761b421f6205b03a9b87c79358c128cd removed MrpProductionComponentsX2ManyField to use MrpProductionComponentsListRenderer for coloring quantity cells for manual consumption. Correctly extend StockMoveX2ManyField in this commit. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The stock delivery screen now keeps the forecast icon available after a delivery is saved and leaves draft status. This helps users continue checking product availability from the delivery without losing access to the forecast widget.
Original PR description
Steps to reproduce: - Create a Delivery - Put any product, some quantity and save Issue: The forecast icon disappears as soon as the picking leaves its 'draft' state. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixed an issue that could cause an error when users opened the stock move menu. The menu now uses the correct quantity information for stock moves, helping warehouse users access movement records reliably.
Original PR description
quantity_product_uom is a field on stock.move.line For stock.move, we need to use product_uom_qty. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The stock transfer validation warning was updated to match the current user interface. It removes outdated references to edit mode and uses the current “quantity” wording, making the message easier for warehouse users to understand.
Original PR description
The forms are always in edit mode, so no need to refer to the "edit mode" anymore. Also the 'done quantities' no longer exists from the user pov, there's only a 'quantity' field. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes how the Maintenance app determines the company for a maintenance request when equipment is selected. It helps ensure requests are assigned using the correct company information, reducing confusion in multi-company setups.
Original PR description
Steps to reproduce: - Create a new Maintenance Request - Set an Equipment Issue: In the compute we use `company` instead of `company_id`. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue where the quick command menu would not open after saving an email mailing. Users can now continue editing mailings smoothly without losing access to editor shortcuts.
Original PR description
**Fw-port of https://github.com/odoo/odoo/pull/138259** Steps to reproduce: - Edit a mailing (mass_mailing) - Click the save icon - Type to '/' to open the Powerbox (it does not...) The `getPowerboxElement` function fails to return the correct node because `this.options.document` is no longer the iframe document after the Wysiwyg component is re-rendered. This happens because when the Wysiwyg component has its props updated, its `options.document` is overwritten by its default option (the top document). This commit makes sure that, when the editor is mounted inside an iframe, `options.document` evaluates to the iframe's document throughout the entirety of the Wysiwyg component lifecycle. task-3548120
This fixes an issue where the inventory transfer screen could show two Validate buttons. Users now see a clearer, less confusing action area when processing stock pickings.
Original PR description
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 fixes an issue where newly created stock move lines could temporarily show the related stock move quantity as zero. The change helps keep inventory movement quantities accurate during stock operations, reducing the risk of confusing or incorrect stock information.
Original PR description
`quantity` on sm is depended on `quantity` on sml. When create new sml, `quantity` of sm will always be 0. To fix it, we use origin sm in the compute function to get correct value. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix restores the visual styling that appears when users hover over or focus on an auto-resizing input in the Mail app. It helps users better see which field is active, improving clarity during message composition and related interactions.
Original PR description
hovering and focusing style is lost. before/after:   --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The message reply preview in Mail now only reacts to clicks on the visible preview area, matching where users see the clickable cursor. This prevents accidental jumps to replied-to messages when clicking nearby empty space in a conversation.
Original PR description
Before this commit, when a message is a reply to another message, the whole row of the message reply-to was clickable to highlight the reply-to message. This is ok when the click happens on the actual reply-to message above the message, but when the content of the reply-to message is short, the click area extends to more than the "clickable" cursor show, so that click on thread view hightlights the reply-to message when it shouldn't. The `cursor-pointer` style was already correctly shown only the the actual part of the reply-to message. But the `t-on-click` was more generous and considered the whole row in the thread view. This commit fixes the issue by matching the `t-on-click` with the intentional clickable area, matching the `cursor-pointer` that was correct. Before 
This update removes repeated styling rules from the calendar and web calendar code so they are generated only once. It reduces the backend asset bundle size by about 130KB, helping pages load more efficiently without changing user-facing behavior.
Original PR description
tl;dr : it may be smaller in the SCSS file, but definitely not in the generated CSS file. Do'nt repeat want can be set once. These changes result in roughly 130KB gain in the backend bundle. Follow-up of https://github.com/odoo/odoo/pull/138670 task-3546717 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users who do not have publishing rights can now create website or eLearning records when those records are left unpublished, which is the normal default state. The change prevents unnecessary errors while still checking permissions when content is actually meant to be published.
Original PR description
Currently creating a record with 'is_published' being False (aka not published) crashes when people can't publish. However 'is_published' being False is the default value, and create should work in both cases. It now correctly checks that published records could effectively be published. This allows to remove a small workaround done in eLearning. Followup of odoo/odoo#70291 Task-3299702
Self-order receipts now display the actual payment method name instead of the generic label "Bank". This makes receipts clearer for customers and helps staff identify how an order was paid.
Original PR description
Fixes the receipt payment lines name (replacing "Bank" by the payment method name). task-id: 3572422
Guest users joining a channel through an invitation link are now correctly identified in the join message. This avoids showing misleading messages such as “public user joined the channel,” improving clarity for live chat and discussion participants.
Original PR description
Since [1], guest is added to the channel immediately instead of waiting for the guest name to be set. Since the guest is not in the context when posting je "join" message, the author of the message is the public user instead of the guest. This results in an incorrect message ("public user joined the channel") since the frontend relies on the author to set the name. This commit fixes the issue by adding the guest to the context.
Steps to reproduce:
- Go to a channel
- Copy the invitation link
- Join the channel with this link
- The message is incorrect
[1]: https://github.com/odoo/odoo/pull/138330This fix corrects how product categories appear in the self-order interface. Customers using self-order can more easily browse items by category, reducing confusion during ordering.
Original PR description
Fixes the display of categories in the self-order UI. task-id: 3572141
A test for the chart side panel in the Documents Spreadsheet module was failing after recent improvements to the domain selector component. This fix updates the test to match the same changes that were already applied to similar tests in the Pivot and List side panels, ensuring the test suite runs successfully.
Original PR description
## Task Description Since the refactor/improvement of the domain selector, there is a failling test in the chart_side_panel_test. This PR updates this tests by making the same changes that have been done in other side panels tests (PIVOT and LIST).
This update fixes automated tests for the rental product configurator feature to work with a new user interface design. The test scripts were adapted to match the updated design, ensuring that quality assurance processes continue to function properly and catch any issues with the rental product configuration feature.
Original PR description
See also: - https://github.com/odoo/odoo/pull/140096 Backport of https://github.com/odoo/enterprise/pull/49636
A recent code change accidentally removed styling from the comparison filter in deferred financial reports, causing the Apply button to appear misaligned. This fix restores the proper styling by preserving the filter container class, making the interface look consistent with other reports.
Original PR description
Following 37798579dd5755f0e7f03e4f54782b0f632a3aaa, the class `filter_comparison` was missing because the div was replaced. Therefore some CSS was missing and the Apply button was misaligned. This is fixed by replacing the `<t>` element instead of the whole `<div>` **Before:**  **After (similar to other reports)**  This is a backport of https://github.com/odoo/enterprise/pull/49633
The system has been updated to generate asset bundles more efficiently by removing unnecessary processing steps. This change simplifies the technical infrastructure and improves system performance without affecting how users interact with financial reports.
Original PR description
This is not useful anymore with companion pr odoo/odoo#131353
This update removes unnecessary code from the Point of Sale preparation display module to improve code quality and maintainability. The cleanup simplifies the codebase without changing any user-facing functionality, making the system easier to maintain and understand.
Original PR description
Remove useless code
The "Amounts to settle" button in the Vendors menu has been reorganized to split its functionality into two separate actions, improving clarity and usability. This change aligns the enterprise version with updates made to the community version, ensuring consistency across Odoo platforms.
Original PR description
Current behavior before PR: Currently, the "Amounts to settle" button in the "Vendors" drop-down menu opens a view showing all the account.move.line that are to be reconciled. --- Desired behavior after PR is merged: This commit is linked to a commit in community which splits the action responsible for this into two and therefore, the action should be renamed everywhere. --- Community: https://github.com/odoo/odoo/pull/140040 task-3572482
Previously in the button box, right borders of stats buttons in their active state were hidden/not displayed correctly. This commit addresses and resolves that issue. <table> <tr> <td>Before</td> <td><img src="https://github.com/odoo/odoo/assets/80678921/7cb2e5e5-1486-423e-b578-d48686654517"></td> </tr> <tr> <td>After</td> <td><img src="https://github.com/odoo/odoo/assets/80678921/997531dc-5761-4cdf-a0d9-42052fc1e8d0"></td> </tr> </table> task-3568551 --- I confirm I
Original PR description
Previously in the button box, right borders of stats buttons in their active state were hidden/not displayed correctly. This commit addresses and resolves that issue. <table> <tr> <td>Before</td> <td><img src="https://github.com/odoo/odoo/assets/80678921/7cb2e5e5-1486-423e-b578-d48686654517"></td> </tr> <tr> <td>After</td> <td><img src="https://github.com/odoo/odoo/assets/80678921/997531dc-5761-4cdf-a0d9-42052fc1e8d0"></td> </tr> </table> task-3568551 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139598
This PR fixes an issue about the `onboarding.variables.dark.scss` file not being taken into account inside the manifest. Since saas-16.4, there is an issue with the onboarding files. If you turn on the dark mode, the `.variables.dark` overrides are not taken into account, but instead display the light mode variables. This causes readability issue about the text being too dark. This seems to happen because the dark mode file is already loaded with the light one. task-3201038 Forward-
Original PR description
This PR fixes an issue about the `onboarding.variables.dark.scss` file not being taken into account inside the manifest. Since saas-16.4, there is an issue with the onboarding files. If you turn on the dark mode, the `.variables.dark` overrides are not taken into account, but instead display the light mode variables. This causes readability issue about the text being too dark. This seems to happen because the dark mode file is already loaded with the light one. task-3201038 Forward-Port-Of: odoo/odoo#139853
These are fixes for two similar but separate bugs. Versions: --------- - 16.0+ Bug 1: ====== Steps to reproduce: ------------------- 1. install stock & purchase; 2. in Inventory settings, enable product packaging; 3. create a packaging for a product; 4. assign the packaging to the current company; 5. switch to a different company; 6. create a purchase order with the product. Issue: ------ The packaging that gets selected automatically shouldn't be accessible to the current
Original PR description
These are fixes for two similar but separate bugs. Versions: --------- - 16.0+ Bug 1: ====== Steps to reproduce: ------------------- 1. install stock & purchase; 2. in Inventory settings, enable…
These are fixes for two similar but separate bugs. Versions: --------- - 16.0+ Bug 1: ====== Steps to reproduce: ------------------- 1. install stock & purchase; 2. in Inventory settings, enable product packaging; 3. create a packaging for a product; 4. assign the packaging to the current company; 5. switch to a different company; 6. create a purchase order with the product. Issue: ------ The packaging that gets selected automatically shouldn't be accessible to the current company (and isn't in the drop-down). Trying to save the form will return an access error. Similar issues arise in `sale_management` and `website_sale`. Cause: ------ 726179af78d6bcc3184f30fae4ae1218fd4b8c23 and ccdd113260c1a3c8e225f6d726cfe4da36a4df92 updated product packaging onchange methods to computed methods, changing the environment these fields exist in to a `sudo` one. As a consequence, it includes records that are normally inaccessible. Solution: --------- Use the follwing filter before calling `_find_suitable_packaging`: ```python lambda p: p.product_id.company_id <= p.company_id <= line.company_id ``` - if `p.product_id.company_id` is set, `p.company_id` has to be set too; - else `p.company_id` has to be `False` or equal to `line.company_id`. Bug 2: ====== Steps to reproduce: ------------------- 1. install stock; 2. in Inventory settings, enable product packagings; 3. set the company_id of a product to current company; 4. in user settings, remove access to all other companies; 5. refresh the browser; 6. from the page of the edited product, add a package; 7. try to save changes. Problem: -------- User Error pops up due to incompatible companies on records. Cause: ------ As of version 16.0, a field with the `groups="base.group_multi_company"` attribute might as well not exist outside multi-company contexts, preventing the context that automatically added a company_id to a newly created package from working properly. Solution: --------- Add an invisible field containing the `company_id` with the `groups="!base.group_multi_company"` attribute. opw-3457782 Forward-Port-Of: odoo/odoo#134694
In the 'Accounting Settings' of 'Fisical Year', When the User tries to set 'February' as a month and the 29th as a Day and Save it, It will allow the user to save but when the User opens the spreadsheet dashboard in the terminal, same error will be generated. Steps To Produce:- 1) Install the 'spreadsheet_account' module 2) Go to Settings -> Accounting 3) In the 'Fiscal Periods' of 'Fiscal Year', In 'Last Day' select 'February' month and set 29 as a Day 4) Go to the Accounting modul
Original PR description
In the 'Accounting Settings' of 'Fisical Year', When the User tries to set 'February' as a month and the 29th as a Day and Save it, It will allow the user to save but when the User opens the…
In the 'Accounting Settings' of 'Fisical Year', When the User tries to set 'February' as a month and the 29th as a Day and Save it, It will allow the user to save but when the User opens the spreadsheet dashboard in the terminal, same error will be generated.
Steps To Produce:-
1) Install the 'spreadsheet_account' module
2) Go to Settings -> Accounting
3) In the 'Fiscal Periods' of 'Fiscal Year', In 'Last Day' select
'February' month and set 29 as a Day
4) Go to the Accounting module, Customer->Invoices 5) In the 'Favorites', Select 'Insert Link in a Spreadsheet'. 6) Open Spreadsheet, Click on the 'Dashboard' Tab
The Error will be generated in Backend(Terminal)
Related Enterprise PR:- https://github.com/odoo/enterprise/pull/41992
Applying these changes will resolve this issue.
See Traceback:-
```
ValueError: day is out of range for month
File "odoo/http.py", line 2109, in __call__
response = request._serve_db()
File "odoo/http.py", line 1692, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 134, in retrying
result = func()
File "odoo/http.py", line 1719, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1916, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 154, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 709, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 28, in call_kw
return self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 24, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 457, in call_kw
result = _call_kw_model(method, model, args, kwargs)
File "odoo/api.py", line 430, in _call_kw_model
result = method(recs, *args, **kwargs)
File "addons/spreadsheet_account/models/account.py", line 111, in spreadsheet_fetch_debit_credit
domain = self._build_spreadsheet_formula_domain(args)
File "addons/spreadsheet_account/models/account.py", line 49, in _build_spreadsheet_formula_domain
start, end = self._get_date_period_boundaries(
File "addons/spreadsheet_account/models/account.py", line 27, in _get_date_period_boundaries
current = date(year, fiscal_month, fiscal_day)
```
sentry - 4079962029
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#118584Enterprise: https://github.com/odoo/enterprise/pull/49539 Forward-Port-Of: odoo/odoo#139696
Original PR description
Enterprise: https://github.com/odoo/enterprise/pull/49539 Forward-Port-Of: odoo/odoo#139696
Steps to reproduce the bug: - Enable product packing in inventory settings - Create a storable product “P1” - Update the qty with 3 package: - Pack 1: Qty 10 - Pack 2: Qty 10 - Pack 3: Qty 20 - Product category: Force Removal Strategy: Least Packages - Create a SO with 20 units of P1: - Confirm → the pack 3 will be selected - Validate the delivery - Create another SO with 10 units of P1 - Confirm → the pack 1 will be selected - V
Original PR description
Steps to reproduce the bug: - Enable product packing in inventory settings - Create a storable product “P1” - Update the qty with 3 package: - Pack 1: Qty 10 - Pack 2: Qty 10 - Pack 3: Qty 20 -…
Steps to reproduce the bug:
- Enable product packing in inventory settings
- Create a storable product “P1”
- Update the qty with 3 package:
- Pack 1: Qty 10
- Pack 2: Qty 10
- Pack 3: Qty 20
- Product category: Force Removal Strategy: Least Packages
- Create a SO with 20 units of P1:
- Confirm → the pack 3 will be selected
- Validate the delivery
- Create another SO with 10 units of P1
- Confirm → the pack 1 will be selected
- Validate the delivery
- Create a second SO with 10 units of P1
- Confirm
Problem:
A traceback will be triggered:
return len(node.taken_packages) + node.count_remaining / qty_by_package[node.next_index][1] ZeroDivisionError: float division by zero
The issue is related to modifying the “qty_by_package” while iterating
through it. When we use “del” to remove an element, it shortens the list
in real-time. So When we remove an element, the indices of subsequent
elements get shifted, causing a skip of an element. By this why the last
element isn't iterated through correctly.
In the beginning, we have this:
[(6, 15.0), (5, 10.0), (4, 0.0), (7, 0.0)]
after iteration
[(6, 15.0), (5, 10.0), (7, 0.0)]
instead of having this
[(6, 15.0), (5, 10.0)]
Opw-3570784
Forward-Port-Of: odoo/odoo#139779Before this commit, the product configurator did not handle a deleted product variant if a product variant had instantly create attribute, but was deleted from the database. Now, the product configurator will consider a combination `archived` if the product variant doesn't exist (based on its id) and its create_mode is `always`. opw-3487571 Forward-Port-Of: odoo/odoo#135522
Original PR description
Before this commit, the product configurator did not handle a deleted product variant if a product variant had instantly create attribute, but was deleted from the database. Now, the product configurator will consider a combination `archived` if the product variant doesn't exist (based on its id) and its create_mode is `always`. opw-3487571 Forward-Port-Of: odoo/odoo#135522
**Before this PR:** the scoring field was the only remaining thing in the 'Time and Scoring' Section which is read-only when `survey_type` is set to 'survey'. so there was no point of showing the whole section. **After this PR:** The 'Time and Scoring' Section will be invisible if `survey_type` is set to survey'. **Task**-3367524 Forward-Port-Of: odoo/odoo#139041
Original PR description
**Before this PR:** the scoring field was the only remaining thing in the 'Time and Scoring' Section which is read-only when `survey_type` is set to 'survey'. so there was no point of showing the whole section. **After this PR:** The 'Time and Scoring' Section will be invisible if `survey_type` is set to survey'. **Task**-3367524 Forward-Port-Of: odoo/odoo#139041
This commit fixes two bugs with the sidebar header. Steps to reproduce the 1st bug: - Go to "/shop" and edit the page. - Click on the header. - Open the header selector. - Choose the "sidebar header". - Bug: infinite loader (or traceback from V16). Steps to reproduce the 2nd bug: - Go to "/contactus" and edit the page. - Click on the header. - Change the "Header Position" option to "over the content". - Save the page. - Go to the homepage and edit the page. - Click on the he
Original PR description
This commit fixes two bugs with the sidebar header. Steps to reproduce the 1st bug: - Go to "/shop" and edit the page. - Click on the header. - Open the header selector. - Choose the "sidebar…
This commit fixes two bugs with the sidebar header. Steps to reproduce the 1st bug: - Go to "/shop" and edit the page. - Click on the header. - Open the header selector. - Choose the "sidebar header". - Bug: infinite loader (or traceback from V16). Steps to reproduce the 2nd bug: - Go to "/contactus" and edit the page. - Click on the header. - Change the "Header Position" option to "over the content". - Save the page. - Go to the homepage and edit the page. - Click on the header. - Open the header selector. - Choose the "sidebar header". - Save the page. - Go to /contactus. - Bug: the "sidebar" header is broken on the "/contactus" page. The first bug was caused by triggering the deactivation of the "Overlay" header from a location other than a website.page (in this case, the "/shop" page in the steps to reproduce). In this place, the "Overlay" header option isn't available. However, while trying to fix this, we noticed the second bug => When we activate the "sidebar" header (which is a general option for all pages), we were deactivating the "Overlay" header only on the current page (this option is specific to the page). It was done since this commit [1]. This doesn't make sense because the "Overlay" header should be deactivated on all pages, not just the current one. To address this in the simplest way, we modified the CSS so that the "Overlay" header doesn't have an impact when the sidebar header is activated. Without this change, we would have needed to add an RPC to remove the "Overlay" header on all pages, which wouldn't have been worth it. [1]: https://github.com/odoo/odoo/commit/618fd49642310c7b97ef3b9e6c01f8f691c7b12f task-3454161 Forward-Port-Of: odoo/odoo#139464 Forward-Port-Of: odoo/odoo#135196
Before this commit, a test in the "objects" test suite failed because the 2 dates generated to verify equality could potentially be created in a different millisecond, which would make the test fail. A first fix simply assumed that patching the date would suffice, but this did not solve the issue since the time advances normally even for patched dates. This fix ensures that the dates have exactly the same values (and removes the patch which was not necessary anyway). Runbot task [25596]
Original PR description
Before this commit, a test in the "objects" test suite failed because the 2 dates generated to verify equality could potentially be created in a different millisecond, which would make the test fail. A first fix simply assumed that patching the date would suffice, but this did not solve the issue since the time advances normally even for patched dates. This fix ensures that the dates have exactly the same values (and removes the patch which was not necessary anyway). Runbot task [25596](https://runbot.odoo.com/web/#id=25596&view_type=form&model=runbot.build.error&menu_id=405&cids=1) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139825
This PR adapts message tests to check pointer style on message author name and author image. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139738
Original PR description
This PR adapts message tests to check pointer style on message author name and author image. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139738
Cleanup of commit d65e03a867d0adb3bc23f9503191cc13bf992e4a Forward-Port-Of: odoo/odoo#139565
Original PR description
Cleanup of commit d65e03a867d0adb3bc23f9503191cc13bf992e4a Forward-Port-Of: odoo/odoo#139565
Steps to reproduce: - Edit a mailing (mass_mailing) - Click the save icon - Type to '/' to open the Powerbox (it does not...) The `getPowerboxElement` function fails to return the correct node because `this.options.document` is no longer the iframe document after the Wysiwyg component is re-rendered. This happens because when the Wysiwyg component has its props updated, its `options.document` is overwritten by its default option (the top document). This commit makes sure that, when the
Original PR description
Steps to reproduce: - Edit a mailing (mass_mailing) - Click the save icon - Type to '/' to open the Powerbox (it does not...) The `getPowerboxElement` function fails to return the correct node because `this.options.document` is no longer the iframe document after the Wysiwyg component is re-rendered. This happens because when the Wysiwyg component has its props updated, its `options.document` is overwritten by its default option (the top document). This commit makes sure that, when the editor is mounted inside an iframe, `options.document` evaluates to the iframe's document throughout the entirety of the Wysiwyg component lifecycle. task-3548120 Forward-Port-Of: odoo/odoo#138259
If upgrading a database across an addition of a new field to ir.module.module (which is uncommon but does happen), the field prefetching would try to load the field before the database schema had been upgraded, leading to a loading error. Since we *only* want / need the module's name, we can just disable field prefetching and ensure `mapped` will only retrieve the one field we're asking for. Forward-Port-Of: odoo/odoo#139880 Forward-Port-Of: odoo/odoo#139842
Original PR description
If upgrading a database across an addition of a new field to ir.module.module (which is uncommon but does happen), the field prefetching would try to load the field before the database schema had been upgraded, leading to a loading error. Since we *only* want / need the module's name, we can just disable field prefetching and ensure `mapped` will only retrieve the one field we're asking for. Forward-Port-Of: odoo/odoo#139880 Forward-Port-Of: odoo/odoo#139842
Enterprise: https://github.com/odoo/enterprise/pull/49687
Original PR description
Enterprise: https://github.com/odoo/enterprise/pull/49687
When ReferenceField uses an M2O field. The model is not updated along with the props when the model field is updated. Because of this, the onWillUpdateProps hook will keep trying to update its value. This results in an infinite render loop. task-3248500 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139768 Forward-Port-Of: odoo/odoo#116944
Original PR description
When ReferenceField uses an M2O field. The model is not updated along with the props when the model field is updated. Because of this, the onWillUpdateProps hook will keep trying to update its value. This results in an infinite render loop. task-3248500 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139768 Forward-Port-Of: odoo/odoo#116944
Issue: ------ Using the website editor, we can add a content block to the ribbon (using drag and drop on the product image) on the shop page of ecommerce. Solution: --------- Make the ribbon non-editable so that it will not have the `o_editable` class added via the `editableElements` function of `WysiwygAdapterComponent`. opw-3515908 Forward-Port-Of: odoo/odoo#137658
Original PR description
Issue: ------ Using the website editor, we can add a content block to the ribbon (using drag and drop on the product image) on the shop page of ecommerce. Solution: --------- Make the ribbon non-editable so that it will not have the `o_editable` class added via the `editableElements` function of `WysiwygAdapterComponent`. opw-3515908 Forward-Port-Of: odoo/odoo#137658
Community: https://github.com/odoo/odoo/pull/140002
Original PR description
Community: https://github.com/odoo/odoo/pull/140002