Thursday, January 16, 2020
24 changes · master
Enhancements to existing features
Users can now save customized website snippets and reuse them later on other pages. This makes page building faster and helps teams keep recurring content blocks consistent across websites, email campaigns, events, forms, and eCommerce pages.
Original PR description
[IMP] website, web_editor: allow saving of snippets Now the user can save snippets to use them later. task-2120409 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The import preview table is easier to read when reviewing incoming data. Headers now stay visible while scrolling, content is better constrained, long text is shortened more clearly, and a preview message helps users understand the displayed results.
Original PR description
**Improvement in UI in import preview table:** - Column headers are set frozen when scrolling down - Set maximum height and width of the content - Ellipsis based on spaces in content - Added preview message at the end Task link : https://www.odoo.com/web#id=1919628&action=327&model=project.task&view_type=form&menu_id=4720 Pad link : https://pad.odoo.com/p/r.8ca5f87d61ec076c3cd9e1f4f6894ed2 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
When a project or task is moved to a different sales order line, uninvoiced timesheet entries now follow that new line automatically. This reduces manual correction work and helps ensure future invoicing uses the correct customer sales line, while already invoiced work remains unchanged.
Original PR description
Description of the issue/feature this PR addresses: There is no easy way to re-assign the time sheets to the correct SOL (changing the task's SOL does not change the non-invoiced time sheets automatically) Current behavior before PR: On a project, if a user put a wrong sale order line, and after that he changes this SOL, the timesheet line will not be moved. Desired behavior after PR is merged: On a project, if a user put a wrong sale order line, and after that he change this SOL, all non invoiced timesheet line will be moved to new line. TaskId: 2144703 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adds a way for automated tours to enter text and then leave the field, matching how real users finish editing. It helps future website editor tests validate changes that only apply after leaving an input or pressing Enter.
Original PR description
The 'text' helper does not focus out of the inputs after adding the text. The new 'text_blur' one will. It will be needed for future tasks of the website editor since the inputs in the left panel are only considered on blur or on ENTER. See https://github.com/odoo/odoo/pull/42189 for example.
Website editors can now customize rating snippets more easily, including colors, icon choices, the number of active or inactive icons, and whether ratings appear inline or below the title. This helps businesses create review and rating displays that better match their brand and page layout.
Original PR description
task-2146209 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
Website building blocks in the inner snippets section were refreshed with clearer layout presets and more consistent editor controls. This makes it easier for website editors to customize separators, alerts, sharing buttons, and discussion groups while keeping pages visually consistent.
Original PR description
Review the snippets which are in the "inner" section. https://www.odoo.com/web#id=2152191&action=333&active_id=974&model=project.task&view_type=form&menu_id=4720
This update makes project and timesheet screens clearer and easier to use. Users can better review sub-task time, spot tasks that have gone over planned hours, and benefit from more consistent project stage and settings layouts.
Original PR description
Description of the issue/feature this PR addresses: Task: https://www.odoo.com/web#id=2129052&action=327&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.cfc410a672c49f6c8f7c7d5fc37f5c8c 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
Rental and subscription sales now handle updated pricing rules more reliably, including cases where no pricelist is set. This helps sales teams apply the right rental prices and keeps subscription workflows working after broader pricelist changes.
Original PR description
Enterprise PR for odoo/odoo#39048
This update adds automated checks to ensure timesheet links stay correct when a task is moved to a different sales order line and when related invoices are cancelled. It helps reduce the risk of billing inconsistencies in project-based sales workflows.
Users can now start a VoIP call by pressing Enter after typing a phone number in the dial pad. This makes calling faster and more convenient for users who prefer keyboard navigation.
Original PR description
Task:https://www.odoo.com/web?#id=2124341&action=327&model=project.task&view_type=form&menu_id=4720 Pad:https://pad.odoo.com/p/r.c02bf1cb5eeb4f7e80a787db55f0870e
Resolved issues and error corrections
This update appears to address a multi-company behavior issue, helping Odoo handle company-specific data or actions more consistently. The available PR details do not identify the exact business area affected, so the impact is best treated as a minor general bug fix.
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
Miscellaneous changes
The previous domain was too naive: a receipt is not always valued (inter-warehouse transfer) and even a receipt that should be valued isn't always (receive goods you do not own, change your config from manual to automated and then apply the lc on an old receipt, etc.) Enforce a domain making sure the transfer is valued. task-2169844 Forward-Port-Of: odoo/odoo#43017
Original PR description
The previous domain was too naive: a receipt is not always valued (inter-warehouse transfer) and even a receipt that should be valued isn't always (receive goods you do not own, change your config from manual to automated and then apply the lc on an old receipt, etc.) Enforce a domain making sure the transfer is valued. task-2169844 Forward-Port-Of: odoo/odoo#43017
Payroll salary payments now show a clear validation message when the selected bank journal is missing a bank account or does not use an IBAN account. This prevents confusing system errors and helps users correct bank setup before processing payments.
Original PR description
Task: https://www.odoo.com/web#id=2168322&action=327&model=project.task&view_type=form&menu_id=4720 pad: https://pad.odoo.com/p/r.1b95910beeaed844d9c339264daf64c6
The Studio guided test now waits for the right screens to be ready before continuing. This prevents random failures in automated checks, helping keep Studio releases more stable without changing user-facing features.
Original PR description
Before this commit, the web_studio_tour would break randomly. This was due to the fact that the tour did not wait for the app creator to be present in the dom before going to the next step: click on the button "Close". The fact that the tour would break when the app creator is not there and the button "Close" clicked is perfectly consistent and coherent with the specs. Thus this fix just ensures that the app creator is in the dom before clicking on "Close" (this is the situation we want to test). In the same way, we wait for make the sure the home menu has been mounted before triggering the keyboard event 'Escape' to make sure the tour is making what is expected of it.
Steps to reproduce the bug: - Let's consider a product template P with an internal reference = I - Archive P - In the list view of product template select the Archived filter and search for I with the Product filter Bug: P was not found. opw:2169441 Forward-Port-Of: odoo/odoo#43395
Original PR description
Steps to reproduce the bug: - Let's consider a product template P with an internal reference = I - Archive P - In the list view of product template select the Archived filter and search for I with the Product filter Bug: P was not found. opw:2169441 Forward-Port-Of: odoo/odoo#43395
Purpose ======= Fix multi-company access issues following the big changes that happened (the 13.0). Make the usability better in order to avoid potential multi-company issues for the user. Specification ============= Check the related commits to see the different fixes that have been made. For more information about the technical/functional considerations, check the related task. TaskID: 2088891 Forward-Port-Of: odoo/odoo#43230 Forward-Port-Of: odoo/odoo#42418
Original PR description
Purpose ======= Fix multi-company access issues following the big changes that happened (the 13.0). Make the usability better in order to avoid potential multi-company issues for the user. Specification ============= Check the related commits to see the different fixes that have been made. For more information about the technical/functional considerations, check the related task. TaskID: 2088891 Forward-Port-Of: odoo/odoo#43230 Forward-Port-Of: odoo/odoo#42418
Keep the same UOM than the MO. opw-2169377 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#43383
Original PR description
Keep the same UOM than the MO. opw-2169377 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#43383
oe_structure save method was not saving the tag text. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#43016
Original PR description
oe_structure save method was not saving the tag text. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#43016
Steps to reproduce the bug: - Let's consider two sales taxes T1, T2 - Create Fiscal Position FP which maps T1 to T2 - Create Product P (Customer Tax: T1) - Configure FP as default fiscal position and Invoicing to print invoice in POS. - Create POS order with any customer, with P and FP - Select Print Invoice in the payment window - Process the payment - Order Preview displays T2 as expected Bug: The printed invoice displayed T1 instead of T2 on the invoice line opw:2171599 Fo
Original PR description
Steps to reproduce the bug: - Let's consider two sales taxes T1, T2 - Create Fiscal Position FP which maps T1 to T2 - Create Product P (Customer Tax: T1) - Configure FP as default fiscal position and Invoicing to print invoice in POS. - Create POS order with any customer, with P and FP - Select Print Invoice in the payment window - Process the payment - Order Preview displays T2 as expected Bug: The printed invoice displayed T1 instead of T2 on the invoice line opw:2171599 Forward-Port-Of: odoo/odoo#43287
Steps to reproduce the bug: - Go to Settings > General Settings - Set "Customer Account" on "Free sign up" - Go to Website > configuration - Activate "Digital Content" - Create a fiscal position FP with a coutry group CG and applied automatically - Create a service product P with digital content DC at sales price = 0 - Publish P on the website _ Log out and go to the shop with public user - Add P in your cart - Process the your Order in the shop - When the order is confirmed, click
Original PR description
Steps to reproduce the bug: - Go to Settings > General Settings - Set "Customer Account" on "Free sign up" - Go to Website > configuration - Activate "Digital Content" - Create a fiscal position FP with a coutry group CG and applied automatically - Create a service product P with digital content DC at sales price = 0 - Publish P on the website _ Log out and go to the shop with public user - Add P in your cart - Process the your Order in the shop - When the order is confirmed, click on "Downloads" - You will be redirected to the login page - Click on "Don't have an account?" - Fill in the form and sign up Bug: Nothing happened because in function sale_get_order in model 'website' the partner on the confirmed SO was not the same as the new one and so update_pricelist was set to True and a call to function _cart_update was done on a confirmed SO. Inspired from function _cart_update in model 'sale.order'. opw:2146902 Forward-Port-Of: odoo/odoo#43343
Issue with transfer between Bank1 (550001) and Bank 2 (550002) of the same company via the intercompany bank account (580000) : Bank 1: minus 1000 EUR, we create the following accounting entry via the reconcile widget account 550001 credit 1000 account 580000 debit 1000 Bank 2 : Plus 1000 EUR When we select the counterparty 580000 entry of the Bank 1 statement via the reconcile widget than the statement_line_id of the entry from Bank 1 statement is replaced by the one of the Bank 2
Original PR description
Issue with transfer between Bank1 (550001) and Bank 2 (550002) of the same company via the intercompany bank account (580000) : Bank 1: minus 1000 EUR, we create the following accounting entry via the reconcile widget account 550001 credit 1000 account 580000 debit 1000 Bank 2 : Plus 1000 EUR When we select the counterparty 580000 entry of the Bank 1 statement via the reconcile widget than the statement_line_id of the entry from Bank 1 statement is replaced by the one of the Bank 2 statement. Hence this account.move.line is linked to the wrong statement line. This patch fixes this. Forward-Port-Of: odoo/odoo#42339
Purpose ======= Fix multi-company access issues following the big changes that happened (the 13.0). Make the usability better in order to avoid potential multi-company issues for the user. Specification ============= Check the related commits to see the different fixes that have been made. For more information about the technical/functional considerations, check the related task. TaskID: 2088891 Forward-Port-Of: odoo/enterprise#7690 Forward-Port-Of: odoo/enterprise#7447
Original PR description
Purpose ======= Fix multi-company access issues following the big changes that happened (the 13.0). Make the usability better in order to avoid potential multi-company issues for the user. Specification ============= Check the related commits to see the different fixes that have been made. For more information about the technical/functional considerations, check the related task. TaskID: 2088891 Forward-Port-Of: odoo/enterprise#7690 Forward-Port-Of: odoo/enterprise#7447
When in studio you duplicate a report with a view like B: ``` <record name="A"> <div>text 1</div> </record> <record name="B" inherit_id="A"/> <xpath expr="." position="inside"> <div>text 2</div> </xpath> </record> ``` Studio create duplicate B (called B_copy_1) and overwrite it with the combined heritage (to avoid needing to also duplicate A). But only the translations of B are duplicated to the new view, so for the example, translation of `text 2` will be
Original PR description
When in studio you duplicate a report with a view like B:
```
<record name="A">
<div>text 1</div>
</record>
<record name="B" inherit_id="A"/>
<xpath expr="." position="inside">
<div>text 2</div>
</xpath>
</record>
```
Studio create duplicate B (called B_copy_1) and overwrite it with the
combined heritage (to avoid needing to also duplicate A).
But only the translations of B are duplicated to the new view, so
for the example, translation of `text 2` will be kept, but of `text 1`
will be lost.
So we need to also copy the translations of all the views used to get
the combined view.
TODO: ensure all cases works, add test
opw-2154836
Forward-Port-Of: odoo/enterprise#7750
Forward-Port-Of: odoo/enterprise#7695### Issue - Install Invoicing & Studio - Open Invoices report in Studio - Click on something > Visibility condition - Do any string ilike "x" for example Traceback ### Cause The visibility condition is... a condition, domain special words' are not supported. ### Solution Limit operators, like here: https://github.com/odoo/enterprise/blob/70fc1a41aba990e305990187cd34a00cec1db5bb/web_studio/static/src/js/views/view_editor_sidebar.js#L585 And it is handled here: https://g
Original PR description
### Issue - Install Invoicing & Studio - Open Invoices report in Studio - Click on something > Visibility condition - Do any string ilike "x" for example Traceback ### Cause The visibility condition is... a condition, domain special words' are not supported. ### Solution Limit operators, like here: https://github.com/odoo/enterprise/blob/70fc1a41aba990e305990187cd34a00cec1db5bb/web_studio/static/src/js/views/view_editor_sidebar.js#L585 And it is handled here: https://github.com/odoo/odoo/blob/13.0/addons/web/static/src/js/widgets/domain_selector.js#L903:#L905 **OPW-2162357** Forward-Port-Of: odoo/enterprise#7742