Monday, June 30, 2025
18 changes · 18.0
Resolved issues and error corrections
This fixes how employee online status lists are combined in Time Off, replacing behavior that only worked accidentally. It reduces the risk of incorrect availability checks when showing or using employee presence information.
Original PR description
PR above made a typo in code in which list of "online" member IM status is a list of string, and it uses + to concatenate items like in python but this doesn't work in JS. Thankfully it kinda "worked" because this casted the array into list (e.g. `["a", "b"]` becomes "a,b") and other items were appended to string. Since this list was used for `.includes()` by chance the ".includes()" method is on Array and String and functionally this results to about the same intention... Again by chance! Forward-Port-Of: odoo/odoo#216598
This fixes Spanish SII reporting so credit notes identify OSS taxes using the correct refund tax information instead of invoice tax information. It helps ensure refunds are reported accurately and reduces the risk of incorrect tax data being sent.
Original PR description
Before this commit, the method _has_oss_taxes was determining whether a tax is OSS based on the tax_ids.invoice_repartition_line_ids.tag_ids This works fine for invoices, but for credit notes it should be based on tax_ids.refund_repartition_line_ids.tag_ids This commit solves this issue followup of: https://github.com/odoo/odoo/pull/215614 task-4548095 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#216603 Forward-Port-Of: odoo/odoo#216543
The mail message composer now keeps a consistent height when empty in Chromium-based browsers. This prevents the input box from visibly resizing as users begin typing, making messaging feel smoother and more polished.
Original PR description
Before this commit, composer height was too small when it had no content. This lead to composer changing height when typing some characters which looks off. This bug is specific to Chromium browsers and seems to be new since Chrome 138.0. The code expected that textarea had unchanged scrollheight when textarea has height 0 and fits its content in at most 1 line, but this seems to have changed with Chrome 138.0. This commit fixes the issue by cheating when composer is empty: the fake textarea artificially adds a character so that the computation for height when empty works as if it has 1 character, thus the computed height is the same when there are few characters in composer.
This fixes a visual issue on invoice forms where an empty section could leave an odd line and extra spacing beside invoice amounts. The invoice screen now hides that whole section when it is not relevant, making the layout cleaner for draft invoices or invoices without outstanding items.
Original PR description
Repro steps: Navigate to the form view of an invoice that is either 1. not posted 2. does not have outstanding debits/credits Problem spotted: next to the invoice amounts, a weird line and margin to the right can be seen Cause: The field invoice_outstanding_credits_debits_widget of an invoice may be invisible with this condition invisible="state != 'posted' or not invoice_has_outstanding" and in that case, it's containing group would still be visible (showing the aforementioned margin). Fix: This commit fixes this issue by moving the invisible condition to the group containing the field invoice_outstanding_credits_debits_widget instead of the condition being on the field itself. task-4882509 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes an automated website payment donation test so it handles the payment confirmation redirect reliably. It helps keep donation-related website checks stable and reduces false test failures during quality assurance.
Original PR description
In this commit, we fix the donation_snippet_use tour. At the end of the tour, when you click on submit donation, you are redirected to a page "Your payment has been processed." From this page, you are then redirected to a page with "Thank you". This intermediate redirection page can be a problem if there are several steps that concern it because we do not know when the redirection will be triggered (in the first or the second step?) Therefore, it is essential to have only one step for intermediate redirections. 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
Error dialogs in debug mode no longer show an unrelated internal request ID as if it were a record ID. This avoids misleading information when users or support teams review crash details for server actions.
Original PR description
Steps: - Enable debug mode - Go to server actions - Create a server action that crashes with `Execute code` - Example -> "a" (will crash because `a` is undefined) - Traceback will contains an invalid ID `Occured on odoo180 on model ir.actions.server and id 19 on 2025-06-30 09:20:48 GMT` This was an error and this ID is not linked with the model, it is the rpc id, so it should not be on the traceback. This commit remove this id to have something like this `Occured on odoo180 on model ir.actions.server on 2025-06-30 09:20:48 GMT` opw-4816514
The Spanish SII electronic invoicing integration now identifies OSS taxes using tax tags instead of relying only on predefined system records. This ensures custom OSS taxes created by users are correctly recognized, reducing reporting errors for cross-border EU sales.
Original PR description
This commit fixes the search for OSS taxes in `_has_oss_taxes` function. The current search approach (with tax tags) is better in the following points: 1. No need to use `sudo` for ir.model.data access 2. Currently, user-created OSS taxes are considered in the search task-4548095 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#216375 Forward-Port-Of: odoo/odoo#215614
This change restores the previous behavior of an automated test for creating project sales order lines. It helps keep quality checks stable so future updates to sales-project workflows can be validated reliably.
Original PR description
This reverts commit bde64f4dd19d30f807142fea6f04409de0696c54. runbot-error-226711
The emoji picker now keeps focus when a user selects an emoji category, so keyboard navigation continues to work as expected. This makes emoji selection smoother and more accessible for users who rely on keyboard controls.
Original PR description
Before this PR, the keyboard navigation capability was lost after clicking on a category. This PR adds a tabindex to avoid losing focus on the emoji picker.
A payroll expense process was pointing to the wrong type of record, which could cause incorrect handling of expense sheets linked to payslips. This fix ensures expense sheets are referenced correctly, improving reliability for payroll-related expense workflows.
Original PR description
this commit fixes wrong reference to `hr.payslip`. `payslip_sheets` should be a recordset of `hr.expense.sheet` and not `hr.payslip`.
This update fixes a translation-related error that could occur when referral links or loan information were processed in different languages. It improves reliability for multilingual users without changing business workflows or features.
Original PR description
Issue: Prior to this commit, a translation issue occurred due to the use of a list comprehension. The _get_translation_source function attempts to scan the local variables, but in the context of a list comprehension, only variables defined within the comprehension are accessible. As a result, variables like uuid and cursor were not available to the _get_lang function, ultimately leading to an error. Fix: Replaced the list comprehension with a standard for loop to ensure proper access to local variables. runbot-98198
This fix prevents an error when users edit payslip lines through the payroll wizard. Payroll staff can update payslip details more reliably without being blocked by an unintended record creation issue.
Original PR description
In this PR we add edit_payslip_lines_wizard_id in the view to prevent a new line record creation error. Forward-Port-Of: odoo/enterprise#88033
A test counter in the Mail Enterprise test suite was corrected to better reflect expected activity behavior. This helps keep automated quality checks reliable and reduces the chance of false failures during development.
This update fixes an issue in the Belgian salary contract offer process. It helps ensure salary offers are handled more reliably for HR teams using the Belgian localization.
The employee document smart button now shows only documents the user can actually access. This avoids confusing count mismatches and gives users a more reliable view of available HR documents.
Original PR description
Previously the smartbutton showed the number of documents the user was a contact of, without checking if the user had access to such documents or not, resulting in sometimes different values Task: 4771754
The Journal Report now shows the account name in the Account column, making entries easier to identify and review. This fixes a visibility issue so business users can better understand accounting report lines without relying only on account codes.
Original PR description
The purpose of this pr is to add account name in the Account column of the Journal Report. Before this code changes:  After this code changes:  OPW : 4702276
The Partner Ledger partner filter has been corrected so companies are no longer missing from the dropdown when they have a parent company. This helps users select the right partners for reporting and avoids incomplete filtering options.
Original PR description
Steps to reproduce - create a company - add a contact to this company - go to its contact form and transform this contact from Individual to Company - go to the Partner Ledger - open Partner filtering dropdown list Current behavior - show company and individual with no parent Expected behavior - show individual with no parents and all the companies - Company with parent company seems to be the expected behavior since 2016. If there is one, the Parent company appear in the contact form as defined [there](https://github.com/odoo/odoo/blob/9b03d99fd0174bd67c8ea30e5fd2c26fb2ad2467/odoo/addons/base/views/res_partner_views.xml#L168) opw-4729020
A test setup issue in Documents Sign was corrected so signer email details are populated from the right contact record. This prevents false test failures in builds without demo data and helps keep automated quality checks reliable.
Original PR description
This commit fixes a ValidationError triggered during sign request creation tests due to missing signer emails in "no demo" builds. The root cause was incorrect data passed into the test helper create_sign_request_1_role: the user record (res.users) was passed instead of its corresponding partner (res.partner). Since the sign.request.item expects a valid partner_id, this led to signer_email being computed as False, violating the constraint that requires all signers to have valid email addresses. This change ensures the proper partner_id (user.partner_id) is passed when creating the request item, allowing the email computation and constraint to behave as expected. This fix unblocks TestSignedDocument.test_gc_clear_bin build_error-224070