Friday, January 14, 2022
29 changes · master
Enhancements to existing features
The search bar now removes accidental spaces before and after entered keywords. This helps users get the expected results when typing or pasting text with extra whitespace, reducing failed searches caused by simple formatting mistakes.
Original PR description
When the search field is used to query an element, the value is trimmed to remove unnecessary spaces before and after the actual keywords. This eliminates the annoyance of a search having no result because of a space that was left (for example when copy- pasting some text). A test has been added to check if a value has been trimmed when the text input contains spaces. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The command palette was updated internally to access part of its screen layout in a more reliable way. This helps keep the web interface compatible with the newer Owl 2 framework, reducing future maintenance risk without changing user-facing behavior.
Original PR description
The commit adapts the CommandPalette to use a t-ref to a node
in the template instead of a this.el.querySelector("...") in the
component to query an element. This will improve the
compatibility with Owl 2.
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis update changes how certain web interface text is rendered so it is treated as regular text rather than raw content. This helps reduce unnecessary risk while keeping the user experience unchanged.
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 adjusts internal mail and discussion interface components to prepare them for a future OWL 2 technology upgrade. It should not change day-to-day user behavior, but helps keep the messaging area easier to maintain and modernize.
Original PR description
In preparation to use OWL 2 in discuss code. Task-2694206
The base linting configuration was adjusted so local development tools work more reliably without extra setup. This reduces friction for contributors and keeps broader project checks better aligned with dedicated CI configuration.
Original PR description
The usage of `select=RST` apparently broke all local flake8 uses (which might be implicit e.g. used for linting in the simpler editors). Always excluding "addons" probably causes a similar problem. Remove the exclusion of "addons", and use "extend-select" for the selection of RST errors. This should play better with local configuration, or the lack of configuration (thus flake8 defaults). This means the exclusion of addons and the "blanking" of the default errors selection will have to be done in the CI configuration, but that probably makes sense.
Resolved issues and error corrections
This fixes an issue where quotation builder fields could show outdated or missing values after related changes. Businesses using quotation templates and optional products should see more reliable quote information without manual refreshes or corrections.
Original PR description
Forgotten in #81818 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Code cleanup and technical improvements
This change moves PDF page counting into Odoo's shared PDF tools so it can be reused beyond the signing app. It does not change the signing workflow for users, but it makes the underlying code easier to maintain and extend.
Original PR description
task id: 2659342 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
In mass_mailing, creating a link from the linktool in mass mailing generated link that would not create a new tab when clicked. Task-2734760 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82709
Original PR description
In mass_mailing, creating a link from the linktool in mass mailing generated link that would not create a new tab when clicked. Task-2734760 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82709
The Belgian financial report now places bank suspense account 499 in the asset section instead of liabilities. This keeps the balance sheet aligned with the updated accounting treatment and avoids misleading liability totals.
Original PR description
Since this commit : https://github.com/odoo/odoo/commit/c6d2a50499744a9ddbb09a9974d6ab52116ef542, the bank suspense account is no longer considered a liability. To reflect that change, the corresponding account (499) should also be moved to the asset section of the BS. Related PR : https://github.com/odoo/odoo/pull/81071 task-2729822
Prior to this commit the line amounts on the invoice report where including the VAT always. With this change we only include VAT if invoice needs to include it (_l10n_ar_include_vat) Description of the issue/feature this PR addresses: Current behavior before PR:  Desired behavior after PR is merged:  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#82509
Remove dead code. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82147
Original PR description
Remove dead code. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82147
Description of the issue/feature this PR addresses: In mrp_production_workorder_tree_editable_view the name field is defined twice, once invisible. Current behavior before PR: This makes inheritance more difficult than it needs to be. Desired behavior after PR is merged: After this commit, the first invisible name field is removed, leaving it defined only once. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#8
Original PR description
Description of the issue/feature this PR addresses: In mrp_production_workorder_tree_editable_view the name field is defined twice, once invisible. Current behavior before PR: This makes inheritance more difficult than it needs to be. Desired behavior after PR is merged: After this commit, the first invisible name field is removed, leaving it defined only once. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#81275
Before this commit: - From the task form, it was not possible to select a parent task that is itself a subtask and thus creating multiple level of subtasks. After this commit: - From the task form, it will be possible to select a parent task that is itself a subtask and thus creating multiple level of subtasks. task-2703632 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82750
Original PR description
Before this commit:
- From the task form, it was not possible to select a parent task
that is itself a subtask and thus creating multiple level of
subtasks.
After this commit:
- From the task form, it will be possible to select a parent task
that is itself a subtask and thus creating multiple level of
subtasks.
task-2703632
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#82750Purpose ======= Allow users with enough access rights to disable next-day report on mass mailing lists. The option has been added in the mass mailing settings and is enabled by default. Mass mailing reports can also be disabled with a "Turn off mailing reports" button in the report email itself. Reports are enabled and disabled for all Responsible. Task-2692211 Forward-Port-Of: odoo/odoo#82520
Original PR description
Purpose ======= Allow users with enough access rights to disable next-day report on mass mailing lists. The option has been added in the mass mailing settings and is enabled by default. Mass mailing reports can also be disabled with a "Turn off mailing reports" button in the report email itself. Reports are enabled and disabled for all Responsible. Task-2692211 Forward-Port-Of: odoo/odoo#82520
DDT report was not translated in the user's language Steps to reproduce: 1. Install the module l10n_it_stock_ddt 2. Open 'DDT report' in Setting -> Technical -> Reporting -> Reports and add to the print menu 3. Install the 'Italian / Italiano' language and set it as a customer's language 4. Create a sale order for that customer and confirm it 5. Open its delivery order 6. Print the 'DDT report' 7. The report is in English instead of in Italian Solution: Add a translation file for t
Original PR description
DDT report was not translated in the user's language Steps to reproduce: 1. Install the module l10n_it_stock_ddt 2. Open 'DDT report' in Setting -> Technical -> Reporting -> Reports and add to the print menu 3. Install the 'Italian / Italiano' language and set it as a customer's language 4. Create a sale order for that customer and confirm it 5. Open its delivery order 6. Print the 'DDT report' 7. The report is in English instead of in Italian Solution: Add a translation file for the report and render the report in the partner's language or the user's language if there is no partner OPW-2697213 Forward-Port-Of: odoo/odoo#82763 Forward-Port-Of: odoo/odoo#82264
Commit [1] moved the scrollbar from the document body to the top element (#wrapwrap). This works for website builder but fails for iframes which don't have that element. This is apparent in Marketing Automation mail templates where it's become impossible to scroll down. This fixes that issue by excluding iframes in that rule. task-2734825 [1] https://github.com/odoo/odoo/commit/9f048625e11dacda9fd49694e89ae65bc112374f -- I confirm I have signed the CLA and read the PR guidelines at www
Original PR description
Commit [1] moved the scrollbar from the document body to the top element (#wrapwrap). This works for website builder but fails for iframes which don't have that element. This is apparent in Marketing Automation mail templates where it's become impossible to scroll down. This fixes that issue by excluding iframes in that rule. task-2734825 [1] https://github.com/odoo/odoo/commit/9f048625e11dacda9fd49694e89ae65bc112374f -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82764
### Expected behavior User should be able to archive the tokens he sees ### Current behavior User sees his tokens but cannot archive a token from another company ### Steps to reproduce - Install Sales and Contacts - Create a 2nd Company - Enable `Online Payments` - Setup a Payment Acquirer (Test Mode for current company) *Be sure to have `Allow Saving Payment Methods` checked* - Create a new contact and grant him portal access *With new contact* - Get the link and set a password
Original PR description
### Expected behavior User should be able to archive the tokens he sees ### Current behavior User sees his tokens but cannot archive a token from another company ### Steps to reproduce - Install…
### Expected behavior User should be able to archive the tokens he sees ### Current behavior User sees his tokens but cannot archive a token from another company ### Steps to reproduce - Install Sales and Contacts - Create a 2nd Company - Enable `Online Payments` - Setup a Payment Acquirer (Test Mode for current company) *Be sure to have `Allow Saving Payment Methods` checked* - Create a new contact and grant him portal access *With new contact* - Get the link and set a password - Create a new payment method in `Manage payment methods` *With admin again* - Replace `Allowed Companies` and `Default Company` for the new contact by the company created before *With new contact again* - Go back in `Manage payment methods` and try to delete the token ### Reason Before, the `write` method from the model was called but returned an AccessError because the token was linked to another company. Now a custom route is called, it checks if the token is linked to the user and archives it with the necessary rights OPW-2660186 Forward-Port-Of: odoo/odoo#82354 Forward-Port-Of: odoo/odoo#80715
A variable was inadvertently renamed which broke the fullscreen rendering of lessons with links. Task-2735020 Introduced in 63285ce0, part of odoo/odoo#75646 Forward-Port-Of: odoo/odoo#82728
Original PR description
A variable was inadvertently renamed which broke the fullscreen rendering of lessons with links. Task-2735020 Introduced in 63285ce0, part of odoo/odoo#75646 Forward-Port-Of: odoo/odoo#82728
Purpose ======= Clarify that qweb should be used as <ir.qweb> when the latter is available. <ir.qweb> version is a an optimized version of QWeb rendering and using it is better for performance and daily usage. Moreover it used Odoo model instead of standard python class, that's why we do not want people to use QWeb instead of <ir.qweb>. Task-2709589 Forward-Port-Of: odoo/odoo#82754 Forward-Port-Of: odoo/odoo#82703
Original PR description
Purpose ======= Clarify that qweb should be used as <ir.qweb> when the latter is available. <ir.qweb> version is a an optimized version of QWeb rendering and using it is better for performance and daily usage. Moreover it used Odoo model instead of standard python class, that's why we do not want people to use QWeb instead of <ir.qweb>. Task-2709589 Forward-Port-Of: odoo/odoo#82754 Forward-Port-Of: odoo/odoo#82703
Let's imagine this data ```xml <record model="my.model" id="1"> <field name="name">parent</field> <field name="children_ids"> <record model="my.model" id="1.1"> <field name="name">child</field> </record> </field> </record> ``` Loading this data the first time, everything works fine. But if we update it, this is what happens: * load `my.model,1`: write on `name=parent` and `children_ids=None` * load `my.model,1.1`: write on `name=child` and `parent_id=my.model
Original PR description
Let's imagine this data ```xml <record model="my.model" id="1"> <field name="name">parent</field> <field name="children_ids"> <record model="my.model" id="1.1"> <field name="name">child</field>…
Let's imagine this data
```xml
<record model="my.model" id="1">
<field name="name">parent</field>
<field name="children_ids">
<record model="my.model" id="1.1">
<field name="name">child</field>
</record>
</field>
</record>
```
Loading this data the first time, everything works fine.
But if we update it, this is what happens:
* load `my.model,1`: write on `name=parent` and `children_ids=None`
* load `my.model,1.1`: write on `name=child` and `parent_id=my.model,1`
The write on `children_ids=None` can unlink all the children if the
field is declared as `ondelete=cascade`
That will leade in all the records to be deleted and recreated, but
without keeping links with other documents.
For instance, when upgrading the `account` module, all the
`account.account.tag` are removed from `account.move.line` because when
the `account.tax.report.line` are updated, all the tags are deleted and
recreated.
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#82766Whenever the browser is lagging between multiple enter, the command hints were not being updated until the browser main thread process the event queue. Task-2728794 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82335
Original PR description
Whenever the browser is lagging between multiple enter, the command hints were not being updated until the browser main thread process the event queue. Task-2728794 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82335
You are blocked with an access error when you try to replenish a product with `”Buy”` route if you don't have the settings rights, because the code tries to read a system parameter. Solution: To avoid this error, we need to read it as superuser. opw-2725702 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82767
Original PR description
You are blocked with an access error when you try to replenish a product with `”Buy”` route if you don't have the settings rights, because the code tries to read a system parameter. Solution: To avoid this error, we need to read it as superuser. opw-2725702 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82767
This reverts commit 247adbb3aa79223c18083caf31e6580905ce32e8 as it broke the website design. We do not know yet what the reason is and we'll need to investigate further. Probably a css specifity issue, but since this is 15.0 stable, we chose to first revert the commit asap and re-do the fix in another way later. Forward-Port-Of: odoo/odoo#82802
Original PR description
This reverts commit 247adbb3aa79223c18083caf31e6580905ce32e8 as it broke the website design. We do not know yet what the reason is and we'll need to investigate further. Probably a css specifity issue, but since this is 15.0 stable, we chose to first revert the commit asap and re-do the fix in another way later. Forward-Port-Of: odoo/odoo#82802
The orders wouldn't be removed in the front end due to the missing return if the module was installed but not used (country different than Germany) Forward-Port-Of: odoo/enterprise#23506
Original PR description
The orders wouldn't be removed in the front end due to the missing return if the module was installed but not used (country different than Germany) Forward-Port-Of: odoo/enterprise#23506
- install delivery_dhl - Go to shipping Methods > click on “DHL” > Enable “Dutiable Material” - Create a SO: - Add any customer - Add any storable product - Click on “Add Shipping” and select “DHL” - Confirm the SO - Try to validate the delivery Problem: A traceback is triggered `”Missing element TermsOfTrade (ShipmentRequest.Dutiable.TermsOfTrade)”` Since the migration of the DHL api from version 6.3 to 10. The `"dutiable.termsOfTrade"` field has become required. The
Original PR description
- install delivery_dhl
- Go to shipping Methods > click on “DHL” > Enable “Dutiable Material”
- Create a SO:
- Add any customer
- Add any storable product
- Click on “Add Shipping” and select “DHL”
- Confirm the SO
- Try to validate the delivery
Problem:
A traceback is triggered `”Missing element TermsOfTrade (ShipmentRequest.Dutiable.TermsOfTrade)”`
Since the migration of the DHL api from version 6.3 to 10. The `"dutiable.termsOfTrade"` field has become required.
The field was added to `dct_dutiablle` instead of `dutiable` in this commit: https://github.com/odoo/enterprise/commit/abf8955f24f252e88aa93793180f6593e27275df
We should use the incoterm defined in the SO linked to the delivery or the default incoterm of the current company.
For more information, please refer to: https://mydhl.express.dhl/ca/en/help-and-support/customs-clearance-advice/customs-terms-of-trade.html
opw-2725851
opw-2730743
Forward-Port-Of: odoo/enterprise#23510Steps to reproduce the bug: - install purchase and quality - Create a quality point with product A - Create a PO for the product A > Confirm - A picking and quality check for product A is created - Cancel the PO - The picking is cancelled, but the quality check is not deleted Problem: When the PO is cancelled, the "stock.move" are cancelled too: https://github.com/odoo/odoo/blob/14.0/addons/purchase_stock/models/purchase.py#L103 Then we try to cancel the "pickings” by checking their
Original PR description
Steps to reproduce the bug: - install purchase and quality - Create a quality point with product A - Create a PO for the product A > Confirm - A picking and quality check for product A is created - Cancel the PO - The picking is cancelled, but the quality check is not deleted Problem: When the PO is cancelled, the "stock.move" are cancelled too: https://github.com/odoo/odoo/blob/14.0/addons/purchase_stock/models/purchase.py#L103 Then we try to cancel the "pickings” by checking their status, but since the picking status is computed according to the "stock.move" it will therefore be in cancel status, so the “action_cancel" picking function will not be triggered, and therefore the quality check will not be deleted. Solution: override the move's action_cancel to remove associated quality_check opw-2655691 Forward-Port-Of: odoo/enterprise#23483 Forward-Port-Of: odoo/enterprise#23347
Steps : - In a project, create a task T1 with 1 assignee and anotherone T2 with to assignees. - Go to map view and group by responsible. Issue : - T1's group name is "Undefined" - T2's group name is a number Cause : - Assignees is a many2many field. The method called when creating a record assigns to those fields a list of ids i/o a tuple (list in js) [id, name]. - So, the groups are formed interpreting the first element of this list as id, and the second one as name. - When this
Original PR description
Steps : - In a project, create a task T1 with 1 assignee and anotherone T2 with to assignees. - Go to map view and group by responsible. Issue : - T1's group name is "Undefined" - T2's group name is a number Cause : - Assignees is a many2many field. The method called when creating a record assigns to those fields a list of ids i/o a tuple (list in js) [id, name]. - So, the groups are formed interpreting the first element of this list as id, and the second one as name. - When this list only contains 1 id, there is no second element. - When the list contains 2 ids, the second element is an id. Fix : - many2many fields' values are a list of tuples. - Groups are formed iterating on this list. opw-2723312 Forward-Port-Of: odoo/enterprise#23382
base_address_extended add a lot on complexity on res.partner that is not needed for the minimal needed scope of mx edi. So we decide to move this module dependency on base_address_extended the only change to do is to move the field from base_address_extends on the address_view_id of the mexico to the already existing view in l10n_mx_edi_extended Forward-Port-Of: odoo/enterprise#22951
Original PR description
base_address_extended add a lot on complexity on res.partner that is not needed for the minimal needed scope of mx edi. So we decide to move this module dependency on base_address_extended the only change to do is to move the field from base_address_extends on the address_view_id of the mexico to the already existing view in l10n_mx_edi_extended Forward-Port-Of: odoo/enterprise#22951
Step to reproduce : - Create a task from a document - Delete the task you just created Current Behaviour: - A notification/mail_activity linked to the document is created and not unlinked when the task delete the document - The notification/mail_activity cannot be removed as the document has been deleted Behaviour after PR: - Notification is removed on task deletion opw-2706400 Forward-Port-Of: odoo/enterprise#22973
Original PR description
Step to reproduce : - Create a task from a document - Delete the task you just created Current Behaviour: - A notification/mail_activity linked to the document is created and not unlinked when the task delete the document - The notification/mail_activity cannot be removed as the document has been deleted Behaviour after PR: - Notification is removed on task deletion opw-2706400 Forward-Port-Of: odoo/enterprise#22973