Daily updates from Odoo
Monday, January 5, 2026
119 changes
18 changes
Resolved issues and error corrections
This update fixes an issue where assigned values in project properties would disappear after saving. The root cause was a flaw in how the system handled data retrieval for Many2one fields, specifically related to displaying contact names. The fix ensures that property values are correctly saved and remain visible after modifications.
Original PR description
**Steps to produce:** - Install project module. - Go to project > Open any project > Open any task > Click on gear icon. - Click on Add properies > Set Field type as `Many2one` and Model as…
**Steps to produce:** - Install project module. - Go to project > Open any project > Open any task > Click on gear icon. - Click on Add properies > Set Field type as `Many2one` and Model as `Contact`. - Now assign value to Property 1 > Click on `External button` > Click on `Save & Close`. **Issue:** - The assigned value disappears after saving. **Root cause:** - At [1], since `id` is not an active field (see [2]), it is not present in record.data, which is expected. However, record.data is then passed to m2oTupleFromData, which assumes that the data includes an id because it is normally used on data coming directly from the ORM. - Additionally, since display_name is also not present, m2oTupleFromData falls back to record.data.name, which is not proper. **Solution:** - Use an ORM read to retrieve the proper display_name of the record before constructing the Many2one tuple. [1]: https://github.com/odoo-dev/odoo/blob/24ccc3faf14ade70b21bf253af16a534df726fc8/addons/web/static/src/views/fields/properties/property_value.js#L87-L89 [2]: https://github.com/odoo/odoo/blob/369ca1e5a154235e80b9ea6af7b3f10442c0939f/addons/web/static/src/model/relational_model/record.js#L793-L795 Before: <img width="589" height="68" alt="bef" src="https://github.com/user-attachments/assets/b2aeba0c-1c52-4663-9f94-5c7808a882db" /> After: <img width="613" height="81" alt="after1" src="https://github.com/user-attachments/assets/a3b3d733-929d-4a24-9e17-c73d9569e9b7" /> **opw-5257819** --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#240443 Forward-Port-Of: odoo/odoo#238052
This update fixes an issue where complex custom groupbys in reports were incorrectly formatted with excessive indentation. The change ensures reports handle more intricate domain conditions accurately, improving readability and preventing formatting problems. This enhancement was identified and resolved in the latest version of Odoo Enterprise.
Original PR description
When a custom groupby defined a domain with more than one element in it (typically, conditions on multiple fields, possibly with '|' or '&' operations), if groupby lines needed to be generated for subsequent groupby, the generated groupby lines had a too high level, and ended up being over-indented.
This was because the groupby expansion computed the number of higher-level groupby lines as the length of the domain needed to restrict their content. This was too naïve, and won't work well with custom groupbys, which can define longer (or even empty) domains.
This was spotted in master (19.1), with the refactored EC Sales list, which now uses a custom engine and a specific custom groupby map.
Forward-Port-Of: odoo/enterprise#102240This update resolves an issue where the 'Use compact format' option within Odoo charts was visually present but not functioning correctly. The fix ensures that this option now correctly controls the display of charts, improving user experience and data visualization. This change was driven by a task to address a reported bug.
Original PR description
The checkbox to toggle the `Use compact format` option in the chart side panel was present for odoo charts, but did nothing. Task: [5405064](https://www.odoo.com/web#id=5405064&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) 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#240251
This update resolves an issue where the 'Use compact format' option in the chart side panel was visually present but not working correctly. The fix ensures this setting now functions as intended, providing users with the desired chart display. This improves the overall usability of the chart feature.
Original PR description
The checkbox to toggle the `Use compact format` option in the chart side panel was present for odoo charts, but did nothing. Task: [5405064](https://www.odoo.com/web#id=5405064&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#102263
This update resolves an issue where the 'Position' column in German Sale Order reports was blank, causing formatting problems. The fix corrects a calculation error in the report template, ensuring accurate sequential numbering (1, 2, etc.) and proper table display. This improves the accuracy and readability of sales reports.
Original PR description
Before this commit, when printing a Sale Order using the German localization, the "Position" column in the PDF report was empty. Additionally, the table formatting was broken due to this missing data. This issue occurred because the index variable used to calculate the line number in the report template (QWeb) was incorrect. This commit fixes the index logic in the report template. Now, the "Position" column correctly displays sequential numbers (1, 2, etc.), and the table formatting renders correctly. ticket-5225647 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#240714 Forward-Port-Of: odoo/odoo#240243
This update resolves a rare technical issue that could occasionally cause problems when opening a parent channel within Odoo. The fix prevents a traceback error, ensuring a smoother and more reliable experience for users. This improves overall system stability.
Original PR description
This commit fixes a rare traceback that could occur when opening a parent channel from a thread that has been deleted. task-5355205 Forward-Port-Of: odoo/odoo#241266
This update fixes a visual issue where carousel navigation arrows displayed incorrectly when the website was configured for Right-to-Left languages like Arabic. The fix ensures that the arrows align correctly regardless of the website's language setting, providing a consistent user experience for all customers. This was caused by a previous change that inadvertently removed RTL-specific styling.
Original PR description
Steps to reproduce: =================== - Install an RTL language (e.g., Arabic) on the website. - Go to website & Edit mode - Drop product snippet `s_dynamic_snippet_products`. ->When the website is…
Steps to reproduce: =================== - Install an RTL language (e.g., Arabic) on the website. - Go to website & Edit mode - Drop product snippet `s_dynamic_snippet_products`. ->When the website is viewed in an RTL language, the navigation arrows in the snippet are displayed in the wrong direction. Cause: ====== A previous commit [1] applied a specific `transform` to arrows to adjust their visual style, By defining a new transformation for the snippet, the default generic transform for RTL language was overwritten. https://github.com/odoo/odoo/blob/e0a5e68e861363378ecd184711bc9356fe0376ff/addons/web/static/lib/odoo_ui_icons/style.css#L105 Consequently, the arrows lost their RTL-specific orientation. Solution: ========= The CSS has been updated to explicitly handle the RTL context. [1]: https://github.com/odoo/odoo/commit/d9ea6d1ebabf64dac434e0d2a7c2535bbfff5c71 opw-5440273 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#241541
This update removes a confusing and unnecessary warning message that appeared when setting up pricelists for event products. The warning was poorly designed and didn't provide useful information, creating a frustrating user experience. This change simplifies the process for managing pricing for events.
Original PR description
* Remove the warning shown when creating pricelist rules for event products. * The warning is noisy, not well localized, and appears for every rule, resulting in a poor user experience with little practical value for most users opw-5441138 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update to the account module's testing utilities prevents unnecessary invoice line creation during tests. This improves test stability and reduces potential errors, ensuring more reliable test results. The change focuses on optimizing the test setup process.
Original PR description
Enterprise PR: https://github.com/odoo/enterprise/pull/102632
This update corrects an issue with the padding within Gantt chart popovers, ensuring a more visually consistent and professional presentation. The change was necessary to address a design flaw identified in a previous development cycle, improving the overall user experience.
Original PR description
This commit fixes wrong padding inside gantt popovers body introduced in #101482. task-5166940
This update adjusts how preset options are displayed in the self-order mode, ensuring that available presets are shown only when appropriate. Specifically, 'Dine In' presets now appear correctly on kiosks and mobile menus when a table identifier isn't present, requiring a slight configuration change if needed.
Original PR description
*: pos_self_order, pos_online_payment_self_order Two things will change with this PR. First, before this commit, when a pos config had only one available preset (and set as default) and this preset…
*: pos_self_order, pos_online_payment_self_order Two things will change with this PR. First, before this commit, when a pos config had only one available preset (and set as default) and this preset was not available in self, this preset was used as the default one. But now, it's not the case anymore. We only use it if, and only if, it is available in self. The second thing was to fix the "Dine In" preset availability in the eating location choices. A dine-in preset is a preset which have service_at == table as attribute. If this preset (is `available_in_self`) and has `service_at === table`, we only show it when there is a table_identifier in the URL or when we are in the kiosk. In all other cases, it'll never be shown. If user wants to see this preset in the kiosk or in the mobile menu without table_identifier, user needs to change the `service_at` field at `counter` (or `delivery`) and put the product as `available in self` as well. task-id: 5190541 enterprise pr:https://github.com/odoo/enterprise/pull/103063 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#234522
This update resolves an issue where the attendance app would crash when an employee didn't have a linked calendar. The fix ensures the app handles employees with flexible attendance schedules properly, preventing errors and improving overall usability.
Original PR description
Steps to reproduce: - Create an employee - Remove the calendar to have fully flex - Open the attendance app -> traceback When an employee has no resource calendar (resource_calendar_id=False), the _gantt_unavailability method would crash with a TypeError when trying to create a ZoneInfo from calendar.tz (which is False/None). This fix adds a check to skip calendar periods where the calendar is not set, consistent with how flexible calendars are already handled. task-5462208
This pull request updates the .weblate.json files, which contain the translations for Odoo. These updates reflect the addition of new modules to the system, ensuring that all users see the application in their preferred language. This maintenance ensures accurate and consistent translations across the Odoo platform.
This update fixes an issue where the source origin of multiple moves within a picking was being duplicated, leading to inaccurate inventory tracking. The change ensures that each origin is recorded only once, improving the reliability of stock data. This resolves a reporting discrepancy identified in the Odoo system.
Original PR description
### Behavior: #### Current: During the assignment of a picking, if several of its moves have the same origin, it will repeat that origin in its own origin. #### Expected: Only have one time each…
### Behavior: #### Current: During the assignment of a picking, if several of its moves have the same origin, it will repeat that origin in its own origin. #### Expected: Only have one time each origin. ### Steps to reproduce: From Inventory * Enable two step transfer for the warehouse From Barcode * create and validate new receipts with "Product A" * create and validate a second new receipts with "Product A" and other products From Inventory/Operations/Transfers/Receipts * Open the corresponding receipts * In "source Document" (Field: origin, Model : stock.picking) we can see that the reference from second receipts is repeated. ### Observation: In the case of already existing origins it will not duplicate them but it's missing if several item comes from the same origin. https://github.com/odoo/odoo/commit/0caa44ca97d9d197811a03ad2ff227df68d4437a#diff-55c6314416a6a400da6acd5018d161a55eeeb0e3008fec8828121e3dd12be0ebR1410 opw-4970159 Forward-Port-Of: odoo/odoo#232579 Forward-Port-Of: odoo/odoo#223251
This update resolves a visual issue that occasionally appeared when using the cookies bar with a Bootstrap modal open. The fix prevents a Bootstrap setting from causing a brief UI glitch, ensuring the cookies bar displays correctly for all users. This improves the overall user experience.
Original PR description
When pressing `Escape` with a Bootstrap modal open, even if the config key `keyboard` is set to `false` (preventing escape from closing the modal), Bootstrap sets a class `modal-static` on the modal element and removes it shortly after. This causes a UI glitch in the case of the cookies bar. Stopping the event propagation prevents it from happening. task-5421993 Forward-Port-Of: odoo/odoo#241215 Forward-Port-Of: odoo/odoo#240269
This update enhances the usability of the 'Picture-in-picture' and 'Fullscreen' buttons within Odoo's discuss calls. By adding a subtle hover effect, users can now easily identify and click these buttons, improving the overall user experience. This simple change makes the application more intuitive and efficient.
Original PR description
Before this commit, when in a discuss call, the buttons "Picture-in-picture" and "Fullscreen" in the bottom right had no mouse hover effect. As these buttons are visually just icons, the lack of hover effect makes it hard to tell which button is hovered thus making the click harder than it should. This commit reduces slightly the opacity of items, so that on mouse hover the opacity is removed. This acts as a small hover effect that makes it easier to click on these buttons reliably.  Forward-Port-Of: odoo/odoo#241873
This update corrects a minor issue where the placement of the grade ID field in the partnership module was unintentionally altered. The change restores the field to its original location, ensuring data is displayed and organized correctly. This fix improves the user experience and data integrity.
Original PR description
The following commit [1] modified the position of the VAT field, which caused the grade_id field to be shifted. So this commit updates the xpath to restore grade_id to its original location. [1]: https://github.com/odoo/odoo/commit/3a56f59d466e72b3bf99f241c479cd3130173b41 task-5461569
This update corrects a technical issue that prevented the Quality IoT module from functioning correctly when installed alongside the MRP Workorder module. The fix involves relocating a component to ensure proper dependency management, resolving a JavaScript error related to missing module definitions.
Original PR description
### Issue: The QualityCheck component is defined in the `mrp_workorder` module:…
### Issue: The QualityCheck component is defined in the `mrp_workorder` module: https://github.com/odoo/enterprise/blob/7c64908258d5a0fb9adecd6dd2760e255e46314b/mrp_workorder/static/src/mrp_display/mrp_record_line/quality_check.js#L7 which is not a dependency (even indirectly) of the `quality_iot` module. Hence, if you install the `quality_iot` and enable debug mode, you will raise a JS [error](https://github.com/odoo/odoo/blob/a1583d0564552007a3d5f12d967c2c0036e05e44/addons/web/static/src/module_loader.js#L164-L169) because of missing dependencies: > The following modules are needed by other modules but have not been defined, they may not be present in the correct asset bundle. This happens because commit a13e38006d3cba6cab4565de2b014d294d2c0af3 added a patch of the QualityCheck component in the `quality_iot` https://github.com/odoo/enterprise/blob/eda93203ec8da207768357ae91132a49881a2978/quality_iot/static/src/mrp_display/quality_check.js#L4 https://github.com/odoo/enterprise/blob/eda93203ec8da207768357ae91132a49881a2978/quality_iot/static/src/mrp_display/quality_check.js#L17 opw-5353986 Forward-Port-Of: odoo/enterprise#100899
13 changes
Resolved issues and error corrections
This update resolves a technical issue that prevented accurate reporting of invoice reconciliation data when multiple bank transactions were used. The fix ensures that the system correctly handles invoices reconciled with multiple bank statements, preventing a 'ValueError' that previously disrupted reporting. This improves the reliability of financial reporting within the Odoo Enterprise system.
Original PR description
### Issue description: The `_compute_full_amount_switch_html` method assumes that `reconciled_lines_excluding_exchange_diff_ids` contains at most one line (which is true only for move lines of bank statement lines). However, if an invoice is reconciled with multiple bank transactions, when accessing the `full_amount_switch_html` for any move line in the invoice, it triggers `ValueError: Expected singleton`, as the compute method uses the reconciled_lines as if they are a single line. ### Steps to reproduce: 1. Create an invoice 2. Reconcile the invoice with multiple bank transactions. 3. Perform a read on the `full_amount_switch_html` field on the invoice line from the invoice (using the web tool, or add the field to any view). 4. You will get `ValueError: Expected singleton: account.move(XX, XX)` opw-5224135 Forward-Port-Of: odoo/enterprise#102048
This update fixes an issue where customer information was incorrectly displayed as the author of refund transaction messages. The change ensures the logged-in user, who initiated the refund, is accurately identified, improving transaction clarity and reporting. This resolves a potential confusion regarding payment responsibility.
Original PR description
Currently, the customer, who did not perform the operation, is set as the author of the refund, capture, and void transaction messages. **Steps to reproduce:** - Install the `sale_management` module…
Currently, the customer, who did not perform the operation, is set as the author of the refund, capture, and void transaction messages. **Steps to reproduce:** - Install the `sale_management` module and enable the `demo` payment provider. - Create a new quotation and from the `gear` icon, select `Mark Quotation as Sent`. - From the `gear` icon, choose `Generate a Payment Link`, and copy the link. - Open the link in an incognito window, and complete the payment. - Return to the original tab and open the payment transaction from the chatter. - Click `Refund` > `Refund` and observe the `author` of the messages in the chatter. **Observation:** The refund messages entry shows the customer as the author instead of the logged-in user who executed the refund. **Root Cause:** At [1] and [2], when the logged-in user is not a superuser, the code assigns the customer (`self.partner_id`) as the author, even during `refund`, `capture`, and `void transactions`, resulting in an incorrect message author. **Fix:** This commit ensures that during refund, capture, and void transactions, the message author is set to the logged-in user instead of the customer. [1]: https://github.com/odoo/odoo/blob/bbf3bd7b0e1d3e015350f9c959fad056384e2318/addons/account_payment/models/payment_transaction.py#L223 [2]: https://github.com/odoo/odoo/blob/5cf325dfff1ffbc1c4b4d0bcfc44ac9f55ea7c51/addons/sale/models/payment_transaction.py#L110 **Before:** <img width="1910" height="624" alt="5379376_before" src="https://github.com/user-attachments/assets/decdd620-d741-488e-9dec-e5c8c9bafc48" /> **After:** <img width="1917" height="622" alt="5379376_after" src="https://github.com/user-attachments/assets/5f38f3c3-fd2c-489e-afc9-d7a356fde23a" /> opw-5379376 Forward-Port-Of: odoo/odoo#241923 Forward-Port-Of: odoo/odoo#239224
This update resolves a minor visual glitch that occasionally appeared when using a Bootstrap modal while the cookies bar was open. The fix prevents a conflict between Bootstrap's styling and the cookies bar's functionality, ensuring a consistent user experience. This improves the overall appearance and reliability of the website.
Original PR description
When pressing `Escape` with a Bootstrap modal open, even if the config key `keyboard` is set to `false` (preventing escape from closing the modal), Bootstrap sets a class `modal-static` on the modal element and removes it shortly after. This causes a UI glitch in the case of the cookies bar. Stopping the event propagation prevents it from happening. task-5421993 Forward-Port-Of: odoo/odoo#240269
This update resolves a technical issue in the Website Builder where adding shapes to certain images caused a runtime error. The fix hides the shape option for incompatible images, ensuring a smoother user experience and preventing unexpected errors. This improves stability and reliability for users.
Original PR description
Applying a shape to an image without a corresponding record triggers a runtime error. Since such images are not compatible with shapes, this commit hides the shape option for them, preventing the error. Steps to reproduce: 1. Enter edit mode in Website Builder. 2. Add the `s_attributes_vertical` snippet. 3. Add a shape to any of its images. 4. Observe the runtime error.
This update fixes a usability issue within Odoo's Kanban views. Previously, items within the dropdown menus of Kanban cards weren't easily navigable or highlighted on hover. This change adds navigation and hover styling to these dropdown items, improving the user experience and making it easier to select options from Kanban cards.
Original PR description
Issue:
Dropdown item-ish (such as `<a class="dropdown-item">` and ViewButton) inside kanban cards dropdown do not have the proper hover styling and are not navigable.
Steps to reproduce:
- Go to project -> open any card dropdown menu ("...") -> Items are not navigable
- Go to CRM -> open any card dropdown menu ("...") -> Items are not highlighted on hover
Fix:
This commit adds the "o-navigable" class to dropdown items and view buttons
which are inside a kanban card's dropdown menu, this makes them navigable
and adds proper hover and focus styling.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#240090This update fixes a bug where unit of measure calculations were incorrectly using a default decimal precision instead of the configured uom rounding. This change ensures that all unit calculations align with the current uom settings, mirroring the behavior of the currency module, and preventing unexpected discrepancies in pricing and inventory.
Original PR description
New uom utils introduced by 66c1fe203f7952fbf4b4c4110ebe002c0b7d15bf were wrongly using the 'Product Unit' decimal precision rounding instead of the uom rounding. This introduced an unexpected behavioral change in the codebase since all existing callsites to float_round, float_compare, float_is_zero with uom roundings were replaced to use those new utils, despite disregarding the uom configuration. This commit fixes the issue and enforces the same behavior for those util methods as for the `res.currency` model, which was the expected objective from the start. opw-5418709 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
A test related to course reviews within the website slides feature was failing when run without the standard demo data. This was due to a missing email address for a key user account. The fix ensures this user has an email, allowing the test to pass and ensuring consistent functionality across versions.
Original PR description
We fix the tour test_course_reviews_elearning_admin that was failing when running it without demo data because user admin was posting a message on a channel without an email set on its partner. The same test works in version 18.0 and not in 18.2 because since 18.1, user admin no longer have an email by default (unless the demo data are installed, see odoo/odoo#185809). To fix the test, we just set an email on the partner of user admin before posting the message. Task-5418242 Forward-Port-Of: odoo/odoo#240070
This update resolves a sporadic test failure related to how partner suggestions are sorted. The fix ensures the test accurately reflects the system's behavior by waiting for the necessary data updates before verification. This improves the reliability of our testing process.
Original PR description
Before this commit, the test "Sort partner suggestions by recent chats" fails non-deterministically due to a race condition. This failure occurs because the test relies on the `last_interest_dt` timestamp being updated after sending a message to "User 2". Although the message post triggers a bus notification to update the store, the UI displays the message optimistically. As a result, the assertion for the message's existence occasionally passes before the bus notification was processed, leaving the sorting logic to run with stale data (where "User 2" was still ranked behind "User 3"). This commit fixes the issue by waiting for the sidebar to reorder "User 2" to the top. Since the sidebar ordering relies on the same server data (last_interest_dt) as the suggestion sorting, this ensures the store has processed the bus event before the test verifies the suggestion order. runbot-237553 Forward-Port-Of: odoo/odoo#241619
This update fixes an issue where invoices generated through account_edi_ubl_cii were incorrectly including 'Invoice address' in the partner name within the XML format. The change ensures the commercial partner's name is used, aligning with standard Odoo XML generation and improving data accuracy for invoicing.
Original PR description
The dict-to-xml helpers were still using `partner.display_name` which includes the 'Invoice address' suffix. Changed to use `partner.commercial_partner_id.display_name` when partner name is not available, to match the fix in https://github.com/odoo/odoo/pull/232819 for the standard XML generation. task-4614564 Forward-Port-Of: odoo/odoo#241956 Forward-Port-Of: odoo/odoo#241250
This update fixes an issue where the text highlight color on the website didn't automatically update when the overall theme colors were changed. The fix ensures that the highlight color now dynamically adapts to any new theme settings, providing a consistent and visually appealing user experience. This improves brand consistency and simplifies theme management.
Original PR description
Steps to reproduce: 1. Go to the theme tab and change the colors of the main preset. 2. Select any text in the footer. 3. Expand the toolbar and click the highlight option. Issue: The highlight…
Steps to reproduce: 1. Go to the theme tab and change the colors of the main preset. 2. Select any text in the footer. 3. Expand the toolbar and click the highlight option. Issue: The highlight selector still uses the default purple color instead of adapting to the updated theme preset. This happens because the text highlight color uses "--o-color-1", which does not update when the theme colors are modified. Fix: Used "var(--hb-cp-o-color-1)" as the default text highlight color instead of "--o-color-1", ensuring the highlight automatically adapts to theme changes. Before This Fix: | highlight selector color before changing theme preset | highlight selector color after changing theme preset | |-----------------------------|---------------------------------| | <img width="450" height="404" alt="image" src="https://github.com/user-attachments/assets/c92eed7e-1856-4e08-879a-a74e2506ab9c" /> | <img width="399" height="389" alt="image" src="https://github.com/user-attachments/assets/9a938e80-9e01-49fd-b6a1-cf9baaa64358" /> | After This Fix: | highlight selector color before changing theme preset | highlight selector color after changing theme preset | |-----------------------------|---------------------------------| | <img width="394" height="413" alt="image" src="https://github.com/user-attachments/assets/674958bc-7df7-44fa-97c0-5ae78608dc6a" /> | <img width="408" height="428" alt="image" src="https://github.com/user-attachments/assets/1d48ca49-7d18-4681-8443-b9887eef0dbf" /> | task-5375414 Co-author: Alay Patel <alap@odoo.com>
This update resolves a warning related to employee compensation calculations within the US payroll module. A recent refactor required adding a 'not' operator to accurately identify employees without worker compensation, ensuring correct reporting and compliance. This change was implemented as a fix before the broader update in the master branch.
Original PR description
> note: to be fw'd till 19.0 (will be fixed in master by https://github.com/odoo/enterprise/pull/99256) description: following the refactor (https://github.com/odoo/enterprise/pull/83136), the warning (`hr_payroll_dashboard_warning_employee_wa_without_worker_compensation`) has been altered. fix: this commit adds back `not` to compute the `employees_without_worker_compensation` accurately. :) task-5407490
This update fixes a visual issue in Odoo's Chatter where attachments and emoji reactions appeared too close together, creating a cluttered look. The change adds spacing to improve readability and maintain a consistent layout for all message types, ensuring a cleaner user experience.
Original PR description
**Description of the issue/feature this PR addresses:** ---------------------------------------------- In version 19, when a message in the Chatter includes an attachment and an emoji reaction is…
**Description of the issue/feature this PR addresses:** ---------------------------------------------- In version 19, when a message in the Chatter includes an attachment and an emoji reaction is added, both elements appear visually too close to each other. This overlap creates a cluttered look and reduces readability in the message view. **Current behavior before PR:** ---------------------------------------------- - Emoji reactions and attachment previews are rendered too close together. - Negative or insufficient top margin on the reactions container causes overlap. - Visual inconsistency between text-only messages and messages with attachments. **Desired behavior after PR is merged:** ---------------------------------------------- - Proper spacing between attachments and emoji reactions in the Chatter. - Consistent, clean layout across all message types. - Improved readability without affecting compactness for text-only messages. Task-5259482 ---------------------------------------------- I confirm I have signed the CLA and read the PR guidelines at https://www.odoo.com/submit-pr
This update corrects a display inconsistency in loyalty rewards, preventing users from incorrectly associating discount products with promotions. The technical field used for this display was removed to simplify the system and address a previous workaround for an accounting issue. This change ensures accurate discount descriptions are shown to customers.
Original PR description
### Issue: Due to this issue, users can change the technical field `discount product` which cause inconsistency in discount description. #### To reproduce: 1- Create a promotion called `AAA`: -…
### Issue: Due to this issue, users can change the technical field `discount product` which cause inconsistency in discount description. #### To reproduce: 1- Create a promotion called `AAA`: - Rules: If minimum 50.0 spent grant 1 point per order - Rewards: 10% discount per order in exchange of 1 point 2- Using debug mode, in promotion's reward view, change the `Description on order` to `AAA 10%`. Save the promotion and you can see the `Discount product`'s name is set to the same description. 3- Create another promotion called `BBB`: - Rules: If minimum 50.0 spent grant 1 point per order - Rewards: 10% discount per order in exchange of 1000 points. 4- In promotion reward's view change the `Discount product` to `AAA 10%` which is promotion `AAA`'s discount product. 5- Change the `Description on order` to `BBB 10%` and save. 6- You can see the name of `Discount product` is changed as well. 7- In promotion `AAA` and you can see the description and the name of `Discount product` mismatch. 8- Navigate to shop, and add a product to cart with a price of more than 50. 9. You can see after applying promotion `AAA` the description from promotion `BBB` is shown. ### Cause: The technical field `Discount product` is never meant to be changed, and this field is introduced for reporting purposes and showing the discount applied in cart. However, this field is added to view in #132857. This is done as a hack to find the `Discount product` created for the promotion, as a workaround for an accounting issue due to adding account to `Discount product`, and originally `discount_line_product_id` was not supposed to be shown or changed through form. After discussion with PO, we decided this field should be removed from the view. Also removing this field will not undo the main fix of #132857, and that workaround was introduced only to find the `Discount product` for that specific client's use case. However, in stable, it is kept for customization compatibility. It's set invisible in order to prevent the issue. opw-5229633 Forward-Port-Of: odoo/odoo#240684
7 changes
Resolved issues and error corrections
This update corrects a minor issue in how invoice XML documents are created. Previously, the XML included an unnecessary 'Invoice address' suffix in the partner name. This change ensures the XML accurately reflects the commercial partner's name, aligning with standard Odoo practices and improving data consistency.
Original PR description
The dict-to-xml helpers were still using `partner.display_name` which includes the 'Invoice address' suffix. Changed to use `partner.commercial_partner_id.display_name` when partner name is not available, to match the fix in https://github.com/odoo/odoo/pull/232819 for the standard XML generation. task-4614564 Forward-Port-Of: odoo/odoo#241878 Forward-Port-Of: odoo/odoo#241250
This update resolves a minor visual glitch that occasionally appeared when using a Bootstrap modal while the cookies bar was open. The fix prevents a conflict between Bootstrap and the cookies bar's configuration, ensuring a consistent and stable user experience. This improves the overall appearance and functionality of the website.
Original PR description
When pressing `Escape` with a Bootstrap modal open, even if the config key `keyboard` is set to `false` (preventing escape from closing the modal), Bootstrap sets a class `modal-static` on the modal element and removes it shortly after. This causes a UI glitch in the case of the cookies bar. Stopping the event propagation prevents it from happening. task-5421993 Forward-Port-Of: odoo/odoo#240269
This update fixes an issue where items within Kanban card dropdown menus weren't easily navigable or highlighted on hover. The team added a styling class to these items, ensuring they function correctly and provide a better user experience when selecting options from Kanban views.
Original PR description
Issue:
Dropdown item-ish (such as `<a class="dropdown-item">` and ViewButton) inside kanban cards dropdown do not have the proper hover styling and are not navigable.
Steps to reproduce:
- Go to project -> open any card dropdown menu ("...") -> Items are not navigable
- Go to CRM -> open any card dropdown menu ("...") -> Items are not highlighted on hover
Fix:
This commit adds the "o-navigable" class to dropdown items and view buttons
which are inside a kanban card's dropdown menu, this makes them navigable
and adds proper hover and focus styling.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#240090This update fixes a rounding issue that was causing inaccurate remaining time displays on Sales Orders, specifically when tracking service hours. The change ensures that time overages are calculated precisely without the accumulation of floating-point errors, leading to more reliable reporting. This improves the accuracy of time tracking for service-based sales.
Original PR description
Steps to reproduce: - Create service product with UoM 'pack of 20 hours' and prepaid policy - Sell the product and confirm the Sales Order - Create a helpdesk ticket/task linked to the Sales Order…
Steps to reproduce: - Create service product with UoM 'pack of 20 hours' and prepaid policy - Sell the product and confirm the Sales Order - Create a helpdesk ticket/task linked to the Sales Order Line - Log 22:00 on timesheets Current behavior: Sales Order Line shows '-2:01 remaining' Expected behavior: Should show '-02:00' to reflect two hours overconsumed without rounding. Root cause: Python's float type follows the IEEE 754 double-precision standard, where only base-2 fractions can be stored precisely. Base-10 fractions cannot be represented exactly, introducing tiny rounding errors. During chained operations such as multiple conversions or subtractions, these small errors accumulate into larger discrepancies. The float_round() function uses a small constant epsilon to correct rounding noise, but as arithmetic chains grow, errors exceed epsilon's tolerance and it can no longer correct them. Since a single global epsilon cannot handle every case (small vs. large values, chained vs. single operations, or regressions), rounding drift is inevitable when rounding happens repeatedly. Fix: To prevent these rounding errors from compounding, the solution is to stop intermediate rounding altogether. By using conversions with round=False, all arithmetic is done in the base unit (hours) with full float precision, and rounding is applied only once when displaying the final value. This eliminates error accumulation and ensures consistent, drift-free results. task-5090240 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#240403 Forward-Port-Of: odoo/odoo#229282
A test for the website slides feature was failing when run without the standard demo data. This was due to a missing email address for a key user account. The team resolved this by adding a default email to the user account, ensuring the test now passes consistently across versions.
Original PR description
We fix the tour test_course_reviews_elearning_admin that was failing when running it without demo data because user admin was posting a message on a channel without an email set on its partner. The same test works in version 18.0 and not in 18.2 because since 18.1, user admin no longer have an email by default (unless the demo data are installed, see odoo/odoo#185809). To fix the test, we just set an email on the partner of user admin before posting the message. Task-5418242 Forward-Port-Of: odoo/odoo#240070
A technical issue in our point-of-sale testing environment caused a test to fail. This fix corrects a problem where a test product record was being accessed after it was unintentionally deleted. This ensures the test suite runs reliably and prevents potential disruptions to the Point of Sale functionality.
Original PR description
The test `test_07_product_combo` with no demo data raised a traceback because a product record was being accessed after it had been implicitly deleted. The issue occurred because the product was initially created via `product.product` instead of `product.template` in the test setup: https://github.com/odoo/odoo/blob/6cc757147aebfe98db95ce6aafccdddc8483a5c6/addons/point_of_sale/tests/test_frontend.py#L1074 The link to the record was broken during the test execution, leading to the access error. runbot-234758 Forward-Port-Of: odoo/odoo#239852
This update resolves a sporadic test failure related to how partner suggestions are sorted. The fix ensures the system waits for all data updates before verifying the sorting order, preventing incorrect results. This improves the reliability of the suggestion functionality.
Original PR description
Before this commit, the test "Sort partner suggestions by recent chats" fails non-deterministically due to a race condition. This failure occurs because the test relies on the `last_interest_dt` timestamp being updated after sending a message to "User 2". Although the message post triggers a bus notification to update the store, the UI displays the message optimistically. As a result, the assertion for the message's existence occasionally passes before the bus notification was processed, leaving the sorting logic to run with stale data (where "User 2" was still ranked behind "User 3"). This commit fixes the issue by waiting for the sidebar to reorder "User 2" to the top. Since the sidebar ordering relies on the same server data (last_interest_dt) as the suggestion sorting, this ensures the store has processed the bus event before the test verifies the suggestion order. runbot-237553 Forward-Port-Of: odoo/odoo#241619
3 changes
Resolved issues and error corrections
This update fixes a usability issue where items within Kanban card dropdown menus weren't easily navigable or highlighted on hover. The team added a styling class to these dropdown items, ensuring they function correctly and provide a better user experience when selecting options from Kanban views.
Original PR description
Issue:
Dropdown item-ish (such as `<a class="dropdown-item">` and ViewButton) inside kanban cards dropdown do not have the proper hover styling and are not navigable.
Steps to reproduce:
- Go to project -> open any card dropdown menu ("...") -> Items are not navigable
- Go to CRM -> open any card dropdown menu ("...") -> Items are not highlighted on hover
Fix:
This commit adds the "o-navigable" class to dropdown items and view buttons
which are inside a kanban card's dropdown menu, this makes them navigable
and adds proper hover and focus styling.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#240090This update resolves a sporadic test failure related to how partner suggestions are sorted, specifically when messages are sent. The fix ensures the test accurately reflects the system's data by waiting for the necessary updates to be processed before verification, preventing inconsistent results. This improves the stability and reliability of the suggestion sorting feature.
Original PR description
Before this commit, the test "Sort partner suggestions by recent chats" fails non-deterministically due to a race condition. This failure occurs because the test relies on the `last_interest_dt` timestamp being updated after sending a message to "User 2". Although the message post triggers a bus notification to update the store, the UI displays the message optimistically. As a result, the assertion for the message's existence occasionally passes before the bus notification was processed, leaving the sorting logic to run with stale data (where "User 2" was still ranked behind "User 3"). This commit fixes the issue by waiting for the sidebar to reorder "User 2" to the top. Since the sidebar ordering relies on the same server data (last_interest_dt) as the suggestion sorting, this ensures the store has processed the bus event before the test verifies the suggestion order. runbot-237553 Forward-Port-Of: odoo/odoo#241619
This update clarifies delivery slip reports by explicitly labeling the delivery address and simplifying customer information labels. These changes reduce potential errors and confusion during order fulfillment, leading to greater operational efficiency.
Original PR description
To resolve ambiguities and improve operational efficiency: 1. The delivery address is explicitly labeled 'Delivery Address'. Ensuring no doubt about the final destination. 2. The label for the customer's primary information has been updated from 'Customer Address' to simply Customer, which prevents operators from mistaking it for the delivery point. Backport of https://github.com/odoo/odoo/pull/220019 Task: 3379926 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
23 changes
Resolved issues and error corrections
This update enhances how users manage members within WhatsApp channels. Specifically, the system now correctly associates a user with a channel, ensuring accurate tracking and reporting. This change improves the overall reliability and functionality of the WhatsApp module.
Original PR description
PR community https://github.com/odoo/odoo/pull/234512
This update resolves an issue where users were encountering an error when setting default values for contact fields. Specifically, attempting to set an integer value for a date field caused a system error. The fix ensures that users cannot input invalid data types as defaults, improving data integrity and preventing unexpected errors during contact creation.
Original PR description
Steps:
- Create a user defined defaults value
- Model: res.partner
- Field: date
- Value: 1
- Create a new contact
Actual result:
- invalid field type
- 'int' object is not subscriptable (depends of field type)
Expected result:
- No error
- User is not able to put an invalid value as a default
task-3729963
Forward-Port-Of: odoo/odoo#238539
Forward-Port-Of: odoo/odoo#225991This update fixes a visual issue with the SelectMenu component, ensuring selected items are clearly displayed and readable across different frontend implementations. The change improves the overall user experience by standardizing the component's appearance and removing unnecessary customizations.
Original PR description
*: website_slides This commit fixes the 'selected' display of the SelectMenu component in some frontend implementations. Previously, the visual style would be broken since the 'active' class was set…
*: website_slides This commit fixes the 'selected' display of the SelectMenu component in some frontend implementations. Previously, the visual style would be broken since the 'active' class was set on the element, having a blank text and background on selected items. The right 'selected' class is now used, to avoid difficulties to read the value, while still having some frontend specific styles working as expected. Also, the form-control and form-select classes are set using the togglerClass props. In future versions, we might be able to remove extension of the component in other modules (e.g. hr_contract_salary), ensuring the same style and behaviors accross all places. Before: <img width="1566" height="1115" alt="image" src="https://github.com/user-attachments/assets/6265c615-bd7a-47f6-9353-c503dd934fed" /> After: <img width="791" height="350" alt="image" src="https://github.com/user-attachments/assets/939b7109-a32f-4991-a169-13f501f29eb4" /> Forward-Port-Of: odoo/odoo#240576
This update clarifies an error that occurred when deleting custom fields inherited from parent models in Odoo. Specifically, it addresses an issue related to deleting child fields on `ir.model.fields` when a model is inherited. The change ensures a clearer error message is displayed, preventing unexpected behavior during field deletions.
Original PR description
task-4829991 []# modified: odoo/addons/test_orm/tests/test_fields.py 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 fixes an issue where custom reports were displaying incorrectly formatted lines due to a flawed calculation of domain complexity. The change ensures that report formatting is accurate, especially when using advanced grouping criteria, and was tested with the recent EC Sales report.
Original PR description
When a custom groupby defined a domain with more than one element in it (typically, conditions on multiple fields, possibly with '|' or '&' operations), if groupby lines needed to be generated for subsequent groupby, the generated groupby lines had a too high level, and ended up being over-indented.
This was because the groupby expansion computed the number of higher-level groupby lines as the length of the domain needed to restrict their content. This was too naïve, and won't work well with custom groupbys, which can define longer (or even empty) domains.
This was spotted in master (19.1), with the refactored EC Sales list, which now uses a custom engine and a specific custom groupby map.
Forward-Port-Of: odoo/enterprise#102240This update resolves an issue where the 'Show Value' option wasn't functioning correctly within Odoo charts. The fix ensures the chart show value plugin receives the correct chart type information, allowing it to accurately display values for various chart types like bar and line charts. This improves chart visualization accuracy for users.
Original PR description
Since the introduction of calendar charts, the chart show value plugin takes the type of the chart as argument. But for odoo charts, we gave it the odoo chart type (eg: odoo_bar, odoo_line, etc) instead of the base chart type (bar, line, etc), which made the show value plugin not work. Task: [5421194](https://www.odoo.com/web#id=5421194&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) 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#240226
A visual issue was resolved where a checkbox in the chart side panel for Odoo charts did not function correctly. This update ensures that users can now properly enable the 'Use compact format' option, improving the presentation of charts. This change enhances the user experience and allows for more efficient chart viewing.
Original PR description
The checkbox to toggle the `Use compact format` option in the chart side panel was present for odoo charts, but did nothing. Task: [5405064](https://www.odoo.com/web#id=5405064&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) 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#240251
A technical issue preventing the 'Use compact format' option from working in Odoo charts has been resolved. This update ensures that users can now correctly apply the compact format for charts, improving visual clarity and data presentation. This fix was part of a larger task to improve chart functionality.
Original PR description
The checkbox to toggle the `Use compact format` option in the chart side panel was present for odoo charts, but did nothing. Task: [5405064](https://www.odoo.com/web#id=5405064&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#102263
This update fixes an issue where the product selection pane in the point-of-sale system was sometimes rendered too small, making it difficult to read. The fix ensures the pane maintains its intended width, improving the user experience. The problem was intermittent and related to how the layout elements interacted.
Original PR description
In some scenarios, although not fully deterministic, the left pane is being pushed by its right pane sibling (i.e. the products grid), making it go below its specified with of `left-pane-width`, and…
In some scenarios, although not fully deterministic, the left pane is being pushed by its right pane sibling (i.e. the products grid), making it go below its specified with of `left-pane-width`, and making text non readable. By setting `flex-shrink: 0` on this element, we tell the browser to respect the specified width, and not allow its siblings to shrink it. We could have also set `min-width: $left-pane-width;`, but it's less descriptive. The problem happens because we are in a flex container, hencer we use `flex-shrink: 0`. ### Notes: This issue only happened from time to time for the client, and it seems non deterministic. If we disable showing the product images, the issue stops happening. The below before vs after screenshots are taken on MacBook Pro 14 inches. ### Before: <img width="1493" height="868" alt="image" src="https://github.com/user-attachments/assets/70bc5a70-34a6-48c9-a60a-ab1de1fa0b9b" /> <img width="1496" height="867" alt="image" src="https://github.com/user-attachments/assets/e8ae9b25-3525-439b-93dd-18dc825613c7" /> ### After: <img width="1495" height="866" alt="Capture d’écran 2025-12-31 à 11 28 38" src="https://github.com/user-attachments/assets/23585d3d-b0bf-4316-8749-b39a56fc8cda" /> <img width="1497" height="866" alt="image" src="https://github.com/user-attachments/assets/f5654163-1dd3-4ff9-bb12-d8cd8fbc497b" /> opw-5392359 Forward-Port-Of: odoo/odoo#241941 Forward-Port-Of: odoo/odoo#241731
This update fixes a problem where the 'Position' column in German Sale Order reports was blank. The issue stemmed from an incorrect calculation of line numbers in the report template. Now, the report accurately displays sequential position numbers, ensuring correct reporting for sales transactions.
Original PR description
Before this commit, when printing a Sale Order using the German localization, the "Position" column in the PDF report was empty. Additionally, the table formatting was broken due to this missing data. This issue occurred because the index variable used to calculate the line number in the report template (QWeb) was incorrect. This commit fixes the index logic in the report template. Now, the "Position" column correctly displays sequential numbers (1, 2, etc.), and the table formatting renders correctly. ticket-5225647 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#240714 Forward-Port-Of: odoo/odoo#240243
This update resolves an issue where the Odoo command-line interface (CLI) was incorrectly handling the number of arguments passed to it. This change ensures the CLI functions reliably, preventing potential errors and improving the overall user experience. It's a technical update focused on internal stability.
Original PR description
Fine-tunning of b86c060c9d5ba03ac13e8ad59cf55731fa50ed59 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#240395
This update resolves an issue where renaming inherited custom fields in Odoo didn't properly remove associated database fields. The fix ensures that these generated fields are removed from the database first, preventing data inconsistencies and errors. This improves the reliability of custom field management.
Original PR description
When renaming a custom field that is inherited, first remove the generated inherited fields from the database. task-5172546 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update removes unnecessary configuration overrides within the Odoo mail system. This simplifies the system and improves performance, leading to a more stable and efficient email sending process. The change is a routine maintenance update.
This update corrects a previous issue where the initial company created via SQL sequence lacked a sequence number. Now, all companies, regardless of creation method, will have a consistent sequence number, preventing filtering problems based on this data. This improves data integrity and reliability.
Original PR description
For the first company, created from sql sequence is not added to it. And for the rest, case companies created via the model default sequence are already provided. This will avoid the issue when companies are filtered based on sequence number. The Intention is to add the sequence to first company is because in the model we are providing the sequence in order so it should be consistent everywhere. Ent:- https://github.com/odoo/enterprise/pull/102317
This update resolves an issue in the Odoo Enterprise testing environment by adding a sequence number to the test company. This ensures that the company data is correctly ordered within the tests, improving the reliability of the project holiday functionality. This is a minor fix to enhance test accuracy.
Original PR description
This commit adds the sequence number to test case company, to be make sure the company are is correct order. See the com :- https://github.com/odoo/odoo/pull/240329
This update resolves a rare error that could occur when users attempted to open a parent channel after a related thread had been deleted. This change enhances the overall stability and reliability of the Odoo platform, preventing potential disruptions for users. It’s a routine maintenance update focused on a technical detail.
Original PR description
This commit fixes a rare traceback that could occur when opening a parent channel from a thread that has been deleted. task-5355205 Forward-Port-Of: odoo/odoo#241309 Forward-Port-Of: odoo/odoo#241266
This update removes a redundant link in the TDS/TCS warning that allowed users to manually check invoice journal items. This simplification was driven by changes in tax regulations – the wizard now correctly suggests the appropriate tax section, and a key tax code (206C(1H)) has been removed. This streamlines the user experience and reduces potential errors.
Original PR description
The "View Journal Item(s)" link was originally added to help users Manually check invoice journal items before choosing a TDS/TCS section. For TDS, the wizard already suggests the correct tax section, so this extra review step is no longer useful. For TCS, the most commonly used section (206C(1H)) has been removed by law from 01-Apr-2025, making the button unnecessary. Before: A link appeared in the TDS/TCS warning allowing users to open the invoice’s journal items for manual verification. After: The link and its supporting logic have been removed to keep the flow simple and avoid unnecessary actions. Task - 5315061 Upgrade PR - https://github.com/odoo/upgrade/pull/9015
This update enhances the Odoo HTML editor's ability to correctly identify and process HTML tags. Specifically, it clarifies how XML-only tags are treated, preventing misinterpretation as void elements. This ensures more accurate and reliable HTML editing within Odoo.
Original PR description
Description of the issue this PR addresses: This PR refines the `selfClosingElements` list by introducing `selfClosingHtmlTags` and `selfClosingXmlTags`, which together form `selfClosingElements`. `selfClosingHtmlTags` is used in contexts where XML-only tags must not be treated as HTML void elements. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update removes a misleading and unnecessary warning that appeared when setting up pricelists for event products. The warning was disruptive to the user experience and didn't provide any useful information. This change improves the overall usability of the event product pricing feature.
Original PR description
* Remove the warning shown when creating pricelist rules for event products. * The warning is noisy, not well localized, and appears for every rule, resulting in a poor user experience with little practical value for most users opw-5441138 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#241287
This update clarifies warnings displayed on employee profiles when an employee is missing from a pay run. Previously, the system flagged off-cycle payslips, but now it only shows a warning if the employee has no payslip at all for the period. The message is also more user-friendly, guiding users to add payslips.
Original PR description
A warning appears on the Employee profile if an active employee is missing from an open Pay Run. **Before:** - The system checks if the employee payslip is explicitly linked to the open Pay Run. - If…
A warning appears on the Employee profile if an active employee is missing from an open Pay Run.
**Before:**
- The system checks if the employee payslip is explicitly linked to the open Pay Run.
- If they are not linked, it raises a warning ("The pay run is missing this employee"), even if the employee already has an off-cycle payslip for that specific period.
- The system treats this as an issue and prompts the user to add the off-cycle payslip to the run.
**After:**
- The logic now also considers Off-Cycle payslips. If the employee has any
off-cycle payslip covering the pay-period dates, no warning is shown.
- An issue is shown only when the employee has no payslip at all for the period.
- When showing the issue:
If multiple pay runs exist for the period:
Display a single message: "The employee is not currently in any pay run." with an action to view available pay runs.
- If only one pay run exists for the period:
Display a contextual message: "The pay run [payrun name] is missing this employee." with an action "Add payslip to Pay Run".
- If the employee is present in any pay run or has an off-cycle payslip for the
period: No message is displayed.
Task-5387310This update resolves a visual issue that occasionally appeared when using the cookies bar with a Bootstrap modal open. The fix prevents a glitch caused by Bootstrap's automatic class removal, ensuring a smooth and consistent user experience. This improves the overall appearance and functionality of the cookies consent banner.
Original PR description
When pressing `Escape` with a Bootstrap modal open, even if the config key `keyboard` is set to `false` (preventing escape from closing the modal), Bootstrap sets a class `modal-static` on the modal element and removes it shortly after. This causes a UI glitch in the case of the cookies bar. Stopping the event propagation prevents it from happening. task-5421993 Forward-Port-Of: odoo/odoo#241215 Forward-Port-Of: odoo/odoo#240269
This update corrects a technical issue where installing the 'quality_iot' module caused a JavaScript error due to a missing dependency. The fix moves a component to ensure proper module loading and functionality, preventing the error from occurring.
Original PR description
### Issue: The QualityCheck component is defined in the `mrp_workorder` module:…
### Issue: The QualityCheck component is defined in the `mrp_workorder` module: https://github.com/odoo/enterprise/blob/7c64908258d5a0fb9adecd6dd2760e255e46314b/mrp_workorder/static/src/mrp_display/mrp_record_line/quality_check.js#L7 which is not a dependency (even indirectly) of the `quality_iot` module. Hence, if you install the `quality_iot` and enable debug mode, you will raise a JS [error](https://github.com/odoo/odoo/blob/a1583d0564552007a3d5f12d967c2c0036e05e44/addons/web/static/src/module_loader.js#L164-L169) because of missing dependencies: > The following modules are needed by other modules but have not been defined, they may not be present in the correct asset bundle. This happens because commit a13e38006d3cba6cab4565de2b014d294d2c0af3 added a patch of the QualityCheck component in the `quality_iot` https://github.com/odoo/enterprise/blob/eda93203ec8da207768357ae91132a49881a2978/quality_iot/static/src/mrp_display/quality_check.js#L4 https://github.com/odoo/enterprise/blob/eda93203ec8da207768357ae91132a49881a2978/quality_iot/static/src/mrp_display/quality_check.js#L17 opw-5353986 Forward-Port-Of: odoo/enterprise#100899
This update corrects an issue with the padding within Gantt chart popovers, ensuring a more visually consistent and professional appearance. The change was necessary to address a design flaw identified in a previous development cycle, improving the overall user experience.
Original PR description
This commit fixes wrong padding inside gantt popovers body introduced in #101482. task-5166940 Forward-Port-Of: odoo/enterprise#103210
20 changes
Resolved issues and error corrections
This update resolves a technical issue that prevented invoices reconciled with multiple bank transactions from displaying correctly in reports. The fix ensures the system handles complex reconciliation scenarios accurately, avoiding a common error that disrupted reporting. This improves the reliability of financial data presented to users.
Original PR description
### Issue description: The `_compute_full_amount_switch_html` method assumes that `reconciled_lines_excluding_exchange_diff_ids` contains at most one line (which is true only for move lines of bank statement lines). However, if an invoice is reconciled with multiple bank transactions, when accessing the `full_amount_switch_html` for any move line in the invoice, it triggers `ValueError: Expected singleton`, as the compute method uses the reconciled_lines as if they are a single line. ### Steps to reproduce: 1. Create an invoice 2. Reconcile the invoice with multiple bank transactions. 3. Perform a read on the `full_amount_switch_html` field on the invoice line from the invoice (using the web tool, or add the field to any view). 4. You will get `ValueError: Expected singleton: account.move(XX, XX)` opw-5224135 Forward-Port-Of: odoo/enterprise#102048
This update fixes inaccuracies in the Thai tax report test cases. The changes align the test data with the latest Thai tax regulations, ensuring accurate reporting and compliance. This improves the reliability of the Thai localization for financial reporting.
Original PR description
Replaced outdated tax references in test cases with updated tax references to align with the recent changes in the Thai localization. Task-5395076
This update resolves a test failure related to the course review tour within the website. The issue stemmed from a test requiring a user account (admin) with a properly configured email address, which was missing in newer versions of Odoo. The fix ensures the test runs correctly by adding a default email to the user account.
Original PR description
We fix the tour test_course_reviews_elearning_admin that was failing when running it without demo data because user admin was posting a message on a channel without an email set on its partner. The same test works in version 18.0 and not in 18.2 because since 18.1, user admin no longer have an email by default (unless the demo data are installed, see odoo/odoo#185809). To fix the test, we just set an email on the partner of user admin before posting the message. Task-5418242 Forward-Port-Of: odoo/odoo#240070
This update fixes an issue where items within Kanban card dropdown menus weren't easily navigable or highlighted on hover. The team added a styling class to these items, ensuring they function correctly and provide a better user experience when selecting options from Kanban cards. This improves usability and efficiency.
Original PR description
Issue:
Dropdown item-ish (such as `<a class="dropdown-item">` and ViewButton) inside kanban cards dropdown do not have the proper hover styling and are not navigable.
Steps to reproduce:
- Go to project -> open any card dropdown menu ("...") -> Items are not navigable
- Go to CRM -> open any card dropdown menu ("...") -> Items are not highlighted on hover
Fix:
This commit adds the "o-navigable" class to dropdown items and view buttons
which are inside a kanban card's dropdown menu, this makes them navigable
and adds proper hover and focus styling.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#240090This change fixes a JavaScript error that occurred when installing the Quality IoT module and enabling debug mode. The issue stemmed from a dependency conflict related to the QualityCheck component, which was incorrectly located. This update ensures proper module loading and resolves the error, allowing for seamless Quality IoT functionality.
Original PR description
### Issue: The QualityCheck component is defined in the `mrp_workorder` module:…
### Issue: The QualityCheck component is defined in the `mrp_workorder` module: https://github.com/odoo/enterprise/blob/7c64908258d5a0fb9adecd6dd2760e255e46314b/mrp_workorder/static/src/mrp_display/mrp_record_line/quality_check.js#L7 which is not a dependency (even indirectly) of the `quality_iot` module. Hence, if you install the `quality_iot` and enable debug mode, you will raise a JS [error](https://github.com/odoo/odoo/blob/a1583d0564552007a3d5f12d967c2c0036e05e44/addons/web/static/src/module_loader.js#L164-L169) because of missing dependencies: > The following modules are needed by other modules but have not been defined, they may not be present in the correct asset bundle. This happens because commit a13e38006d3cba6cab4565de2b014d294d2c0af3 added a patch of the QualityCheck component in the `quality_iot` https://github.com/odoo/enterprise/blob/eda93203ec8da207768357ae91132a49881a2978/quality_iot/static/src/mrp_display/quality_check.js#L4 https://github.com/odoo/enterprise/blob/eda93203ec8da207768357ae91132a49881a2978/quality_iot/static/src/mrp_display/quality_check.js#L17 opw-5353986
This update resolves a sporadic test failure related to how partner suggestions are sorted, specifically when considering recent chats. The fix ensures the test accurately reflects the system's data by waiting for the necessary updates to be processed before verification, preventing incorrect sorting results.
Original PR description
Before this commit, the test "Sort partner suggestions by recent chats" fails non-deterministically due to a race condition. This failure occurs because the test relies on the `last_interest_dt` timestamp being updated after sending a message to "User 2". Although the message post triggers a bus notification to update the store, the UI displays the message optimistically. As a result, the assertion for the message's existence occasionally passes before the bus notification was processed, leaving the sorting logic to run with stale data (where "User 2" was still ranked behind "User 3"). This commit fixes the issue by waiting for the sidebar to reorder "User 2" to the top. Since the sidebar ordering relies on the same server data (last_interest_dt) as the suggestion sorting, this ensures the store has processed the bus event before the test verifies the suggestion order. runbot-237553 Forward-Port-Of: odoo/odoo#241619
This update resolves a minor visual issue that occasionally appeared when using the cookies bar with a Bootstrap modal open. The fix prevents a Bootstrap class from being added and removed, which was causing a brief UI disruption. This ensures a smoother user experience for all visitors.
Original PR description
When pressing `Escape` with a Bootstrap modal open, even if the config key `keyboard` is set to `false` (preventing escape from closing the modal), Bootstrap sets a class `modal-static` on the modal element and removes it shortly after. This causes a UI glitch in the case of the cookies bar. Stopping the event propagation prevents it from happening. task-5421993 Forward-Port-Of: odoo/odoo#240269
This update resolves a technical issue in the website editor where applying font colors created unnecessary HTML tags for blank text, causing problems with snippet structure. The fix ensures font tags are only applied to visible text, improving the editor's performance and stability.
Original PR description
#### Description of the issue this PR addresses: - When applying font color, <font> tags were created for text nodes that contained only invisible content (whitespace or newlines). - These whitespace-only text nodes are not visually rendered, but wrapping them in <font> tags caused unnecessary nodes to be inserted and broke the DOM structure in snippets. #### Desired behavior after PR is merged: - Apply font tags only to text nodes that contain visible content. - Ignore whitespace-only (invisible) text nodes when wrapping content with <font> elements. #### Steps to Reproduce: - Open the website editor. - Insert a content snippet (e.g., s_numbers_framed, s_comparisons). - Select multiple blocks. - Apply font color from toolbar. => <font> tags are created for whitespace-only text nodes too, breaking the snippet structure. task-5454805 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update corrects a display issue where users were receiving confusing error messages when accessing OAuth features. Specifically, AccessDenied errors were showing a lengthy, detailed message instead of the standard 'Access Denied'. This change ensures a cleaner and more straightforward user experience for OAuth authentication.
Original PR description
Description of the issue/feature this PR addresses: This PR should fix the order of error codes in the oauth controller. Current behavior before PR: Currently the user gets redirected to a different error. For instance: AccessDenied error will redirect the user to "You do not have access to this database or your invitation has expired. Please ask for an invitation and be sure to follow the link in your invitation email." Desired behavior after PR is merged: AccessDenied error should show "Access Denied" --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update enhances the Odoo import action by allowing users to specify the target model through parameters. This retrocompatibility change, previously partially reverted, ensures existing import configurations continue to function correctly. It primarily impacts the base_import module.
Original PR description
This commit follows up the commit [1] and allows adding an `model` to the parameters of the `import` action, for retrocompatibility purposes. Note that, this retrocompatibility existed before the commit [2], which was partially reverted by the commit [1]. [1] https://github.com/odoo/odoo/commit/7e351d87a5b6faad5bef447bdb077b7637f9c936 [2] https://github.com/odoo/odoo/commit/033d6afe36426067a7bada8b812898169d7968de
This update removes a previously implemented fix for the account import action. A similar correction has already been addressed in a related extended class, making this reversion redundant. This ensures consistency and avoids unnecessary code changes.
Original PR description
Since [1] the fix on account_import_action is not needed anymore, a similar fix is done in the extended class. [1] https://github.com/odoo/odoo/commit/7e351d87a5b6faad5bef447bdb077b7637f9c936
This update fixes a recurring issue in the MRP planning test that was causing it to fail intermittently. The test has been redesigned to create the planning leave manually, making it more reliable and consistent. This ensures the planning process is accurately tested and validated.
Original PR description
Before this commit: Introduced in https://github.com/odoo/odoo/commit/d06dcfbca96273b540c87252b9188603879ac1b4, the test was failing on runbot in some cases. The issue is deterministic, but requires a specific set of modules installed to fail. After this commit: Use a more robust approach in the test, by creating the leave manually instead of computing the number of operations needed. runbot-234638 Forward-Port-Of: odoo/odoo#241350 Forward-Port-Of: odoo/odoo#239717
This update resolves an issue where Studio sometimes loaded incorrect POS views due to view sequence priority. Now, developers can adjust how default views are selected, ensuring the correct views are loaded regardless of sequence. This improves Studio's reliability and prevents unexpected view behavior.
Original PR description
Task: [#5191154](https://www.odoo.com/odoo/project/1737/tasks/5191154) --- When activating some views with Studio, we could end up loading a POS view because it has a lower sequence. As a result, Studio selects this view. However, these POS views may not be loaded in the backend bundle (`web.assets_backend`), and thus are missing at runtime. Example: "Cannot find key 'pos_kanban' in the 'views' registry". This commit creates a hook to get the domain used to fetch default views (`_get_default_view_domain()`). This way, modules can override the domain of `_get_default_view_domain()` method in order to exclude some views from being selected as default ones no matter the sequence.
This update fixes a technical error that prevented users from accessing holiday attests in debug mode. The issue stemmed from a missing data field in the system's configuration, which caused an error when the system was testing its functionality. This change ensures the holiday attest feature works correctly for all users.
Original PR description
Issue: in debug mode, the function `validateProps` is called on the component so it raises an error because `payslipsYear` is in the props but not defined in the schema Steps to reproduce (developer mode): - fill in the departure notice period and payslip wizard - try to open departure: holiday attests from the cog menu - you get a traceback because of unknown key `payslipsYear` Fix: added `payslipsYear` to the props definition task-id: 5398621
This update strengthens the security process for the HR Expense Stripe module by adding a crucial neutralization step. This ensures that database copies created for support investigations are completely isolated from the live production database, preventing any potential disruptions or data breaches. It's a proactive measure to maintain data security and stability.
Original PR description
This commit adds a complement to the neutralization necessary for the hr_expense_stripe module. The main neutralization is handled by the certificates module, but this covers a rare edge case (creation of new accounts in production mode for companies that do not already have an account), and makes the overall neutralization more bullet proof. ---------------------------------------------------------------------- The purpose of the standard neutralization framework is to allow us to create database copies that will not interact with external systems in ways that could impact the production database (or if it is not possible to prevent the interactions, make sure that they are benign or won't result in actual changes), or impact the customers of the operator of the production database. This is mainly useful to allow safe support investigation on database duplicates.
This update resolves a problem where Studio was incorrectly loading POS views as default, leading to errors. The change prevents these POS views from being selected as defaults, ensuring the backend operates with the intended views and improving stability. This ensures consistent and reliable operation.
Original PR description
..., appointment, l10n_ke_edi_oscu_pos Task: [#5191154](https://www.odoo.com/odoo/project/1737/tasks/5191154) --- When activating some views with Studio, we could end up loading a POS view because it has a lower sequence. As a result, Studio selects this view. However, these POS views may not be loaded in the backend bundle (`web.assets_backend`), and thus are missing at runtime. Example: "Cannot find key 'pos_kanban' in the 'views' registry". This commit edit the domain of `_get_default_view_domain()` method in order to exclude these POS views from being selected as default ones.
This update adds a new test case to the l10n_be_hr_payroll module, ensuring accurate work entry generation. This test validates the fix implemented in a previous pull request, strengthening the reliability of the payroll calculations. It's a routine quality assurance step to maintain the integrity of the HR and payroll processes.
Original PR description
This commit adds a test for this fix PR: https://github.com/odoo/odoo/pull/239658 task-5413594
This update adds a test to verify the correct generation of work entries within the HR module. This ensures the system functions as expected and reduces the risk of errors in generating work entries. The test confirms the fix implemented in a previous pull request.
Original PR description
This commit adds a test for this fix PR: https://github.com/odoo/odoo/pull/239855 task-5413594 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 resolves an issue where Japanese translations were sometimes being incorrectly formatted (line wrapping) within the Equity module. This fix prevents corrupted translation files and ensures accurate Japanese text display in the Odoo Enterprise system.
Original PR description
The current version of Weblate still has issues sometimes with line wrapping in CJK scripts, causing corrupt PO files. This commit fixes the wrapping in the Japanese translation file for the equity module.
This update resolves a reporting issue that appeared when selecting certain cost measures in the Planning / Attendance Analysis report. The fix removes a misconfigured widget, addressing a conflict between the data type and the widget used, ensuring accurate reporting calculations. This change improves report reliability.
Original PR description
### Steps to reproduce: - Navigate to Planning > Reporting > Planning / Attendance Analysis - From measure select Attendance Cost or Cost Difference or Planned Cost - A traceback will pop up ### Cause: We are using widget monetary for the three fields in the view while their field type is float and there is no currency field defined in the model ### Fix: Remove the monetary widget from the view In master we will do something like this commit https://github.com/odoo/enterprise/pull/99059/commits/17f05bef0dad3e9645b6e0ed8df14d3308440812 opw-5438221
11 changes
Resolved issues and error corrections
This update corrects an issue with how Odoo sends electronic invoices (EDI) to ECPay in Taiwan. The change removes the company name from the address and formats it as a comma-separated line, ensuring compliance with ECPay's requirements and improving data accuracy. This ensures seamless invoice processing.
Original PR description
In this commit: --- Update EDI address formatting to remove the company name and send a comma-separated single-line address. task-5410619
This change corrects a display inconsistency in loyalty rewards by removing a technical field that allowed users to incorrectly link discount products. This fix ensures that discount descriptions are accurate and aligned with the intended promotion, improving the customer experience. The change was implemented to address a reporting issue and a previous workaround.
Original PR description
### Issue: Due to this issue, users can change the technical field `discount product` which cause inconsistency in discount description. #### To reproduce: 1- Create a promotion called `AAA`: -…
### Issue: Due to this issue, users can change the technical field `discount product` which cause inconsistency in discount description. #### To reproduce: 1- Create a promotion called `AAA`: - Rules: If minimum 50.0 spent grant 1 point per order - Rewards: 10% discount per order in exchange of 1 point 2- Using debug mode, in promotion's reward view, change the `Description on order` to `AAA 10%`. Save the promotion and you can see the `Discount product`'s name is set to the same description. 3- Create another promotion called `BBB`: - Rules: If minimum 50.0 spent grant 1 point per order - Rewards: 10% discount per order in exchange of 1000 points. 4- In promotion reward's view change the `Discount product` to `AAA 10%` which is promotion `AAA`'s discount product. 5- Change the `Description on order` to `BBB 10%` and save. 6- You can see the name of `Discount product` is changed as well. 7- In promotion `AAA` and you can see the description and the name of `Discount product` mismatch. 8- Navigate to shop, and add a product to cart with a price of more than 50. 9. You can see after applying promotion `AAA` the description from promotion `BBB` is shown. ### Cause: The technical field `Discount product` is never meant to be changed, and this field is introduced for reporting purposes and showing the discount applied in cart. However, this field is added to view in #132857. This is done as a hack to find the `Discount product` created for the promotion, as a workaround for an accounting issue due to adding account to `Discount product`, and originally `discount_line_product_id` was not supposed to be shown or changed through form. After discussion with PO, we decided this field should be removed from the view. Also removing this field will not undo the main fix of #132857, and that workaround was introduced only to find the `Discount product` for that specific client's use case. However, in stable, it is kept for customization compatibility. It's set invisible in order to prevent the issue. opw-5229633
This update corrects a technical issue that prevented the system from creating emails when the user account was empty. The fix ensures the system handles all user scenarios correctly, preventing potential errors and improving email functionality. This resolves a bug introduced during recent development.
Original PR description
'self.env.user' can be empty. User 'has_group' method has ensure_one check, so it must not be called on empty recordsets. Bug introduced here: https://github.com/odoo/odoo/commit/3056facc07024d02829bf2e27c9ee2f56695c99e
This update resolves a visual glitch that appeared when using Bootstrap modals. Specifically, pressing the Escape key while a modal was open caused a temporary display issue with the cookies bar. The fix prevents a Bootstrap event from triggering a conflicting UI change.
Original PR description
When pressing `Escape` with a Bootstrap modal open, even if the config key `keyboard` is set to `false` (preventing escape from closing the modal), Bootstrap sets a class `modal-static` on the modal element and removes it shortly after. This causes a UI glitch in the case of the cookies bar. Stopping the event propagation prevents it from happening. task-5421993 Forward-Port-Of: odoo/odoo#240334
This update fixes a visual issue on the user profile page where course tags were being cut off at the bottom. The change adjusts the layout to ensure all tags are fully visible, providing a cleaner and more professional user experience. This resolves a minor aesthetic problem related to consistent card sizing.
Original PR description
In the website profile page, the course tags are slightly cut on the bottom. This commit adapts the block size to fit the entire tag. Note that the combo of fixed height / hidden overflow is actually intended to only show a single line of tags and not all of them, to avoid having a variable course card total height. Task-5457464
This update resolves an issue where IoT report handlers prevented the wizard from closing after a report was downloaded. Previously, users experienced open wizards and unexpected behavior when using custom report actions. The fix ensures the standard wizard closure logic is consistently applied, regardless of the report handler used.
Original PR description
Problem: When an alternate ir.action.report handler is used (such as for IoT), the logic to close the wizard after the report is downloaded (printed) is skipped, so the wizard stays open. Steps to Reproduce: - Go to "Acoustic Bloc Screens" product and click "Print Labels" - Select "ZPL labels" and confirm - The report downloads and the wizard closes as expected - Go to Settings > Technical > Reports and select "Product Label (ZPL)" - Set an IoT device on the report - "Print Labels" again, selecting a printer and the IoT toasts in the top right appear after the wizard closes - Refresh the page, and try printing again - The wizard stays open (wrong) and the IoT toasts appear Solution: When returning from the custom handler, check if close_on_report_download and close the wizard. opw-5153139
This update fixes a visual inconsistency in the Helpdesk dashboard by extending the conditional formatting range for the Top Customers pivot and aligning border styles with other Odoo dashboards. This ensures a more uniform and professional appearance for users.
Original PR description
## Description - The Top Customers pivot shows 10 rows, but the conditional format covered only 9. Extend the CF range so the last row is formatted. - Adjust border ranges so the helpdesk dashboard matches the styling used in other dashboards. Task: [5448434](https://www.odoo.com/odoo/project/2328/tasks/5448434)
This update resolves issues identified during testing that were impacting the HR EDI module's functionality. Specifically, the team addressed errors in the flow tests and corrected a problematic SQL query, aligning the module with recent Odoo versions. This ensures smoother and more reliable HR data processing.
Original PR description
- Fixing runbot errors raised by the flow tests, consistent with 19.0+ version - Fixing neutralize.sql runbot-237635 runbot-237637 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update addresses a critical issue in the l10n_tw_edi_ecpay module by implementing a standard neutralization process. This ensures that database copies created for support investigations won't inadvertently impact the live production system or customer data. It's a necessary step for safe troubleshooting and maintenance.
Original PR description
This commit adds the missing neutralization necessary for the l10n_tw_edi_ecpay module introduced in [1] The purpose of the standard neutralization framework is to allow us to create database copies that will not interact with external systems in ways that could impact the production database (or if it is not possible to prevent the interactions, make sure that they are benign or won't result in actual changes), or impact the customers of the operator of the production database. This is mainly useful to allow safe support investigation on database duplicates. [1] https://github.com/odoo/odoo/pull/223132
This update clarifies the purpose of the 'force_create' function within the account module. Previously, it was unclear that this function didn't actually create new records but instead updated existing ones. This change ensures better understanding and consistent usage by the team.
Original PR description
I have adding a docs for force_create that I have added in a previous task as it was not clear for some colleagues that it do not create but still updates the available records 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 fixes a reporting error in the French P&L reports. The 'owner remuneration' account (644) was incorrectly categorized as 'tax and duties'. It has now been moved to the correct 'wages and salaries' category, ensuring accurate financial reporting for French businesses.
Original PR description
Account '644 owner remuneration' was in the 'tax and duties' category in the french P&L but it belongs to the 'wages and salaries' category task-5446018 Forward-Port-Of: odoo/enterprise#103061
5 changes
Resolved issues and error corrections
This update fixes a reporting issue in the French P&L reports. The 'owner remuneration' account (644) was incorrectly categorized as 'tax and duties'. This change ensures accurate reporting of wages and salaries in accordance with French accounting standards, improving financial transparency.
Original PR description
Account '644 owner remuneration' was in the 'tax and duties' category in the french P&L but it belongs to the 'wages and salaries' category task-5446018
This update modifies Odoo's translation files (pot files) to better integrate with Weblate, a tool used for managing translations. By triggering msgmerge, the team can more efficiently update and maintain the translations across all Odoo modules, ensuring consistent and accurate localization for our users.
Original PR description
Related: https://github.com/odoo/enterprise/pull/98813 Related: https://github.com/odoo/design-themes/pull/1176
This update adjusts the timing of checks for video calls to prevent disruptions when the Odoo server is temporarily slow. By extending the check interval, the system can now tolerate brief connection hiccups, ensuring smoother and more reliable video communication for users. This improves the overall user experience.
Original PR description
Before this commit, the ping to keep rtc sessions alive was done every 30 seconds and had a 1 minute timeframe to successfully ping, which meant that missing a single ping would drop the rtc session. This commit increases the timeframe to 1 minutes and 15 seconds so that one ping can be missed. This can help preventing disconnections when the Odoo server is slow, as calls can work fine without a stable connection to the odoo server (since P2P and SFU connections are independent from Odoo once the connections are initialized). task-5177246
This update fixes an issue where Odoo incorrectly processed partner names with only one word. Previously, a single-word name would result in an empty first name field. Now, single-word names are correctly assigned to the first name, ensuring accurate data entry and reporting for customer information.
Original PR description
Description of the issue/feature this PR addresses: The name splitting logic fails when the partner name contains only one word, resulting in an empty first name. Current behavior before PR: Splitting a single-word name returns an empty first name and assigns the word to the last name. Desired behavior after PR is merged: A single-word name is correctly assigned to the first name field, leaving the last name empty. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes an issue where the automated processing of Mexican tax documents (l10n_mx_edi) was repeatedly attempting to update the same documents. By adding a filter to check for existing processing status, the system now avoids redundant updates, improving efficiency and preventing potential errors. This resolves a previous limitation in the document search and update process.
Original PR description
Before the commit 8b118a7, the search of the documents to update has been limited and ordered. With the actual domain the records to update will be always the same and it will never continue processing the missing records. To avoid this issue we add a new domain to filter if they have already a sat_state on the move_id, this will make that the processed ones will not be processed again. OPW-5368047