Tuesday, September 16, 2025
64 changes · 19.0
Enhancements to existing features
A menu entry for financial budgets has been brought back, but only when debug mode is enabled. This gives support and accounting teams an easier way to inspect or import budget records without cluttering the normal user interface.
Original PR description
This menuitem was removed with the idea to clean the view, but we now have second thoughts. Having a means to access a tree view of those objects is interesting for debugging purposes and in order to import them. We now put in debug mode only, though. Forward-Port-Of: odoo/enterprise#94155
Stock valuation accounts are now labeled more clearly based on the type of stock location. Inventory loss locations use “Inventory Variation” and production locations use “Cost of Production,” helping users better understand what each account represents.
Original PR description
With this commit: --------------------------------- - Renamed stock valuation accounts based on the location type. If the location type is 'Inventory Loss', the valuation account is set to 'Inventory Variation' and if the location type is 'Production', the valuation account is set to 'Cost of Production'. - This change improves clarity and helps users better understand the purpose of each valuation account. Backport of #226423, as the target should have been 19.0.
The work entry calendar now loads a user's favorite work entries together with the rest of the calendar data, instead of separately during screen rendering. This makes the calendar data flow cleaner and can help avoid timing issues when displaying favorite entries.
Original PR description
Fetch userFavoritesWorkEntries in onWillRender is not appropriate. We fetch that info along the calendar data when needed.
Improved translations for Spanish Latin American language for some terms in MX localization task-4938338 target: 17.0 -> master Forward-Port-Of: odoo/enterprise#93967 Forward-Port-Of: odoo/enterprise#91875
Original PR description
Improved translations for Spanish Latin American language for some terms in MX localization task-4938338 target: 17.0 -> master Forward-Port-Of: odoo/enterprise#93967 Forward-Port-Of: odoo/enterprise#91875
The Discuss sidebar now shows the disconnect button with the same rounded call-control styling used for starting or joining calls. This makes call actions more visually consistent and easier for users to recognize.
Original PR description
Before this commit, "disconnect" discuss sidebar button had the same style as any usual danger action like "leave" / "unpin" conversation. The style is fine by itself, but the "join" / "start" call button has a special style compared to all other thread actions: this is a circled icon with success background color. This style is intended for all join/leave discuss actions, which is properly done for success actions and some danger ones like "disconnect" in call actions, but the thread action "disconnect" was missing it. This commit changes the style of "disconnect" thread action so that it matches the style of other join/leave call actions. Before <img width="467" height="198" alt="Screenshot 2025-09-15 at 17 05 51" src="https://github.com/user-attachments/assets/6a63266d-5760-41b0-b2dc-f63be143e40e" /> After <img width="475" height="179" alt="Screenshot 2025-09-15 at 16 52 09" src="https://github.com/user-attachments/assets/c75abb7d-ccff-44b4-9a9e-8686dcdf70f5" />
This update adds automated checks for event-related Point of Sale flows, including event selection, registration, and adding event products to an order. These tests help ensure event sales continue to work reliably as the system evolves, reducing the risk of regressions for businesses using POS events.
Original PR description
In this commit: ------------ - We are adding hoot test cases to verify that components return values according to the passed parameters for components like `event_configurator_popup`, `event_registration_popup`, and `event_slot_selection_popup`. - Also, we are adding a test for the `addProductToOrder` method available in the `product_screen` component to ensure the order line is added to the order seamlessly. - Then, we are adding a test for the `createDummyProductForEvents` method available in the `pos_store` service to verify that the products are created for all the loaded events in the POS. task-4945631 Forward-Port-Of: odoo/odoo#220734
The attendance work entry type now uses an updated color to make it easier to recognize in HR work entry views. This is a small visual improvement that helps users distinguish attendance entries more clearly.
Original PR description
Change the color of attendance work entry type task-5068597
Demo barcode values were refreshed across several Odoo sample datasets. This makes demo flows for sales, manufacturing, inventory scanning, and restaurant point of sale more realistic and consistent for evaluations and training.
Original PR description
*: product,sale{_stock},mrp,pos_restaurant,
mrp_workorder,stock_barcode
Revamp the barcodes of some products.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prDemo data now uses updated barcodes for products across manufacturing, sales, point of sale, and inventory workflows. This makes sample scenarios more consistent and realistic for demonstrations, testing, and training without changing live business operations.
Original PR description
*: product,sale{_stock},mrp,pos_restaurant,
mrp_workorder,stock_barcode
Revamp the barcodes of some products.Resolved issues and error corrections
This fixes a visual issue in sales orders where option controls could overflow on combo product lines after shortened text. The change keeps the order line layout tidy and prevents distracting or confusing on-screen display issues for users.
Original PR description
In odoo/odoo@520bb2ff8eb165e4a9389db6300192f9b4a05dfd the styling applied on the `.o_list_section_options` was removed for utility classes. However these utilities were not applied on the combos, rendering an overflow after the ellipsis. task-5089909 Issue: <img width="961" height="583" alt="image" src="https://github.com/user-attachments/assets/fe4f7cd9-da3e-4ca5-98f5-0101d3a95012" /> --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Features or functions removed from Odoo
An unused internal method was removed from the Accounting Reports module. This cleanup reduces maintenance overhead without changing how users create or view reports.
Documentation and clarification updates
This updates Quartile's corporate contributor agreement documentation. It keeps Odoo's legal contribution records current, with no expected impact on product features or users.
Original PR description
@qrtl --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#226204
Miscellaneous changes
This pull request reverses a previous change in the website testing area because the underlying issue will be handled through a different follow-up fix. It has no direct customer-facing impact and mainly keeps the test suite aligned while the better solution is prepared.
Original PR description
This commit reverts [1]. The issue will be challenged in another way. See [comment] and will probably be fixed by this [PR] [1]: https://github.com/odoo/odoo/commit/1b161ed2e7008dd0d0016ab78a5e1f2a18e4e7a1 [comment]: https://github.com/odoo/odoo/pull/227125#issuecomment-3292055073 [PR]: https://github.com/odoo/odoo/pull/227224
This update aligns internal developer reference files with recent changes across messaging, HR, live chat, portal, project, and website features. It helps reduce development errors and keeps future maintenance smoother, without changing day-to-day user behavior.
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/94768
This fixes how sales down payment references are validated so they match the invoice's accounting date rather than the sales order creation date. It helps ensure down payment information stays consistent with invoicing records and avoids false test 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
This fixes an internal mismatch in the Knowledge app after recent changes. It helps keep the app's supporting code aligned, reducing the risk of developer-facing errors without changing user workflows.
Original PR description
Recent changes did not update d.ts accordingly. https://github.com/odoo/odoo/pull/227183
Delivery operations now show the correct location label, using "From" because goods leave from the dock. This helps users read delivery details more accurately and reduces confusion during warehouse operations.
Original PR description
Deliveries send goods from the dock location. Therefore, If the operation type is a delivery it will show "From" instead of "To". Description of the issue/feature this PR addresses: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an internal test dependency in the online rental shop area so automated checks can run reliably. It helps prevent false build failures and keeps rental-related website changes moving through validation smoothly.
Original PR description
runbot-error-232620
This fix removes a fragile dependency from automated website tour tests, helping prevent avoidable test failures. It improves reliability for quality checks without changing the customer-facing website experience.
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
The website payment support widget now only displays card brands and payment options that are actually active and usable. This prevents customers from seeing unavailable options such as Visa or Mastercard when the main card payment method has been disabled.
Original PR description
On the Support Payment Methods widget, we only wanna display the brands where the associated primary method is active, as those are the ones we can actually pay with. When deactivating the Card (primary) payment method, the related brands (Mastercard, VISA, ...) will be removed from display. <img width="555" height="272" alt="image" src="https://github.com/user-attachments/assets/473f816d-d709-4c71-bdc5-9c31789d31bc" /> opw-5083539
Users without administrator rights can now open return checks without encountering an access error. This prevents unnecessary interruptions for accounting staff and makes the return check workflow more reliable.
Original PR description
Before this fix, trying to open a return with a user not having the administration rights caused an access error. This was because the computation of that field tried to access the name of an ir.model record.
This change makes an existing web framework helper available for reuse by other parts of Odoo, such as Studio. It supports more consistent behavior when checking conditions over time without duplicating logic.
Original PR description
Because waitUntil maybe used in its own sake to periodically check a predicate (in studio) and because macro.js is a standard framework tool, we export its waitUntil function Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an unnecessary warning about listening on all network addresses when Odoo's web server is not enabled. It reduces misleading startup messages for administrators while keeping the warning in place when it is relevant.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update removes an unnecessary dependency used by Odoo Studio and switches to an existing shared function. It helps keep Studio lighter and avoids loading code that is only needed for guided tours, with no expected change for users.
Original PR description
HootDom is lazy loaded and necessary only in tours. Studio uses the waitUntil function, but it is also findable in macro.js in @web/core
This fix prevents Point of Sale users from seeing an incorrect warning that another user is closing their session. It helps avoid confusion during session closing by ensuring the system checks the session information correctly.
Original PR description
Issue: When closing session on a pos the warning: "The session is being closed by another user. The page will be reloaded." was shown. Fix: The condition in the closingSessionNotification was strictly comparing an int with a string. 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
US check printing now relies on the correct US accounting package instead of the broader US localization package. This helps ensure the feature has the accounting components it needs, reducing setup or installation issues for customers using printed checks.
Original PR description
It should depend on `l10n_us_account`, not just `l10n_us`.
Product snippets on the website now only show a crossed-out original price when a real discount applies. The fix also respects currency rounding, helping avoid misleading discount displays for shoppers.
Original PR description
Commit 43d5226b500d64c3902eb1528e5d8e461766982c removed the condition on when discount should be shown So it was always shown by default. Additionally, we use the currency compare amounts method to make sure rounding values are respected. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The website shop editor now includes the missing Overlay option for the Showcase Product Design. This fixes an editing gap so business users can apply the intended visual styling to product tiles more easily.
Original PR description
This commit adds the missing Overlay option for the Showcase Product Design. task-5090301 <img width="1919" height="779" alt="Capture d’écran 2025-09-15 à 16 03 52" src="https://github.com/user-attachments/assets/badb1525-c9f8-4298-853a-1d89f6f8897c" /> --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Studio exports now handle binary fields that are stored outside attachments without causing an error. This prevents export failures and helps users retrieve their Studio data more reliably.
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
DIN5008 report layouts no longer show the customer phone number in the address block, and the customer VAT number is moved out of that address section. This keeps German-style documents cleaner and places tax details in a more appropriate part of the report.
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 fix makes point of sale test scenarios search for a customer before selecting them, ensuring the customer is available in the list. This reduces false test failures and helps keep POS-related quality checks stable without changing everyday user workflows.
Original PR description
### After this commit: - In test cases, before selecting a customer, perform a search to ensure the customer is loaded into the list if it is not already present. Runbot Err: 230518 task: 5068285
This fix ensures a setup-related warning only appears when it is relevant to starting the server/database. Business users and administrators will see fewer confusing messages when running unrelated commands, making system maintenance clearer.
Original PR description
The deprecation warning for `--http-interface` not being present in the config file was also shown for commands that don't start the database, while it's something directly related to it.
PDF documents will no longer show very small negative amounts as values like "-0.00" after rounding. This avoids confusing customers or users by displaying these amounts cleanly as "0.00".
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#224292Fixes an issue where opening the invoice line form view in Studio could trigger an error before a new invoice was saved. This improves reliability for users customizing invoice screens and prevents an unnecessary interruption during setup.
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
A small spelling mistake was fixed in the website image shape definitions. This helps ensure image shape options are referenced consistently and reduces the chance of display or configuration issues.
Original PR description
Fix typo: change 'anmated' to 'animated' in image shape definitions. Forward-Port-Of: odoo/odoo#226865
Mexican electronic invoices now use the same customer fiscal regime in both the PDF and XML versions. This prevents confusion when invoices are issued to child contacts whose fiscal regime differs from the parent company, keeping customer-facing documents aligned with official CFDI data.
Original PR description
In l10n_mx: - Create a child contact under a company contact. - Set the fiscal regime of the child contact to one different from the company’s fiscal regime. - Create an invoice with the child contact and send it to the CFDI. In the XML, the fiscal regime used is the company’s, whereas in the PDF it is the child contact’s. This commit applies the same logic from _add_customer_cfdi_values to the PDF generation. After this change, the fiscal regime shown in the PDF will be the company’s, consistent with the XML. opw-4989605 Forward-Port-Of: odoo/enterprise#94259 Forward-Port-Of: odoo/enterprise#92482
Users can now turn the “include file store” option on or off by clicking its label, not just the checkbox. This makes the database management screen easier to use and reduces small usability frustrations.
Original PR description
before this commit, to select and unselect the newly added include file store option, user has to click on the checkbox after this commit, user can select or deselect the value even by clicking on the field label --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix allows the portal signature form to be used on regular pages, not only inside pop-up windows. It prevents an error that could block users from completing signature actions in custom portal flows.
Original PR description
Description of the issue/feature this PR addresses: Be able to use the portal signature form outside of a modal. Current behavior before PR: If the signature form (```<t t-call=“portal.signature_form”>```) is used outside of a modal, an error occurs: ```TypeError: Cannot read properties of null (reading 'addEventListener')``` Desired behavior after PR is merged: The signature form can be used outside of a modal. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#224564
This fix ensures that when a user sets a custom delay for statutory report deadlines, that value is respected instead of being overridden by default rules. This helps businesses in Estonia, Ireland, and the UK rely on their configured reporting schedules for Intrastat and local tax reports.
Original PR description
deadline_days_delay should be used if a value is set by a user.
This fixes an error that appeared when opening the website editor while debug mode was enabled. Users and support teams can now use debug mode with the website editor without being blocked by a dependency issue.
Original PR description
Steps to reproduce: 1. Install the website module. 2. Enable debug mode and open edit mode. - A dependency error appears. Issue: A wrong import caused a dependency error when opening edit mode with debug enabled. Fix: Correct the import to resolve the dependency error.
The Barcode app now hides a product description when it simply repeats the product name. This keeps reception lines easier to read and avoids confusing duplicate information for warehouse users.
Original PR description
Steps to reproduce: - Create a product - Open the Barcode app - Create a new reception and add the product Issue: The description is displayed even though it's the same as the product name. Since in barcode we don't get the product's `display_name` with its code as they're treated separately, we need to reconstitute it to be sure it's not the same as the description in order to know if we want to display it or not. Task-4901289 Forward-Port-Of: odoo/enterprise#94623
Fixes an issue where opening the tours list could fail when no interactive tour was currently running. This keeps the tours list accessible and prevents an unnecessary error screen for users or administrators.
Original PR description
Before this commit, if you don't have a running tour and try to access to the tours list view, you got a traceback. Now, the traceback is fixed. The error was due to the new lazy load of the tours. The files that concerned the list view of the tours was in an asset that was loaded only when an interactive tour was running. Lazy load pr: https://github.com/odoo/odoo/pull/224571 TASK-ID: 5089053 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Receipt descriptions now keep the product name when it is part of a longer instruction. This prevents important receiving instructions from being accidentally shortened or made unclear for warehouse users.
Original PR description
Steps to reproduce: - Create a product - Set a description for receipts that uses the product name somewhere in the text - Create a reception for that product Issue: The product name will be removed from the reception instructions. The intended behavior was to avoid displaying the same information if the description was the same as the product's display_name. So we only check that now, rahter than do a replace in the description. Task-4901289 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#226925
The website product management view now displays product cards with better spacing, especially on smaller screens. This makes the product list easier to read and use by moving the toggle below the main product information instead of squeezing it beside the content.
Original PR description
This PR fixes an issue about the products kanban view being too condensed due to a toggle rendered next to the `<main>` tag. This was especially impacting the mobile due to the screen size and the width of the content. | 19.0 | This PR | |--------|--------| | <img width="357" height="383" alt="image" src="https://github.com/user-attachments/assets/d377a99a-b192-468a-8d74-7841cecd469e" /> | <img width="358" height="409" alt="image" src="https://github.com/user-attachments/assets/db1490bc-a84d-4f8c-a401-8b92f74f49e9" /> | With this PR, we tweak the flex layout to ensure a good visual result across breakpoints, mainly by rendering the toggle below the other elements of the record. task-5090547 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents connection-loss messages from being reported after an automated tour has already finished. It helps keep test results cleaner and avoids distracting teams with errors that do not affect real users.
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/
This fix stabilizes automated checks around the Discuss command palette so clicks are only tested when the interface is ready. It also corrects supporting test data, helping reduce false failures and keeping development validation more dependable.
Original PR description
Before this commit, clicking on some elements of the command palette would not trigger the associated event, this was probably caused by clicking on outdated owl fragments which cannot trigger events while being destroyed. This commit fixes this issue by making sure that the interface is in a stable configuration before clicking. The commit also fixes the mock of `discuss/search` ( for https://github.com/odoo/enterprise/pull/94075 ) and a test that was incomplete and relied on the incorrect implementation https://runbot.odoo.com/odoo/runbot.build.error/112148 Forward-Port-Of: odoo/odoo#225951 Forward-Port-Of: odoo/odoo#225844
This fix makes automated checks for the WhatsApp command palette more reliable by waiting for the interface to be ready before interacting with it. It reduces false test failures, helping keep development and release validation stable without changing end-user behavior.
Original PR description
Before this commit, clicking on some elements of the command palette would not trigger the associated event, this was probably caused by clicking on outdated owl fragments which cannot trigger events while being destroyed. This commit fixes this issue by making sure that the interface is in a stable configuration before clicking. https://runbot.odoo.com/odoo/runbot.build.error/112148 Forward-Port-Of: odoo/enterprise#94075
This change prevents an internal automated test from failing because of an unlucky database identifier value. It helps keep quality checks stable without changing product behavior for users.
Original PR description
The database_id is an uuid. It can happen that it contains the substring "1337". The test only needs to check if the value is not in the "prompt" or "conversation_history" keys. Thus we can remove the "database_id" key runbot-198561 Forward-Port-Of: odoo/enterprise#94807
The Discuss call action buttons now have slightly softer corners so they visually fit better alongside the round join and leave buttons. This creates a more coherent and polished calling interface without changing how users interact with it.
Original PR description
Before this commit, all call actions but the special buttons "join" / "leave" were almost squared, whereas the "join" / "leave" buttons were circles. The circle design of the "join" / "leave" buttons…
Before this commit, all call actions but the special buttons "join" / "leave" were almost squared, whereas the "join" / "leave" buttons were circles. The circle design of the "join" / "leave" buttons is very much what we want, for recognizable shape and consistent in all Odoo such as with VoIP app. The other buttons are not circle because it looks best when inline and grouped. However, the square buttons with rounded circle look slightly off as if there's a clash of design. This commit remedies the problem by adding slight roundness to the square discuss actions that are not circle. This is almost unnoticeable when just looking at the square buttons, but when next to the circle button this looks like they fit together more than before. Before / After <img width="354" height="169" alt="Screenshot 2025-09-15 at 13 59 25" src="https://github.com/user-attachments/assets/f1505ae3-abfd-4b64-94bf-c554ed74e9c8" /> <img width="354" height="167" alt="Screenshot 2025-09-15 at 13 59 05" src="https://github.com/user-attachments/assets/b41100e0-b3bc-408f-8206-6dc2a77aa6c9" />
Mobile users now see the template name as the main detail when browsing Sign templates, instead of the creation date. This makes it easier to pick the correct template and keeps the mobile experience aligned with desktop.
Original PR description
### Issue: - In mobile view, the template list was showing the creation date instead of the template name. - This made it hard to know which template you were selecting. --- ### Fix: - Changed the mobile view to show the template name as the main info. - The creation date is still shown, but as extra information. --- ### Impact: - Easier to find the right template on mobile. - Mobile and desktop views now look consistent. --- Task: 5038933 Forward-Port-Of: odoo/enterprise#93072
The add snippet dialog now uses standard colors that work better in dark mode. This improves readability and contrast when users search for or select website building snippets.
Original PR description
The add snippet dialog is using custom colors on its `list-group` items which breaks the color-contrast when displayed in darkmode. This commit removes `list-group-item-light` to rely on default list-group colors, and uses bootstrap CSS variables to handle the custom active background color and color. Creates a `add_snippet_dialog.dark.scss` to handle the background of the searchbar. task-5075140 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The product page image carousel now makes the selected thumbnail easier to identify. This improves the shopping experience by reducing confusion when customers browse products with multiple images.
Original PR description
Steps ----- 1. Have a published product with multiple images; 2. go to its website page; 3. open website editor; 4. set Images Ratio to Wide; 5. enable pop-up on click; 6. save; 7. browse through the images. Issue ----- - While there is a border around the active thumbnail in the bottom row, it is barely visible, making it difficult to see which image is currently being shown. Cause ----- - The border is only 1 pixel wide. Solution -------- - Increase the width of the border to 4 pixels, change the color to `$primary`, and hide the border for inactive images. - Set opacity of thumbnails that aren't selected or hovered over to 0.5. opw-4908881 Forward-Port-Of: odoo/odoo#224644
Signed document emails now use the correct document name for each attachment. This prevents duplicate-looking attachment names and avoids adding an extra .pdf extension, making completed signing emails clearer for recipients.
Original PR description
Steps to reproduce: 1. Install Sign. 2. Configure an outgoing email server. 3. Send a sign request for 2 or more documents to the admin (use your own email) 4. Open the email, sign and validate the documents. 5. You will receive an email. **Issue:** - You observe there are attachments in the email with same name and an extra `.pdf` as file extensions (e.g. `abc.pdf.pdf`). **Cause**: https://github.com/odoo/enterprise/blob/a1cd174c65fa181701cc3c5883fb5ab43b2803d8/sign/models/sign_request.py#L588-L594 - The code used `record` instead of the current `document` to determine the attachment name, causing the wrong generated name. **Solution:** - Use the `document` name when generating the attachment filename. opw-4965405 Forward-Port-Of: odoo/enterprise#92183
Restores the expected colors for item lists in Point of Sale, such as categories and presets. This fixes a visual issue where these items appeared white, making the interface less clear for users.
Original PR description
Since this PR (https://github.com/odoo/odoo/pull/225887) the colors of the colorlist items was not set anymore (since the does not have the class `o_colorlist`). This was causing the colors of the categories or preset to be white. We'll uniformize the class with the new design theme later. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an accounting issue where a credit note could display PDF attachments from a reconciled invoice in its chatter. Reconciled document attachments will now appear only in the bank reconciliation widget, keeping standard accounting records cleaner and less confusing.
Original PR description
Problem --------- In odoo/enterprise#85991, attachments from reconciled moves were displayed in the chatter along side the moves' attachments. This change was meant to affect only the bank reco widget. However, its scope reached the standard accounting behavior. STEPS --------- 1. Have 'account' installed 2. Create a move 3. Confirm and create the PDF attachment from the Send&Print 4. Create a credit note from it 5. Confirm the credit note -> The 2 moves are now reconciled and the PDF of the invoice is shown in the chatter of the credit note Objective --------- Only show reconciled moves' attachments in the bank reco chatter. Solution --------- Add a context key that is added when the Bank Reco widget is created and remove it when it is deleted. opw-####### Forward-Port-Of: odoo/enterprise#94442
The Documents app now consistently shows the Activities button in the chatter panel for every document, including files linked to other apps such as Sign. This prevents users from missing activity tracking options when reviewing document details.
Original PR description
Step to Reproduce: - Install `Documents_sign` module - open Documents - click on 'info & tags` button on the top right corner to show chatter - Open 'Odoo CLA.pdf' document Observation: - The Activities button is not shown in Chatter. Issue: - after this https://github.com/odoo/enterprise/commit/a32825ee00f2b330d99113f4d8c1488903fe744e, the activities button shows only for those documents which are related to `documents.documents` model or a document has no model, but it should be shown for all documents https://github.com/odoo/enterprise/blob/23fb26ae0f91a5bdb74d0d4fce48b31fa7abef86/documents/static/src/views/kanban/documents_kanban_renderer.xml#L21-L26 Solution: - Remove condition for Kanban and list view to show `activities` button in Chatter opw-5013427 Forward-Port-Of: odoo/enterprise#94514 Forward-Port-Of: odoo/enterprise#93093
Deleting a message that includes a link preview now automatically removes the related preview as well. This prevents leftover previews from cluttering conversations and removes the need for manual cleanup.
Original PR description
**Specifications:** - Ensure link preview is removed when deleting a message. **Purpose:** - Previously, deleting a message with a link preview did not remove the preview, requiring manual intervention. - This fix ensures that when a message containing a link preview is deleted, its associated preview is also removed automatically, improving user experience. task-4678962 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#226971 Forward-Port-Of: odoo/odoo#204930
Fixed an issue where live survey participants could encounter an error when clicking the Results button after completing a scored survey. This keeps the survey flow stable and lets users view results as expected.
Original PR description
How to reproduce: - Create a live survey with one scored question - Do a live survey with one participant - At the end of the survey, click on "Results" button There is an error. We solve the problem by reading the event to determine if the result should be displayed or not at the top of the method as it is modified later (by waitFor on orm call as observed). Task-5090443
The Time Off request form no longer shows an extra date range toggle when employees choose leave dates. This prevents confusion and keeps the date selection experience consistent with the intended workflow.
Original PR description
Before this commit the ´o_toggle_range´ button was shown in the picker due to the following rule:
´´´
showRangeToggler:
this.relatedField && !this.props.required && !this.props.alwaysRange
´´´
As we can see, the button does not appear when the field is required. However, in this case, the `request_date_from` field was not always required, which is why the button appeared.
To fix this issue, we now force it to be hidden by using `alwaysRange`.
task-5085529
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-prThis fixes which payment action button appears when a new partner is created from bank reconciliation. The system now uses the statement amount to choose the correct button, avoiding confusing payable options for partners without customer or supplier history.
Original PR description
When creating a new partner from the set partner button, the partner doesn't have any rank (supplier or customer), this lead to have the payable button to be displayed since the condition to have it is to have a partner and not (customer_rank > supplier_rank). Since supplier rank and customer rank are 0 it will be False which lead to the button to be displayed. no task id Forward-Port-Of: odoo/enterprise#90435
This fix ensures selected website color palette names are saved in the expected format. It helps prevent theme customization issues caused by incorrectly stored palette settings.
Original PR description
Since the refactoring, the `color-palettes-name` value is not surrounded by quotes in the `user_values.scss` anymore. This commit restores the quotes upon selection. task-4367641 Forward-Port-Of: odoo/odoo#224425
Studio now requires users to choose a related record type when creating AI-powered relationship or tag fields. This prevents incomplete setup from causing crashes and gives users a clear visual warning before they continue.
Original PR description
When adding an AI field of type Many2one or Tags, the Relation field was optional. If left empty, it caused a crash. This commit enforces that a Relation must be selected before confirming the dialog: - Add a red highlight if Relation is missing - Prevent field creation by returning early Task-5055796 Forward-Port-Of: odoo/enterprise#93873
Opening the duplicate transaction wizard directly no longer causes an error when no accounting journal is linked. This prevents an unexpected crash and makes the accounting workflow more reliable for users who access the view outside the usual path.
Original PR description
Currently, an error occurs when users try to open the view directly. Steps to reproduce: --- - Install `Accounting` module - Using Open View, Open `account.duplicate.transaction.wizard` view Traceback: --- `ValueError: Expected singleton: account.journal()` This error occurs because no account journal is linked to the wizard at [1], resulting in an empty `account.journal`. [1]- https://github.com/odoo/enterprise/blob/08564f3312c255f2f3ab95cef5a9bfc57727bd1f/account_online_synchronization/wizard/account_journal_duplicate_transactions.py#L32 sentry-6812500330 Forward-Port-Of: odoo/enterprise#94538
Forum users editing their profile will now see biography content rendered properly instead of seeing visible HTML tags. This makes profile editing clearer and prevents confusion when existing formatted biographies are opened.
Original PR description
Currently, when opening the dialog to edit the user profile in Forum, the biography field is shown as raw text and displays the HTML tags instead of rendering them. Steps to reproduce the issue: 1. Open a forum 2. Click on your avatar to open your profile (/profile/user/<user_id>) 3. Click on the "EDIT PROFILE" button => The biography is displayed as text while it should be rendered as HTML Since this [fix], the editor renders markup as HTML and strings as text. To ensure that the profile dialog correctly renders the field, we now convert the field value into markup so that the editor interprets and renders the HTML properly. [fix]: https://github.com/odoo/odoo/commit/560fca7e94b232a7e2c9ad452a9772367c34204b task-5005880