Friday, February 7, 2025
22 changes · 17.0
Resolved issues and error corrections
Invoice and document printouts now show tax column headers aligned consistently with the other columns. This fixes a visual inconsistency so printed documents look cleaner and more professional for customers.
Original PR description
**Steps to reproduce:** - In Sales app, create a new invoice with one product; - Post the invoice without validating it; - Print invoice without payment from action button. **Issue:** The taxes column's header is "start aligned" as its content and the other columns are "end aligned". **Expected:** Column headers should be harmonized and have a consistent display as per : https://github.com/odoo/odoo/blob/4d9cf2e5103fcdc11be2fd574886afed6f300281/addons/sale/report/ir_actions_report_templates.xml#L79-L88 **Cause:** The view sets the header alignement on start. opw-4380680 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
When users create a sales order line directly from a project or support ticket, the system now avoids matching the entered text to recurring service products. This helps prevent accidentally using subscription-style services in project or ticket sales flows, reducing billing mistakes.
Original PR description
When creating a SOL on the fly from a project or a ticket, we try to match an existing product from what was typed in the field. However, we should be excluding recurring services Task-4354482
This fix prevents Point of Sale session processing from accidentally replacing existing background settings when adding new ones. It helps preserve expected behavior in related workflows and reduces the risk of subtle errors during POS operations.
Original PR description
Fixup for this commit https://github.com/odoo/odoo/commit/c9cefd88bb6f38f8fd504b7c4a8abf263aa1aa4b A test in 17.4 highlighted a issue with the use of with_context which was overriding it completely instead of adding to it. opw-4310781
The empty screen for Physical Inventory Adjustments now points users to the correct place to import spreadsheet data. This reduces confusion by reflecting the current action menu workflow and using a clearer icon.
Original PR description
Before: ------------------------------------ When there are no records in Physical Inventory Adjustments, the empty screen incorrectly suggests import data via "Favorites → Import." However, from version 17.0 onwards, the import option is now available through the action menu instead , causing confusion for users. After: ------------------------------------ Replaced "Favorites → Import" with the correct message: "import them from a spreadsheet throughout the action menu," and changed the icon from the long right arrow to the configuration icon for clarity. Task - 4550935
This fix updates Web Studio test forms so required customer name fields are correctly recognized before saving. It prevents avoidable save errors during automated browser testing, improving test reliability without changing normal user workflows.
Original PR description
During testing of the "new" Chrome's headless mode (by default since version 128), a concurrency issue arise at the end of those tours: a last request to the server is actually sent during the unload of the view (cf. save). This request actually reach the server even if Chrome is already closed and results into a SQl constraint error. Indeed, the (very basic) form views created for those tours are based on the "res.partner" model and only display the "name" field. This field isn't marked as "required" neither in the model, nor the view BUT has a SQL constraint attached to it... which makes it implicitly "required". This commit fixes it by properly marking them as such in the arch to let the client-side validation prevent the ultimate "save" request made during the unload.
The timesheet sales app now checks whether the leaderboard feature is enabled before loading its data. This avoids unnecessary background work when the feature is turned off, helping keep the system more efficient without changing the user experience.
Original PR description
Before this commit, the leaderboard data is fetched even if we are sure the feature is disabled. This commit checks the feature is enabled before getting leaderboard data. task-4509858
When sales order lines are created from a project or support ticket, the system now avoids matching recurring service products automatically. This helps prevent subscription-type services from being added accidentally in one-off project or ticket workflows.
Original PR description
When creating a SOL on the fly from a project or a ticket, we try to match an existing product from what was typed in the field. However, we should be excluding recurring services Task-4354482
This fix makes automated spreadsheet document tests wait until the app has fully returned to the Documents screen before cleanup starts. It prevents intermittent test failures caused by unfinished background requests in newer Chrome headless testing.
Original PR description
During testing of the "new" Chrome's headless mode (by default since version 128), a concurrency issue arise at the end of those tours: a last request to the server is actually sent during the unload of the view. This request actually reach the server even if Chrome is already closed and the test is cleaning itself (rollbacking the changes made in the database), resulting into a "release savepoint" mismatch on an already aborted transaction (example build's error [1]). This commit is kind of a follow-up of a previous PR [2] where a last step allowing for the spreadsheet to unload was added and adding one more to actually wait to be back on the Document app. [1] https://runbot.odoo.com/runbot/build/74602509 [2] https://github.com/odoo/enterprise/pull/51795
The Sign app now prevents users from dragging a signature field after it has already been signed. This avoids an unnecessary action that could crash the app, helping signed documents remain stable and unchanged.
Original PR description
Before this commit: When using the sign app, after clicking on a signature field to sign, attempting to drag the signature field away, which is unnecessary and pointless, causes the app to crash. After this commit: Dragging a signed signature field is not possible since it is pointless. The file should remain unchanged, and no crash should occur. Merge Note: This fix should be applied for the branches > 17.0 and before 18.1. It should be ignored by 18.1 and after. task-4489008
Miscellaneous changes
`#wsale_user_email` is used to prefill the email when the product is out of stock and the user wants to receive restock notifications. When different users access the same product, the email ends up being reused which is not desirable. Task ID: [#4471810](https://www.odoo.com/odoo/my-tasks/4471810) (vdin) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#196496
Original PR description
`#wsale_user_email` is used to prefill the email when the product is out of stock and the user wants to receive restock notifications. When different users access the same product, the email ends up being reused which is not desirable. Task ID: [#4471810](https://www.odoo.com/odoo/my-tasks/4471810) (vdin) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#196496
Versions -------- - 16.0+ Steps ----- 1. Enable Stripe Express Checkout; 2. go to eCommerce as Public User; 3. pay via express checkout for a deliverable item; 4. in Stripe, set shipping address to somewhere in California; 5. finish payment. Issue ----- The new partner is created with its state set to Cadiz instead of California. Cause ----- When searching for a state using its code, it fetches the first matching item. The problem is that unlike country codes, state codes ar
Original PR description
Versions -------- - 16.0+ Steps ----- 1. Enable Stripe Express Checkout; 2. go to eCommerce as Public User; 3. pay via express checkout for a deliverable item; 4. in Stripe, set shipping address to somewhere in California; 5. finish payment. Issue ----- The new partner is created with its state set to Cadiz instead of California. Cause ----- When searching for a state using its code, it fetches the first matching item. The problem is that unlike country codes, state codes aren't unique, e.g. there are 4 states that match the 'CA' code (only one of them being in the United States). Solution -------- Add `country_id` to the search domain to ensure the fetched state belongs to the relevant country. opw-4396024 Forward-Port-Of: odoo/odoo#196428
Forward-Port-Of: odoo/odoo#193528
Original PR description
Forward-Port-Of: odoo/odoo#193528
Description of the issue/feature this PR addresses: ticket id: https://www.odoo.com/odoo/my-tasks/4179478 Current behavior before PR: - MENA l10n module descriptions were uncomplete or unconsistent Desired behavior after PR is merged: - improve l10n module description for MENA --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#190703
Original PR description
Description of the issue/feature this PR addresses: ticket id: https://www.odoo.com/odoo/my-tasks/4179478 Current behavior before PR: - MENA l10n module descriptions were uncomplete or unconsistent Desired behavior after PR is merged: - improve l10n module description for MENA --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#190703
Before this commit: Steps 1) Create 3 statement lines in bank journal 2) Cancel the journal entry of the middle one 3) Try to add the first and third lines to a statement => It shows an `Invalid Operation: Unable to create a statement due to missing transactions. You may want to reorder the transactions before proceeding` This happens because the lines are considered non-contiguous due to the canceled middle line. After this commit: This operation can be performed as the missing line
Original PR description
Before this commit: Steps 1) Create 3 statement lines in bank journal 2) Cancel the journal entry of the middle one 3) Try to add the first and third lines to a statement => It shows an `Invalid Operation: Unable to create a statement due to missing transactions. You may want to reorder the transactions before proceeding` This happens because the lines are considered non-contiguous due to the canceled middle line. After this commit: This operation can be performed as the missing line is canceled, and it shouldn’t be counted for the contiguity check. Also, it should be considered in the statement assignment, similar to how the statement button works in the widget/kanban view. Recording of reproducing the issue: https://drive.google.com/file/d/1I5xwNie1HL9ifuK0z21a6yWDdqI_xbTU/view?usp=sharing Discussion with OLMA: https://discord.com/channels/678381219515465750/1099994955830796348/1330856829638545429 opw-4385040 Forward-Port-Of: odoo/odoo#194541
hen email provider rewrites message_id of odoo generated emails we lose trace of original message and/or trace in Odoo. Crafting references as already containing the original message_id ensure to keep a trace even if message_id is rewritten. Continuation of https://github.com/odoo/odoo/pull/81901 but this time for mailing generated mail records. Task-3927616 Forward-Port-Of: odoo/odoo#189195
Original PR description
hen email provider rewrites message_id of odoo generated emails we lose trace of original message and/or trace in Odoo. Crafting references as already containing the original message_id ensure to keep a trace even if message_id is rewritten. Continuation of https://github.com/odoo/odoo/pull/81901 but this time for mailing generated mail records. Task-3927616 Forward-Port-Of: odoo/odoo#189195
In the survey stats, the number of votes for a multiple choice answer displayed the label "Votes" without it being translatable. This commit makes it translatable. [task-4421055](https://www.odoo.com/odoo/project.task/4421055) Forward-Port-Of: odoo/odoo#196704
Original PR description
In the survey stats, the number of votes for a multiple choice answer displayed the label "Votes" without it being translatable. This commit makes it translatable. [task-4421055](https://www.odoo.com/odoo/project.task/4421055) Forward-Port-Of: odoo/odoo#196704
Backport of the commit from 17.0 that fixes https://runbot.odoo.com/odoo/runbot.build.error/62208. Forward-Port-Of: odoo/odoo#196854
Original PR description
Backport of the commit from 17.0 that fixes https://runbot.odoo.com/odoo/runbot.build.error/62208. Forward-Port-Of: odoo/odoo#196854
Behavior Before the Commit: Whenever you change the account type of a Cash and Bank account to a different type, please ensure that the Reconcile option is set to True. However, if you later switch the account type back to Cash and Bank, the Reconcile option will remain True and will not automatically revert to False. Fix: explicitly set reconcile to False for account_type 'Cash and Bank' in compute_reconcile method. Behavior After the commit: Reconcile will be changed to false o
Original PR description
Behavior Before the Commit:
Whenever you change the account type of a Cash and Bank account to a different type,
please ensure that the Reconcile option is set to True. However, if you later switch
the account type back to Cash and Bank, the Reconcile option will remain True and
will not automatically revert to False.
Fix: explicitly set reconcile to False for account_type 'Cash and Bank' in compute_reconcile
method.
Behavior After the commit:
Reconcile will be changed to false on changing the account type to Cash and Bank.
opw-4450088: https://www.odoo.com/odoo/my-support-tasks/4450088
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#194358When AE localization extends the default invoice report, they replace the `<th name="th_taxes"><span>Taxes</span></th>` with `<th name="th_taxes"><span t-if="...">VAT</span><span t-else="">Taxes</span></th>`. Then when AR localization is installed, it will replace the first div with the t-if. We end up in a situation with a `<span/>` followed by a `<span t-else=""/>` which raise an error because it is expecting a `t-if`. task-no Forward-Port-Of: odoo/odoo#196765
Original PR description
When AE localization extends the default invoice report, they replace the `<th name="th_taxes"><span>Taxes</span></th>` with `<th name="th_taxes"><span t-if="...">VAT</span><span t-else="">Taxes</span></th>`. Then when AR localization is installed, it will replace the first div with the t-if. We end up in a situation with a `<span/>` followed by a `<span t-else=""/>` which raise an error because it is expecting a `t-if`. task-no Forward-Port-Of: odoo/odoo#196765
A standard such as RiBa that everyone calls RiBA should not have any invented translation like Payment Receipt (IT). Followup for the Ri.Ba. task: odoo/enterprise#74097 Documentation PR: odoo/documentation#11847 Task [link](https://www.odoo.com/odoo/project/967/tasks/4497749) task-4497749 Forward-Port-Of: odoo/enterprise#77991
Original PR description
A standard such as RiBa that everyone calls RiBA should not have any invented translation like Payment Receipt (IT). Followup for the Ri.Ba. task: odoo/enterprise#74097 Documentation PR: odoo/documentation#11847 Task [link](https://www.odoo.com/odoo/project/967/tasks/4497749) task-4497749 Forward-Port-Of: odoo/enterprise#77991
Before when sending request to hmrc we had a fraud prevention headers creation but only with part of the data needed, client_data was provided for one of the two request. Another problem was the ips. If we are in a private network we should still send the public IP. task-4387562 Forward-Port-Of: odoo/enterprise#75383
Original PR description
Before when sending request to hmrc we had a fraud prevention headers creation but only with part of the data needed, client_data was provided for one of the two request. Another problem was the ips. If we are in a private network we should still send the public IP. task-4387562 Forward-Port-Of: odoo/enterprise#75383
Description of the issue/feature this PR addresses: ticket id: https://www.odoo.com/odoo/my-tasks/4179478 Current behavior before PR: - MENA l10n module descriptions were uncomplete or unconsistent Desired behavior after PR is merged: - improve l10n module description for MENA --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#75666
Original PR description
Description of the issue/feature this PR addresses: ticket id: https://www.odoo.com/odoo/my-tasks/4179478 Current behavior before PR: - MENA l10n module descriptions were uncomplete or unconsistent Desired behavior after PR is merged: - improve l10n module description for MENA --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#75666