Tuesday, September 16, 2025
52 changes · master
Resolved issues and error corrections
This fix removes unnecessary test tool dependencies from website tour checks, reducing failures caused by missing or tightly coupled testing components. It helps keep automated validation more stable without changing end-user website behavior.
Original PR description
runbot-error-232620 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#227220
Odoo now accepts the theme customization setting in theme descriptions, preventing valid theme updates from being blocked by automated checks. This helps theme and eCommerce customization work continue smoothly without false error reports.
Original PR description
Follow-up of PR https://github.com/odoo/design-themes/pull/1137 that introduced `theme_customizations` in design theme manifests for eCommerce block customizations. For Error https://runbot.odoo.com/odoo/runbot.build.error/232249 : Issue: - `ManifestLinter.test_manifests` errors in multiple theme modules. - The error was caused by the `theme_customizations` key being unrecognized in manifests and flagged as unknown. Fix: - Added `theme_customizations` to the list of allowed manifest keys, so the linter accepts it in theme module manifests. Forward-Port-Of: odoo/odoo#226543
The Point of Sale now avoids a crash when no cashier user is available. This helps keep checkout workflows stable in edge cases where user information is missing.
Original PR description
When there is no user, you get a traceback when it tries to access user.id. As the code that call getCashierUserId handles the fact that a falsy value is returned, we return undefiened when there is no user. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#226821
This update makes the website snippet selection modal clearer and more consistent for users building pages. It refreshes an outdated product preview, removes misleading visual effects in some previews, and labels dynamic content snippets so users can better distinguish them from static options.
Original PR description
This pr address minor UX issues for the snippets modal. - Disable the parallax effect for both `s_banner_product` and `s_floating_blocks` snippets: despite these make technically use of the parallax…
This pr address minor UX issues for the snippets modal. - Disable the parallax effect for both `s_banner_product` and `s_floating_blocks` snippets: despite these make technically use of the parallax feature, the effect is really subtle and not as strong as the one used by the preview. - Update one old `s_dynamic_snippet_products` preview image - Add the "Dynamic Content" label for both the `s_dynamic_snippet_products` and `s_dynamic_snippet_category_list` snippets. The goal is to differentiate the two from the static ones in the same category. A similar solution should be used for other dynamic snippets, like blog and events... but since everything in those categories is dynamic, the use of the same label would have been noisy and unnecessary. - Introduce a glob pattern for files that are supposed to be used in the `iframe_add_dialog` bundle only task-5088157 | 19.0 | this pr | |--------|--------| | <img width="445" height="243" alt="image" src="https://github.com/user-attachments/assets/98cadb04-f8cb-4b44-ad3f-6a8ff18ea05b" /> | <img width="444" height="243" alt="image" src="https://github.com/user-attachments/assets/7f7f471a-a11d-4131-9bd6-f8d7954eb1ca" /> | | <img width="441" height="260" alt="image" src="https://github.com/user-attachments/assets/c31a36d7-3c57-434a-b999-1bdb00430b63" /> | <img width="438" height="259" alt="image" src="https://github.com/user-attachments/assets/a124d022-0763-47c4-a72c-a9a992b83a8c" /> | | <img width="444" height="208" alt="image" src="https://github.com/user-attachments/assets/076c3b8e-ee89-470e-a780-93c657979273" /> | <img width="458" height="215" alt="image" src="https://github.com/user-attachments/assets/eca7e514-c947-4ce7-bb37-feae0377b229" />| | <img width="445" height="241" alt="image" src="https://github.com/user-attachments/assets/967c7093-7c20-4912-ab80-072059fa2124" /> | <img width="445" height="246" alt="image" src="https://github.com/user-attachments/assets/d6522f0d-c36e-4627-9d2e-145e1ecb61ff" /> | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#227096
The website intro pill snippet now keeps its text from overlapping nearby images. This makes the page editor clearer for users by ensuring images remain visibly accessible and editable.
Original PR description
This PR prevents the `s_intro_pill` text block from overflowing the images, which would lead the user to think the image cannot be reached and edited. To prevent this, we reduce the size of the text block and the copy so it does not get too long. task-4943061 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#218865
Event email templates now use embedded images instead of web icon classes for location markers. This helps recipients see the intended icons consistently and prevents confusing duplicate or missing elements when editing event emails.
Original PR description
Font awesome classes must no be inserted into email as external servers do not use them so icons are not displayed and also because some issues occur with the email editor. This commit replaces i tags with font awesome classes in mail by images. Task-5082165 Forward-Port-Of: odoo/odoo#226332
This update corrects failing automated tests in the website shop area. It helps keep the online sales module stable by ensuring test checks run successfully during development and release validation.
Original PR description
runbot-error-227575 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#226624
The messaging menu now avoids a visual jump when users hover over notifications with longer text. This keeps the unread or important badge and the mark-as-read action visible without changing the notification's height, making the menu feel steadier and easier to use.
Original PR description
Follow-up of https://github.com/odoo/odoo/pull/225145 PR above made a few visual changes, one of which was to show mark as read button in messaging menu item in addition to keeping the badge unread /…
Follow-up of https://github.com/odoo/odoo/pull/225145 PR above made a few visual changes, one of which was to show mark as read button in messaging menu item in addition to keeping the badge unread / important on hover. This is motivated by the fact that item is considered important thanks to this badge, and when hovering it it gives a wrong impression the item is no longer important when this is just on hover. Solution of PR above was to keep display of badge even when mouse-hovering, so mouse hover shows both the badge and the mark as read button. However, if the notification item text takes almost a full single line, mouse-hovering made the item grow bigger due to being on 2 lines forced by mark as read button on hover. This flicker is not great UX. This commit fixes the issue by keeping badge and mark as read button visible on hover, but the mark as read button now overlaps the notification item text rather than collide. As a result, the text part of notification item doesn't change its visual of lines and word break per line just on mouse hovering. Before / After   Forward-Port-Of: odoo/odoo#226531
The spreadsheet interface now consistently uses the light theme because dark theme support is not available there. This prevents mixed dark and light styling, giving users a cleaner and more predictable spreadsheet experience.
Original PR description
Spreadsheet doesn't support dark theme. This fixes some style where dark and light themes are mixed. Task: 5082593 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#226798
This fixes a Point of Sale issue where receipt links for downloading invoices could fail because ticket numbers shorter than 12 characters were rejected. The allowed ticket number length is reduced so customers and staff can access invoices from receipts reliably.
Original PR description
- Since this PR (https://github.com/odoo/odoo/pull/222261) the minimum length of the Ticket Number (pos_reference) has been set to 12 characters. This was causing issues when trying to download invoices with the link on the receipt. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Event website searches now show the same results after pressing Enter as were previewed in the search dropdown. This fixes cases where events matching only by description appeared in suggestions but disappeared from the full results page.
Original PR description
Purpose ======= Making sure that, when typing a search term, all the results displayed in the search bar dropdown are visible on the page when clicking Enter. Specification ============= Previously, the search bar dropdown was displaying all the events where the name or description matched the search term. However, when clicking Enter, only the events where the name matched were displayed on the page (the ones where only the description matched were ignored). Fixing the issue by considering the description in the event search options. Task-5039221 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#224414
This update corrects several interface elements that were using the secondary color in places where it did not fit the intended design. Users will see more consistent buttons, links, and visual highlights across login, portal, website, recruitment, profile, and online shop pages.
Original PR description
*: auth_signup, auth_totp_portal, portal, website, website_hr_recruitment, website_profile, website_sale This commit revises UI elements that misuse the secondary. task-5079680 Requires: -…
*: auth_signup, auth_totp_portal, portal, website, website_hr_recruitment, website_profile, website_sale This commit revises UI elements that misuse the secondary. task-5079680 Requires: - https://github.com/odoo/enterprise/pull/94570 | Before | After | |--------|--------| | <img width="436" height="389" alt="Capture d’écran 2025-09-12 à 13 12 55" src="https://github.com/user-attachments/assets/45a24608-474d-496c-a1fc-f3153c8782f2" /> | <img width="440" height="391" alt="Capture d’écran 2025-09-12 à 13 13 14" src="https://github.com/user-attachments/assets/77b5c5fa-119d-4045-828c-550f2bf543e9" /> | | <img width="766" height="216" alt="image" src="https://github.com/user-attachments/assets/e6c91f17-e2f5-4ca9-a46d-b9e55b5f4c7f" /> | <img width="370" height="101" alt="image" src="https://github.com/user-attachments/assets/a758f416-676a-4095-af79-58728f62cc3c" /> | | <img width="1003" height="517" alt="Capture d’écran 2025-09-12 à 13 15 50" src="https://github.com/user-attachments/assets/3e495ef8-667a-46b3-ad27-4b094fc9561c" /> | <img width="985" height="520" alt="Capture d’écran 2025-09-12 à 13 16 00" src="https://github.com/user-attachments/assets/2e73de05-6480-49a4-89ae-11115e4db868" /> | | <img width="1332" height="421" alt="Capture d’écran 2025-09-12 à 13 16 51" src="https://github.com/user-attachments/assets/1f7370e3-7def-45f2-8682-f64c83e9ccca" /> | <img width="1330" height="450" alt="Capture d’écran 2025-09-12 à 13 17 05" src="https://github.com/user-attachments/assets/e01513e7-bc75-4de0-8efe-64a72066441d" /> | | <img width="808" height="225" alt="Capture d’écran 2025-09-12 à 13 17 35" src="https://github.com/user-attachments/assets/3e0b7388-c88c-48b6-b22a-596fb3e4bbb3" /> | <img width="814" height="215" alt="Capture d’écran 2025-09-12 à 13 20 06" src="https://github.com/user-attachments/assets/0c03f86b-daae-40fd-99c8-d56bb315c0a8" /> | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#226847
Fixes an issue where employees could not see the button to submit a Time Off request in certain absence dialogs. This ensures requests can still be submitted when no dashboard warning is shown, while keeping validation checks in place after submission.
Original PR description
**Steps to reproduce** 1. Install l10n_ch_hr_payroll_elm_transmission 2. Go to an employee's profile 3. Click on "Absences" smart button 4. Create a new Time Off request Issue: the form view dialog is missing a button to confirm the request. Cause: the dashboard warning message is not part of the l10n_ch_hr_payroll_elm_transmission view. Solution: display the "Submit Request" button if we don't have any dashboard warning message. There will still be a validation after the request is submitted. opw-4972467 Forward-Port-Of: odoo/odoo#221427
Discuss calls now show only one green speaking outline for participants who are talking without camera or screen sharing enabled. This makes the call interface clearer and avoids confusing duplicate visual indicators.
Original PR description
Before this commit, when in a discuss call, a participant that talks while sending no video stream (both camera and screen-sharing off) would display double "is talking" green outline. This happens…
Before this commit, when in a discuss call, a participant that talks while sending no video stream (both camera and screen-sharing off) would display double "is talking" green outline. This happens when the card is not minimized, such as when this is the active main card or another participant has camera or screen-sharing on. In that case, the "is talking" outline effect is shown twice: one around the card border like card with video stream, and one around the participant avatar. The outline around the card like video stream is intended, the one around image should only happen when not around the card. This commit fixes by setting the "is talking" around image only when the card is minimized. Before <img width="498" height="315" alt="Screenshot 2025-09-11 at 15 41 09" src="https://github.com/user-attachments/assets/52334553-8ef9-460c-9162-805f44db5980" /> After <img width="499" height="314" alt="Screenshot 2025-09-11 at 15 33 39" src="https://github.com/user-attachments/assets/119ea12f-d90c-4f9d-a131-8fd6b15ec858" /> Forward-Port-Of: odoo/odoo#226618
A failing upgrade-related test was corrected so it works properly when run from an external add-ons location. This helps keep automated validation stable and reduces false failures during development and release checks.
Original PR description
This test fails when executed on an external addons path. (runbot) Forward-Port-Of: odoo/odoo#226610
This fix prevents grouped list views from crashing when users delete all records in a group that includes monetary totals in different currencies. It correctly clears currency-related totals for groups kept visible after deletion, improving stability in day-to-day list management.
Original PR description
Be in a grouped list view with a monetary field aggregate and a group with different currencies. Open that group, select all its records and delete them. Before this commit, it crashed. Since [1], we…
Be in a grouped list view with a monetary field aggregate and a group with different currencies. Open that group, select all its records and delete them. Before this commit, it crashed. Since [1], we use the new aggregator `array_agg_distinct` which returns the list of currencies of aggregated records. When a group disappears after a reload (which is the case in our flow as we deleted all its records), we keep it in the UI for UX reasons. However, as that group is no longer returned by web_read_group, we manually reset its aggregate values to 0. Before [1], that was correct as all aggregate values were numbers. Now, it can also be arrays (for currencies, with the `array_agg_distinct` operator). This commit properly handles that case. [1] https://github.com/odoo/odoo/pull/224667 closes #226566 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#226822
Fixes an issue in the website HTML editor where choosing a vertical alignment for a table cell did not apply because the dropdown closed too soon. Users can now format table cells as expected, improving reliability when editing website content.
Original PR description
### Steps to reproduce: - Navigate to the Website module. - Drag and drop a Text Snippet. - Create a Table (e.g., /table) and select a table cell. - Click on Vertical Align button in toolbar and apply alignment option. ### Description of the issue/feature this PR addresses: - When clicking on a vertical align option inside the dropdown, overlay was immediately closed. Because of this, the click event handler was not triggered, and the selected vertical alignment was not applied to the table cell. ### Desired behavior after PR is merged: - Prevent overlay from closing by using `data-prevent-closing-overlay`. task-5062814 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#225470
Live chat agents now see recent visitor page times in their own timezone instead of UTC. This makes visitor context easier to understand during conversations and avoids confusion when reviewing browsing activity.
Original PR description
Before this PR, when browsing a website livechat in the discuss app, the banner containing the 3 last pages browsed by the user showed the utc time instead of the time in the timezone of the agent. Now, the livechat agent is seeing the visit timings in his timezone. To achieve this, we now construct the visit string in the frontend and receive the page and datetime (utc) info from the backend task-4937769 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#225761 Forward-Port-Of: odoo/odoo#219113
Spreadsheet charts and related interface text now use Odoo's translation system for dynamic values. This helps translated spreadsheets display labels more consistently across languages, especially when values depend on context.
Original PR description
This commit replaces the `DynamicTranslate` plugin of o-spreadsheet by the one of Odoo, which support the translation of dynamic values with a namespace. Followup of https://github.com/odoo/odoo/pull/223171 Task: 5076040
The default card-style view for partners is now selected consistently when users open partner records. This prevents mobile workflows such as Field Service from showing an unrelated equity-focused view, reducing confusion and helping users find the right partner information faster.
Original PR description
This commit sets the priority of the res.partner kanban view to 1, ensuring it is used as the default when opening a kanban on partners. Without this fix, certain contexts (e.g., opening a res.partner many2one field from mobile apps like Field Service) could incorrectly default to the equity-specific kanban view instead of the standard one. task-5077712 Forward-Port-Of: odoo/odoo#226454
This change fixes an issue where payment forms did not correctly reuse an existing tooltip, which could affect how helpful guidance is shown to users. It helps keep the checkout or payment experience consistent and avoids minor interface glitches.
Original PR description
Forward-Port-Of: odoo/odoo#226804
Website and email marketing snippets were adjusted so their colors display correctly with both light and dark secondary palette colors. This prevents sections such as team cards, number blocks, charts, covers, and mailing snippets from looking unreadable or poorly contrasted after palette updates.
Original PR description
This commit adapts multiple snippets after the change of the default palette. Several snippets assumed the secondary color was dark. Since this is not always true (e.g., the default palette now defines it as light), those snippets were updated to work in both cases. Design-themes: https://github.com/odoo/design-themes/pull/1143 task-5072830 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#226255
The Newsletter Benefits snippet now shows a clear "Popup" label in the website builder preview. This fixes a missing label so users can more easily identify the snippet type before adding it to a page.
Original PR description
This PR adds the "Popup" label to the "Newsletter Benefits" snippet in the preview in `AddSnippetDialog`. [*]: website_mass_mailing | Before (missing label) | After (introduced label) | |-----------------------------|---------------------------------| | <img width="433" height="214" alt="image" src="https://github.com/user-attachments/assets/22bd30c6-0085-4739-bcf5-d4c84b1353a0" />| <img width="435" height="226" alt="image" src="https://github.com/user-attachments/assets/e29c2707-fb85-4252-931a-8044ffb183f0" /> | Forward-Port-Of: odoo/odoo#226218
This update reorganizes how automated tests access shared web testing helpers, directing them through a central helper module instead of internal framework folders. It helps keep test code easier to maintain and reduces future conflicts, with no expected impact on day-to-day users.
Original PR description
This commit reduces imports to the 'tests/_framework/' subfolder, which is meant to be accessed through the 'web_test_helpers' module as to reduce the amount of imports, as well as centralizing all web helpers to have a quick overview of the available helpers. Enterprise: https://github.com/odoo/enterprise/pull/94074 Originally contained within the following pull request: https://github.com/odoo/odoo/pull/225744 But has been separated for convenience sake since the original PR was involving security overrides, and would be consistently interrupted by conflicts ensuing from this specific commit. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#226653 Forward-Port-Of: odoo/odoo#225865
Self-billing documents now use a stable customer or supplier ID instead of the partner name when creating numbering sequences. This helps avoid duplicate or confusing document numbers, especially when related contacts belong to the same commercial partner.
Original PR description
- We prefer to use the partner's ID (padded to 5 digits to avoid confusion with the year) rather than the partner name - We make sure the sequence is unique per commercial partner rather than per partner. task-none Forward-Port-Of: odoo/odoo#226600
This update corrects internal type definition files that had fallen behind recent changes across several Odoo apps. It helps keep development tooling accurate and reduces the risk of future issues, with no expected direct change for everyday users.
Original PR description
\* = hr, hr_holidays, im_livechat, portal, project, website_livechat, website_slides Many recent changes did not update d.ts files accordingly. https://github.com/odoo/enterprise/pull/94766
This fixes a sales test to match how Odoo updates down-payment line references using the invoice accounting date, not the sales order creation date. It helps ensure sales invoicing behavior is validated correctly and reduces false build failures.
Original PR description
Because the test was asserting against the Sale Order creation date, while Odoo actually uses the invoice’s accounting date when updating the down-payment line. build_error-231505 Forward-Port-Of: odoo/odoo#224989
The US accounting template now classifies all accounts beginning with 7 or 8 as other expenses. This helps financial reports place these accounts in the correct expense category, improving consistency for businesses using the US chart of accounts.
Original PR description
task-5068369 Forward-Port-Of: odoo/odoo#226697
Fixed an issue that could block time off managers from creating multiple time off requests at once. This ensures responsible users can complete bulk time off requests without being stopped by an employee access permission error.
Original PR description
purpose: fix the issue when a user who is `hr_holiday_responsible` creates a multi timeoff request, where an access right error appears because they don't have access on Employee. task-id : task-5051859
Odoo now ignores a specific connection-loss message that can appear after an automated guided test has already finished. This prevents harmless technical noise from being reported as a real failure, helping teams focus on genuine issues.
Original PR description
Basically a second version of #209902, as #219267 intercepted "failed to fetch" and "load failed" errors to swap them for `ConnectionLostError`, meaning they don't match the old filter anymore. https://runbot.odoo.com/odoo/error/229949/ Forward-Port-Of: odoo/odoo#227224
The selected color indicator in the color picker now adapts to the active theme instead of using a fixed white style. This makes the selected color easier to see in dark mode while preserving the experience in light mode.
Original PR description
This PR fixes an issue related to Commit[^1], which used `#fff` to style the active color within the color picker. While this works fine in light mode as we do not tweak the `$o-colors` map that much, it does not provide good results in dark mode as the colors are drastically adjusted. | 19.0 and above | This PR | |--------|--------| | <img width="192" height="89" alt="image" src="https://github.com/user-attachments/assets/c4eadd42-fbe4-4b34-85ad-2010103850a7" /> | <img width="153" height="102" alt="image" src="https://github.com/user-attachments/assets/0dcba0fa-69bc-48de-9c96-bcdf69ea7f1f" /> | With this PR, we use a dynamic value instead of a static one, ensuring it will provide good results in both light and dark mode. task-5089121 related to task-5049476 [^1]: 1aa9b957afdd1413f6241ce2e408b96f9e934242 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#227123
The wishlist and product comparison features now install automatically when needed, making them reliably available on the online store frontend. This reduces setup friction and avoids missing storefront options caused by previous installation limitations.
Original PR description
Enable auto-install for `website_sale_wishlist` and `website_sale_comparison` These modules are now set to auto-install to ensure their proper availability on the frontend. This change removes the need for explicit fields while still preventing the unintended limitations observed after [task](https://www.odoo.com/odoo/action-4043/4819667). **Affected Version**:19.0~master **opw**-5078748 Forward-Port-Of: odoo/odoo#226221
Printed PDF amounts that round to zero will now display as "0.00" instead of "-0.00". This avoids confusing or misleading totals on documents caused by tiny negative rounding differences.
Original PR description
Previously, when an amount value that is passed to `value_to_html` is a really small negative number (e.g. -0.000000001), the rounded result will have the negative sign in front of it (e.g. "-0.00").
This commit fixes it so that they will be rendered without the negatives ("0.00").
opw-4685953
Forward-Port-Of: odoo/odoo#224292The update makes automated checks for Malaysian invoice file generation more exact by specifying the expected tax details. This helps reduce false test results and improves confidence that Malaysian electronic invoice files are produced correctly.
Original PR description
Improve reliability of both malaysian modules which work with xml files and invoices by ensuring that we precise the tax we expect to see in the file when creating the invoice. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#227111
Opening the invoice line form editor in Studio could fail when working on a new, unsaved invoice. This fix avoids that error so users can edit invoice line views without being blocked.
Original PR description
Currently an error occurs when user opens form view for invoice lines using studio. **Steps to replicate:** * Install `accountant` and `web_studio` * Create new invoice but don't save > Open studio…
Currently an error occurs when user opens form view for invoice lines using studio. **Steps to replicate:** * Install `accountant` and `web_studio` * Create new invoice but don't save > Open studio view * Select Invoice Lines > Edit Form View > Error should occur in terminal `ValueError: Expected singleton: account.move()` **Root cause:** * This error occurs because an empty `account.move()` record is passed as `self` to `_prepare_product_base_line_for_taxes_computation` at [1], which expects only a single record. Since the invoice has not yet been created, the recordset is empty. This issue happens only in version `18.4`, not in `18.3` or earlier. The reason is that in `18.4`, compute method [2] is called when opening the form view, whereas in `18.3` it is not. When [2] is called, it sets the `display_type` to `product`, allowing the code to bypass the condition at [3]. In contrast, in `18.3`,since [2] is not called, `display_type` remains `False` despite the code being the same. **Solution:** * To achieve similar behavior as in version `18.3` and skip that line, modify the condition to include a check for `move_id`. [1]: https://github.com/odoo/odoo/blob/0706aaef3894bbee6eea62679a2d89a3ee316f7b/addons/account/models/account_move_line.py#L880 [2]: https://github.com/odoo/odoo/blob/0706aaef3894bbee6eea62679a2d89a3ee316f7b/addons/account/models/account_move_line.py#L485 [3]: https://github.com/odoo/odoo/blob/0706aaef3894bbee6eea62679a2d89a3ee316f7b/addons/account/models/account_move_line.py#L875 **Sentry-6766906181** Forward-Port-Of: odoo/odoo#224397
DIN5008 report layouts have been adjusted so customer phone numbers are no longer shown in the address block. Customer VAT information is also moved out of the address area to keep the document layout compliant and cleaner.
Original PR description
This commit removes the phone number from the DIN5008 report layout. The customer's VAT is also no longer displayed in the customer's address section. The VAT is moved to another section. Description of the issue/feature this PR addresses: Current behavior before PR: The customer's phone number and VAT are displayed in the customer's address in the DIN5008 report layout. Desired behavior after PR is merged: The customer's phone number is no longer displayed and VAT moved to another section in the DIN5008 report layout. opw-5049074 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#226967 Forward-Port-Of: odoo/odoo#226630
This fixes an issue where automated check templates did not apply their configured action. Businesses using accounting reports can now rely on automated checks to behave as intended, reducing missed or incorrect follow-up steps.
Original PR description
Currently the check template will not set the action for an automated checks. This is due to a condition that test if there is already the key in the dict which is useless here. Forward-Port-Of: odoo/enterprise#94206
Uruguay electronic invoicing now correctly handles document numbers that start with multiple letters, instead of only recognizing the first letter. This helps ensure credit notes, debit notes, and vendor bill documents are generated with the correct references and reduces validation issues.
Original PR description
If UY EDI document has latam document number with more than one letter at the beggining, it is needed to take in consideration all the letters and not only the first one. Task Latam side: 1352 Task Adhoc side: 53173 Forward-Port-Of: odoo/enterprise#90696
The appointment page loading indicator now uses a more appropriate color instead of incorrectly relying on the secondary theme color. This keeps the visual experience more consistent and polished for visitors while pages are loading.
Original PR description
*: website_helpdesk This commit revises the loading element that misuse the secondary color. task-5079680 Requires: - https://github.com/odoo/odoo/pull/226847 | Before | After | |--------|--------| | <img width="1920" height="1080" alt="Capture d’écran 2025-09-12 à 11 24 24 (3)" src="https://github.com/user-attachments/assets/b0d671e4-5538-4c63-9a3a-20bbe835b459" /> | <img width="1920" height="1080" alt="Capture d’écran 2025-09-12 à 13 22 59 (3)" src="https://github.com/user-attachments/assets/3b2d4452-84f2-446a-bb2b-bb4a8e0e9abc" /> | Forward-Port-Of: odoo/enterprise#94570
Fixed the Knowledge app so opening an activity from the activities menu now shows the related article instead of the full list of articles. This helps users quickly find the specific Knowledge article that needs their attention.
Original PR description
Currently, when the user tries to open any activity of the knowledge article, it opens all articles instead of the one which has an activity assigned to them. **Steps to reproduce this issue:** 1) Install the Knowledge module 2) Set up an activity for yourself on a Knowledge article 3) Open the activities from Activities (top left corner) **Issue:** You will end up in the all articles list, with no filters applied. **Cause:** When the user clicks on the activities, a default search filter is added in the context, which is then applied on the view. But in the knowledge article, we don't have any search filters for the activities. Therefore, it renders all knowledge article records. **Solution:** Add search filters for the knowledge articles. opw-4997201 Forward-Port-Of: odoo/enterprise#93609
The rental search page no longer starts a new search automatically when customers adjust the rental dates. This prevents unexpected page changes and makes the search experience clearer, while also updating the search button to better match the site’s primary styling.
Original PR description
Steps to reproduce: 1. Navigate to the rental search snippet on the website. 2. Modify the date range using the date picker. 3. Observe that the search is triggered automatically, which is not the desired behavior. After this commit: - Updated the search button style to use the primary color. - Made the search trigger only when the button is clicked, preventing automatic activation when the date range is modified. Forward-Port-Of: odoo/enterprise#94296
Calendar export times for planning slots now use the correct timezone when no employee is assigned. This prevents incorrect shift times in downloaded calendar files and keeps tests reliable when demo data is not installed.
Original PR description
The test `test_planning_ics_file_without_assigned_employee` failed when running without demo data because the slot timezone was `Europe/Brussels` while the employee timezone was `UTC`.
The previous code in the method `ics_datetime()` converted to the slot timezone and then relabeled it as the employee timezone with `.replace(tzinfo=...)`, which shifted the actual instant.
This change ensures that ICS datetimes are always converted using astimezone to a single target tz:
- employee tz if the slot is assigned,
- otherwise the current user tz or `UTC` as fallback.
The test was also updated to assert the correct fallback `UTC` values:
`DTSTART:20230602T080000Z`
`DTEND:20230602T170000Z`
[runbot-231213](https://runbot.odoo.com/odoo/error/231213)
Forward-Port-Of: odoo/enterprise#93692This fix restores a missing dependency so the AI website live chat feature can be installed, uninstalled, and reinstalled reliably. It prevents setup errors caused by the module looking for website components that were no longer guaranteed to be present.
Original PR description
odoo/enterprise#93271 changed the dependencies from `ai_website, im_livechat` to `website, ai_livechat`, but this change is incorrect: in `snippets.xml` the module hooks onto `t[@id='ai_livechat_hook']` which is installed by `ai_website`. As a result trying to uninstall `ai_website` when `ai_website_livechat` is installed breaks reinstallation since the snippets view becomes invalid. Forward-Port-Of: odoo/enterprise#94543
This update standardizes how internal test helper tools are accessed in Studio-related tests. It helps keep the test suite easier to maintain and reduces the risk of future test breakages, without changing customer-facing features.
Original PR description
This commit reduces imports to the 'tests/_framework/' subfolder, which is meant to be accessed through the 'web_test_helpers' module as to reduce the amount of imports, as well as centralizing all web helpers to have a quick overview of the available helpers. Community: https://github.com/odoo/odoo/pull/225865 Forward-Port-Of: odoo/enterprise#94496 Forward-Port-Of: odoo/enterprise#94074
This change fixes an internal test by ensuring it uses vehicle data that is always available, rather than optional demo data. It helps keep validation runs stable across different database setups without changing customer-facing behavior.
Original PR description
In the [PR 91185](https://github.com/odoo/enterprise/pull/91185), the test was changed to comply with the new changes. In that test, a new vehicle was created using a model from the demo data. Since the demo data is not present in all databases, this caused a problem when the ID could not be found. To fix this, we now create a new model using a brand that exists in the data file and will therefore be present in all databases. See: https://runbot.odoo.com/odoo/runbot.build.error/231693?menu_id=405 I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#94495
This update makes Philippine report export files generate lines in a consistent order. It helps prevent automated test failures and improves reliability without changing business functionality.
Original PR description
Fixes an issue with tests that would fail when the order of the lines in the file where not consistent. We will be a bit more precise in the order by of the export queries, and for SAWT/QAP we will also sort the lines after grouping per schedules to ensure that the order is consistent there too. See runbot error 232581 Forward-Port-Of: odoo/enterprise#94405
This update corrects internal definition files for the Knowledge app so they match recent product changes. It helps maintain reliability for future development and reduces the risk of technical inconsistencies, with no expected direct change for end users.
Original PR description
Recent changes did not update d.ts accordingly. https://github.com/odoo/odoo/pull/227182
This fix makes the rental checkout test wait for the cart page and pricing updates before checking totals. It helps prevent false build failures caused by timing issues rather than real customer-facing problems.
Original PR description
steps to reprduce: 1. duplicate multi enterprise 18.0 database 2. run the tour `website_sale_change_rental_duration` in the duplicated database inspired from: https://github.com/odoo/enterprise/commit/c7542e897c537650966497065db9c7d033dcb8ee added a delay to wait when choosing the rental duration, after page is loaded when go to cart , check if the next page is loaded before checking untaxed amount build_error-227718 Forward-Port-Of: odoo/enterprise#94519 Forward-Port-Of: odoo/enterprise#89274
This fixes a display issue where start and end date fields in Planning could shift out of alignment after a user clicked away. The Planning screens now remain visually consistent, making scheduling forms easier to read and use.
Original PR description
currently, `start_datetime` and `end_datetime` fields became misaligned when the date field lost focus, due to the datetime formatting changes introduced in PR https://github.com/odoo/odoo/pull/218387. This fix ensures the fields are properly aligned. task-5046364 Forward-Port-Of: odoo/enterprise#93371
Studio exports no longer fail when they include binary fields that are not stored as attachments. This makes data exports more reliable for users working with custom Studio fields.
Original PR description
**Before:** Attempting to export non-attachment binary fields using the `Studio Export` would cause a traceback. **After:** Non-attachment binary fields can now be successfully exported from `Studio` without error. task-4888937 Forward-Port-Of: odoo/enterprise#94230 Forward-Port-Of: odoo/enterprise#93781
The bank reconciliation screen no longer shows an extra line above action buttons. This restores visual clarity and makes the button area easier to read for accounting users.
Original PR description
During this commit: https://github.com/odoo/enterprise/commit/f9725d7b01cbd1235f022821a6861adb2955e49e we added a line above the buttons, but we lost some clarity, so this commit will remove it task-5082695 Forward-Port-Of: odoo/enterprise#94631
This fixes an issue in the manufacturing master production schedule where planning calculations could incorrectly use horizon days. The change helps keep production planning dates and quantities aligned with the intended schedule, reducing confusion for planners.
Original PR description
19.0 post-freeze bug pad