Daily updates from Odoo
Wednesday, March 5, 2025
18 changes
1 change
Resolved issues and error corrections
This fix prevents document uploads from crashing when a customized action creates or changes a token incorrectly. It makes the Documents app more reliable in environments with custom workflows, reducing interruptions for users handling file uploads.
Original PR description
Bug === Some custom actions might change the token for some reason, if that code is badly implemented, it will result in a crash when uploading on the request. Task-4492764
17 changes
Resolved issues and error corrections
This fix makes an automated online shop test wait slightly longer before checking results, reducing random failures in the testing system. It helps keep quality checks stable without changing customer-facing website behavior.
Original PR description
Versions -------- - 18.0+ Issue ----- The `website_sale_contact_us_button` tour fails randomly on Runbot. Cause ----- 50 ms check delay is inadequate. Solution -------- Set check delay to 500 ms. runbot-145471 runbot-145473
This fix ensures list views apply their configured properties when they are displayed. It helps prevent missing or incorrect behavior in customized list screens, improving consistency for users who rely on tailored views.
Original PR description
Before this fix, the list widget's extractProps function was never called due to an incorrect method reference in the web module. This caused issues when rendering dynamic props or customizing the list view behavior. After the fix: - The extractProps function is properly invoked. - The list widget can now retrieve props values as expected. Closes #200296 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
Portal chatter avatars now keep their intended shape even when the original image is not square. This prevents distorted profile pictures in customer-facing message threads, improving visual consistency and professionalism.
Original PR description
Before this commit, some messages in portal chatter may have avatar squished vertically or horizontally when the source image of avatar is not a square. This happens because avatar are cropped to fit cover with `.o_object_fit_cover`, in order to give the right visual when the avatar doesn't fit in a square. The classname was present but the SCSS file defining this rule was missing from the ` "portal.assets_chatter_style"` bundle, which this commit fixes. Before  After 
Duplicating a customer payment will no longer automatically keep it linked to the same invoice. This prevents confusing duplicate payments that appear connected to an invoice and cannot be adjusted, helping accounting users avoid payment allocation errors.
Original PR description
Versions -------- - 18.0+ Steps ----- 1. Have an unpaid invoice; 2. create a payment using the "Pay" button; 3. go the the payment; 4. duplicate payment. Issue ----- Duplicate payment is linked to the same invoice, with no way to change this. Cause ----- The `invoice_ids` field was added to `account.payment` in commit 01b87f1230bea. Before it, it relied on the reconciliation mechanism to link payments to invoices. Solution -------- Add `copy=false` to the field declaration, to prevent it from getting duplicated, and let other flows handle linking it to the desired invoice. opw-4555499
Portal users editing task descriptions can now see checklist checkboxes correctly, matching the backend editing experience. The update also removes an unwanted focus outline in the editor, making task editing look cleaner and more consistent.
Original PR description
**Problem**: When a portal user edits a task's description and adds a checklist, the checkboxes do not appear as they do in the Odoo backend (e.g., in the To-Do app). This occurs because the editor is rendered in an `iframe` with only `html_editor` loaded, while checklist styles are in `web_editor`. **Solution**: Add checklist styles to `html_editor`. **Steps to Reproduce**: 1. Share a project with **"Edit"** permission for a portal user. 2. Log in as the portal user. 3. Go to any task inside the project. 4. In the description, add a checklist using `/checklist` command. - **Issue**: No checkboxes appear. opw-4481993 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixes an issue in the HTML editor where closing the link popup for an image without entering a URL could trigger an error. This improves editing reliability and prevents interruptions when users cancel or click away from link editing.
Original PR description
**Problem**: When an `img` is inside a link, `removeCurrentLinkIfEmpty` removes the `<a>` node if no `href` is provided. This resets `linkElement` to `null`. This happens if the user clicks outside the link popover (when is is open) without entering a URL, it results in a traceback due to an invalid reference. **Solution**: Ensure `linkEl.isConnected` before defining popover properties to avoid referencing a removed element. **Steps to Reproduce**: 1. Add an image. 2. Click on the image > toolbar > "Link". 3. When the link popover appears, click outside without typing a URL. 4. Observe a traceback. opw-4546324 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures list widgets correctly read and apply their configured properties when screens are displayed. It helps customized list views behave as intended and reduces display or behavior issues for users.
Original PR description
Before this fix, the list widget's extractProps function was never called due to an incorrect method reference in the web module. This caused issues when rendering dynamic props or customizing the list view behavior. After the fix: - The extractProps function is properly invoked. - The list widget can now retrieve props values as expected. Description of the issue/feature this PR addresses: Current behavior before PR: widget extractProps do not execute correctly Desired behavior after PR is merged: widget extractProps execute correctly, and props are passed correctly --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixed an issue where text in table cells could become invisible after applying a light background and switching to dark mode. The editor now keeps text readable by applying an appropriate default text color when a background color is set.
Original PR description
**Problem**: When applying a light background color to a table cell, switching to dark mode changes the text color to white, making it invisible. **Solution**: When setting a background color on a block element, also apply the default text color. This ensures text remains visible in both light and dark modes. **Steps to Reproduce**: 1. Add a table. 2. Change the background color of cells to white. 3. Switch to dark mode. 4. Observe that the text inside the cells is not visible. opw-4546663 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Portal users editing shared project tasks now see checklist checkboxes and editor styling correctly. This makes task descriptions behave consistently with the main Odoo backend editor and avoids confusion when using checklist features.
Original PR description
**Problem**: When a portal user tries to edit a task's description by adding a checklist, the checkboxes do not appear as they do in the Odoo backend (e.g., in the To-Do app). This occurs because the editor is rendered in an `iframe` without loading the required CSS classes. **Solution**: Load `web.assets_backend` to include all necessary CSS for the editor. **Steps to Reproduce**: 1. Share a project with **"Edit"** permission for a portal user. 2. Log in as the portal user. 3. Go to any task inside the project. 4. In the description, add a checklist using `/checklist` command. - **Issue**: No checkboxes appear. - **Issue**: Other styles, like the editable border, are missing. opw-4481993 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a web interface issue where list view widgets were not applying their custom settings as intended. Users and implementers should see more reliable behavior when list views depend on dynamic configuration or custom display options.
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
Published Knowledge articles now include their main content directly in the page HTML instead of waiting for browser-side rendering. This helps search engines and other crawlers read public articles even when JavaScript is disabled, improving discoverability without changing the visible article experience.
Original PR description
Ensure that the HTML for Knowledge published articles is not delayed by OWL rendering promise. The content of the article should be available for web crawlers even with JavaScript disabled. The sidebar will still be loaded as a Component for convenience, and PublicWidget introduced through this commit will be converted to Interaction in future versions. task-4563216
Users can now make a copy of previous versions of quotation and quality control spreadsheet templates without hitting an error. This restores expected version-history behavior and prevents disruption when reusing or reviewing template revisions.
Original PR description
Prior to this commit, we get an error when we try to make a copy of a certain revision of a quotation/quality template spreadsheet. This is due to the method `_creation_msg` which was not implemented after inheriting the `spreadsheet.mixin` class. Steps to reproduce: - Go to Sales > Configuration > Quotation Templates (or Quality Control Templates) - Create a quotation template - Select the quotation calculator field and create a new quotation spreadsheet - In the quotation spreadsheet, select File > See version history - Select the three dots on any version and click "Make a copy" - Traceback occurs task-4568319
Payslip payments now fall back to the company currency when no payment currency is set. This prevents errors when reversing payroll-related journal entries, helping payroll and accounting teams complete corrections reliably.
Original PR description
Currently, an error was occurring when a user tried to reverse a journal entry by following these steps: - Install ``Accounting`` and ``Payroll`` module - Enabled payroll entries in Payroll >ā¦
Currently, an error was occurring when a user tried to reverse a journal entry by following these steps: - Install ``Accounting`` and ``Payroll`` module - Enabled payroll entries in Payroll > Configuration > Settings. - Created a new employee and its corresponding contract in payroll > Create a bank account and enable ``Send Money`` in ``Private Information`` - In ``Contract`` change state from `New` to `Running` > Click on `Payslips` - Computed the payslip > generated draft journal entries > add lines in journal items and click `Pay` in payslip. - Go to ``Journal Entry`` and make a ``Reverse Entry``. ValueError: Expected singleton: res.currency() The issue occurs at [1] because, when a user makes a payment from a payslip after posting journal entries, the ``currency_id`` is not available. [1] - https://github.com/odoo/odoo/blob/0583db332efdc884975da1a074c91981d2865c9d/addons/account/wizard/account_payment_register.py#L972 This commit will fix the above issue by providing default company currency when currency is not available. sentry-6207053954
This fix prevents the point-of-sale scale service from showing an error when a weighing scale is not connected. It improves reliability for stores using POS IoT devices and backports the correction to the 18.0 version.
Original PR description
During the forward port of the scale certification PR (#75269), an issue was found where the scale service would throw an error when the scale wasn't connected. This doesn't cause any issues in 18.0 so wasn't caught in the original PR - this PR is backporting the fix to 18.0.
The ISO20022 payment file generation has been corrected so batch payment XML better matches bank requirements. This helps avoid rejected vendor payment files, including for banks expecting the newer ISO20022 structure.
Original PR description
Ensure that the ISO20022 payment method is enabled. Make a payment (ex, for a vendor bill) with the ISO20022 payment method. Make a Batch payment for the ISO20022 payment method. Add the payment, then validate the batch payment. Exact steps (or video) of correct behavior (on runbot): N/A Attachment: Technical guidelines for the customer's bank, NatWest. Other info : The generated XML file is poorly formatted in several ways. First, the element <BIC> should be <BICFI>. MKS found some documentation on a previous ticket (from ISO20022 website?) that mentions this change is required for pain.001.001.09. Second, the element <ReqdExctnDt> must have the <Dt> sub-elements within its contents. It appears that both of these changes were made for the SEPA payment module, but not for the ISO20022 module. opw-4557951
Appointment validation pages now show assigned resources and attendee lists correctly based on the appointment display settings. This prevents missing or misplaced information when confirming bookings, especially for automatically assigned time slots or calendar meetings without an appointment type.
Original PR description
Purpose ======= Fix the display of the resource on the validation page when in 'time_auto_assign'. Specification ============= If the apt type setting is: - 'time_auto_assign' and 'no_picture': resource(s) not displayed - 'time_auto_assign' and 'picture': if one resource -> displayed on the right with its picture if more than one resource -> displayed in the validation details related commit: odoo/enterprise@9fe0c7ab9f3276e9a79ba79831660ee0d7787582 Task-4395325
The accounting export for journal items now works correctly again after a recent update caused failures. This helps accounting teams reliably export the data they need for reporting and analysis.
Original PR description
This FW Port https://github.com/odoo/enterprise/pull/80368 introduced a bug at the export of amls: - `rpc` is not bind to `ExportDataDialog` anymore -> we import it instead - since 18.0 -> `get_fields` get a domain in its parameters opw-4622877