Wednesday, February 21, 2024
27 changes · master
Enhancements to existing features
This update improves the reliability of automated checks for the Documents Spreadsheet side panel. It ensures the panel is fully loaded before tests run, reducing false failures and helping maintain product quality.
Original PR description
This commit is the counterpart of https://github.com/odoo/odoo/pull/154837. This commit adds a nextTick to ensure that the side panel is correctly rendered.
Point of Sale test tours now start through a shared mechanism that reduces duplicated code and checks component setup more thoroughly. This helps catch configuration issues earlier during testing, improving reliability without changing day-to-day user workflows.
Original PR description
In this commit we remove the startOwl function from pos and replace it's uses with the mountComponent from web. This has the advantage that we repeat code less. In addition, the `mountComponent` function also makes it such that the prop declarations of the components are checked during tours. This provides great benefits in terms of type checking. In order to be able to make this change, all the prop declarations that were wrong had to be corrected. In addition, we also implement a generic mechanism for starting pos tours. This allows for less code repetition. Task 3756376 https://github.com/odoo/odoo/pull/152243
Resolved issues and error corrections
The cohort view now applies the same muted sample-data styling to its horizontal scrollbar when sample data is shown. This keeps the interface visually consistent and prevents the scrollbar from standing out unnecessarily.
Original PR description
This commit fixes an issue where the eventual horizontal scrollbar in cohort table would not receive sample data styling when needed. This would make it far too apparent due to https://github.com/odoo/odoo/pull/148138 OPW-3733829
Miscellaneous changes
Versions: --------- - saas-17.1 Issue: ------ The test tour is failing. Cause: ------ The 'allocated_hours' step was added in the test tour, even though the 'View Task' form view does not have this field until timesheet is enabled. Solution: --------- Removing this step as the 'allocated_hours' field is not present in the view. task-3750478 Forward-Port-Of: odoo/enterprise#56772
Original PR description
Versions: --------- - saas-17.1 Issue: ------ The test tour is failing. Cause: ------ The 'allocated_hours' step was added in the test tour, even though the 'View Task' form view does not have this field until timesheet is enabled. Solution: --------- Removing this step as the 'allocated_hours' field is not present in the view. task-3750478 Forward-Port-Of: odoo/enterprise#56772
The barcode batch transfer screen now hides the Confirm button when users open the action/settings menu where that action is not relevant. This reduces confusion and prevents users from seeing an option that does not make sense in the current view.
Original PR description
…e list views To reproduce issue: .go to barcode app .click on batch transfers .click on new .click on engine icon Expected result: confirm button hide Actual result: confirm button is not hide I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr When a user navigate from batch transfer and click on a engine icon the confirm button still showing, it's no makes sense for the current view. Now, when the user click on it, the confirm button will be hide and apear when close that menu. spec: https://drive.google.com/file/d/1UR-PtoM5CjfEi3X4p7LEpitl1_sspF-h/view task-3525776
From: { "merchant_category_code": None, "creditor": { "postal_address": None, "organisation_id": None, "private_id": None, "creditor_account": None, "creditor_agent": None, }, "debtor": { "name": None, "postal_address": None, "organisation_id": None, "private_id": None, }, "debtor_account": { "iban": "BE84103080286059", "other": None, "debtor_agent": None,
Original PR description
From: { "merchant_category_code": None, "creditor": { "postal_address": None, "organisation_id": None, "private_id": None, "creditor_account": None, "creditor_agent": None, }, "debtor": { "name":…
From:
{
"merchant_category_code": None,
"creditor": {
"postal_address": None,
"organisation_id": None,
"private_id": None,
"creditor_account": None,
"creditor_agent": None,
},
"debtor": {
"name": None,
"postal_address": None,
"organisation_id": None,
"private_id": None,
},
"debtor_account": {
"iban": "BE84103080286059",
"other": None,
"debtor_agent": None,
"bank_transaction_code": None,
"credit_debit_indicator": "DBIT",
"status": "BOOK",
"value_date": "2022-12-29",
"transaction_date": None,
"balance_after_transaction": None,
"reference_number": None,
"debtor_account_additional_identification": None,
"creditor_account_additional_identification": None,
"exchange_rate": None,
"note": None,
},
}
to:
debtor_account:
iban: BE84103080286059
credit_debit_indicator: DBIT
status: BOOK
value_date: 2022-12-29
Forward-Port-Of: odoo/enterprise#56701
Forward-Port-Of: odoo/enterprise#54592The code for web_cohort runs several read_group calls with domains that are dynamically generated. It appears that a name collision found its way into this code at its inception and has survived undetected until now, despite affecting the returned data significantly. The problematic variable is named `domain` and is meant to indicate the domain used for a specific cell of the cohort, but its generic name made it leak to the base of the computation, polluting it entirely. This commit
Original PR description
The code for web_cohort runs several read_group calls with domains that are dynamically generated. It appears that a name collision found its way into this code at its inception and has survived undetected until now, despite affecting the returned data significantly. The problematic variable is named `domain` and is meant to indicate the domain used for a specific cell of the cohort, but its generic name made it leak to the base of the computation, polluting it entirely. This commit renames the problematic variable and adds a test to avoid regression on that front. Forward-Port-Of: odoo/enterprise#43917
Steps to reproduce: - create a partner with a random name; set the email as "deco@test.com" - create and confirm an invoice for this partner - On partner ledger, search for "deco" -> the report filters out all partners except Deco Addict - print the pdf Issue: The new partner appears on the pdf report Cause: We set on the domain only "partner_id". The `where_calc` returns as the where clause `res_partner.display_name ilike text_search and res_partner.email ilike text_search and etc.`
Original PR description
Steps to reproduce: - create a partner with a random name; set the email as "deco@test.com" - create and confirm an invoice for this partner - On partner ledger, search for "deco" -> the report filters out all partners except Deco Addict - print the pdf Issue: The new partner appears on the pdf report Cause: We set on the domain only "partner_id". The `where_calc` returns as the where clause `res_partner.display_name ilike text_search and res_partner.email ilike text_search and etc.` By not specifying the field on the domain, we query on multiple field from res_partner Solution: Specify the field that intereses us when defining the domain opw-3712980 Forward-Port-Of: odoo/enterprise#56980 Forward-Port-Of: odoo/enterprise#56516
Issue: - in the Field Service module when a task includes multiple products with detailed sales descriptions and is assigned to more than one person, the generated worksheet report table is too big to fit the first page so it starts on the 2nd page.the page break is off and the table content on the 2nd page is mixed with the table heading Steps To Reproduce: - Create a task in field service - Have products added to the task with some sales description - Have 2 assignees - Try to print t
Original PR description
Issue: - in the Field Service module when a task includes multiple products with detailed sales descriptions and is assigned to more than one person, the generated worksheet report table is too big to fit the first page so it starts on the 2nd page.the page break is off and the table content on the 2nd page is mixed with the table heading Steps To Reproduce: - Create a task in field service - Have products added to the task with some sales description - Have 2 assignees - Try to print the worksheet - Notice It'll space to the next page if there's too many lines instead of it adjusting to two pages accordingly Solution: - Adjust the worksheet template by removing the 'div class="table-responsive-sm"' it seems removing the class, or having "table" seems to fix the issue it would be better to remove the class since the direct child is already a .table opw-3701917 Forward-Port-Of: odoo/enterprise#56363
When we unselect the mandatory benefit, the dependent benefit should be unset and disabled. But before this commit this is not a case. The explanation of an issue: The issue only happens if dependent benefit has value different from 0, so the value should be unset first before disabling the dependent benefit. When the dependent benefit should be unset, it calls the asynchronous function, which prevents the lines that disable the dependent benefit to be reached. task-3749171 Forward-
Original PR description
When we unselect the mandatory benefit, the dependent benefit should be unset and disabled. But before this commit this is not a case. The explanation of an issue: The issue only happens if dependent benefit has value different from 0, so the value should be unset first before disabling the dependent benefit. When the dependent benefit should be unset, it calls the asynchronous function, which prevents the lines that disable the dependent benefit to be reached. task-3749171 Forward-Port-Of: odoo/enterprise#56886 Forward-Port-Of: odoo/enterprise#56714
This commit adds an override of the `payment.method::_get_compatible_payment_methods` method to force payment methods to support tokenization when paying for a subscription. task-3640488 See also: - https://github.com/odoo/odoo/pull/150120 Forward-Port-Of: odoo/enterprise#54700
Original PR description
This commit adds an override of the `payment.method::_get_compatible_payment_methods` method to force payment methods to support tokenization when paying for a subscription. task-3640488 See also: - https://github.com/odoo/odoo/pull/150120 Forward-Port-Of: odoo/enterprise#54700
…ies in some case In a few rare cases, an issue with the provider can cause the transactions to be duplicated within the same call to fetch transactions. This commit fixes the issue by ignoring entries within the same call that would happen to have the same transaction_identifier. Forward-Port-Of: odoo/enterprise#56995 Forward-Port-Of: odoo/enterprise#56165
Original PR description
…ies in some case In a few rare cases, an issue with the provider can cause the transactions to be duplicated within the same call to fetch transactions. This commit fixes the issue by ignoring entries within the same call that would happen to have the same transaction_identifier. Forward-Port-Of: odoo/enterprise#56995 Forward-Port-Of: odoo/enterprise#56165
…me method Have two models that have a method with the same name. Create multiple rules for model 1 and 1 one rule for model 2 Before this commit, the rule on model 2 will interfere with model 1. This was because some domains missed to filter on the model of the rule After this commit, rules are not colliding between models. opw-3734028 Forward-Port-Of: odoo/enterprise#56945
Original PR description
…me method Have two models that have a method with the same name. Create multiple rules for model 1 and 1 one rule for model 2 Before this commit, the rule on model 2 will interfere with model 1. This was because some domains missed to filter on the model of the rule After this commit, rules are not colliding between models. opw-3734028 Forward-Port-Of: odoo/enterprise#56945
Accountants were able to see account.journal of parent companies, but not online accounts and links. This commit sets the same visibility for the 3 objects ticket-3748174 Forward-Port-Of: odoo/enterprise#57034
Original PR description
Accountants were able to see account.journal of parent companies, but not online accounts and links. This commit sets the same visibility for the 3 objects ticket-3748174 Forward-Port-Of: odoo/enterprise#57034
To reproduce ============ - Create a subscription with a monthly period - Send it to client and pay it on portal (by strip for example) - Wait for the next renewal date (change date to future) - execute manually the crons : - Sale Subscription: generate recurring invoices and payments - payment: post-process transactions - The invoice is created but not sent to the customer or posted in chatter Problem ======= the condition `not invoice.is_move_sent` is true in this use-case which wil
Original PR description
To reproduce ============ - Create a subscription with a monthly period - Send it to client and pay it on portal (by strip for example) - Wait for the next renewal date (change date to future) - execute manually the crons : - Sale Subscription: generate recurring invoices and payments - payment: post-process transactions - The invoice is created but not sent to the customer or posted in chatter Problem ======= the condition `not invoice.is_move_sent` is true in this use-case which will block sending the invoice, in this context this condition does not make sense as we want to send the unsent invoice so it's removed in this commit opw-3691557 Forward-Port-Of: odoo/enterprise#56416
This commit is aimed at avoiding the reloading of the webclient assets when the cron is run. This is done by removing files from the _get_data_files_to_update method. task-3607711 Forward-Port-Of: odoo/enterprise#54120
Original PR description
This commit is aimed at avoiding the reloading of the webclient assets when the cron is run. This is done by removing files from the _get_data_files_to_update method. task-3607711 Forward-Port-Of: odoo/enterprise#54120
Forward-Port-Of: odoo/enterprise#57011
Original PR description
Forward-Port-Of: odoo/enterprise#57011
Current behavior: When the websocket connection is lost, the webworker will attempt to reconnect. However, the messages that were sent in the meantime are lost. The fix: The websocket webworker attempts reconnection indefinetely, so we do know that at some point it will indeed reconnect. To solve this, we listen to the reconnect event and retrieve the orders that were sent in the meantime. opw-3701020 Forward-Port-Of: odoo/enterprise#56640 Forward-Port-Of: odoo/enterprise#56163
Original PR description
Current behavior: When the websocket connection is lost, the webworker will attempt to reconnect. However, the messages that were sent in the meantime are lost. The fix: The websocket webworker attempts reconnection indefinetely, so we do know that at some point it will indeed reconnect. To solve this, we listen to the reconnect event and retrieve the orders that were sent in the meantime. opw-3701020 Forward-Port-Of: odoo/enterprise#56640 Forward-Port-Of: odoo/enterprise#56163
**Steps to reproduce:** 1- Install Field Service module 2- Create new task and click on products smart button 3- Hover over a product and click on the dropdown menu 4- Click on edit in the dropdown menu 5- Get back to the products page and check the quantity for the product you edited **Current behavior before PR:** When the user clicks on edit in the dropdown menu of any product the quantity gets increased by 1. This is happening because of the global click event so when the user
Original PR description
**Steps to reproduce:** 1- Install Field Service module 2- Create new task and click on products smart button 3- Hover over a product and click on the dropdown menu 4- Click on edit in the dropdown menu 5- Get back to the products page and check the quantity for the product you edited **Current behavior before PR:** When the user clicks on edit in the dropdown menu of any product the quantity gets increased by 1. This is happening because of the global click event so when the user clicks anywhere inside the kanban box the quantity gets updated. **Desired behavior after PR is merged:** This behavior has been adjusted by checking the target where the user click if it is inside the dropdown menu it will not update the product's quantity. opw-3689864 Forward-Port-Of: odoo/enterprise#56885 Forward-Port-Of: odoo/enterprise#54645
Steps to reproduce: - In Sequences > Sale order: change the prefix with `%(year)s` - create a SO; mark quotation as sent - create a bank statement with the same label as the SO's name - try to match Issue: No "sale orders" tab will ne displayed Cause: ``` > [x.lower() for x in text_tokens if x.lower().startswith(sequence_prefix)] [] ``` Since `sequence_prefix` would be `%(year)s` and the the label `202400022` Solution: Simplify everything with an orm search opw-3663266 Fo
Original PR description
Steps to reproduce: - In Sequences > Sale order: change the prefix with `%(year)s` - create a SO; mark quotation as sent - create a bank statement with the same label as the SO's name - try to match Issue: No "sale orders" tab will ne displayed Cause: ``` > [x.lower() for x in text_tokens if x.lower().startswith(sequence_prefix)] [] ``` Since `sequence_prefix` would be `%(year)s` and the the label `202400022` Solution: Simplify everything with an orm search opw-3663266 Forward-Port-Of: odoo/enterprise#56904 Forward-Port-Of: odoo/enterprise#55450
After the conversion of the user service to a simple module, a traceback started happening when trying to resend a document. This was due to the missing conversion of the user service paradigm to the module one for that specific flow. This commit fixes this by using the user module instead of the user service. task-3710633 Forward-Port-Of: odoo/enterprise#55468
Original PR description
After the conversion of the user service to a simple module, a traceback started happening when trying to resend a document. This was due to the missing conversion of the user service paradigm to the module one for that specific flow. This commit fixes this by using the user module instead of the user service. task-3710633 Forward-Port-Of: odoo/enterprise#55468
Several improvements and issues correction on switzerland payroll : name correction, column alignment task : 3644541 Forward-Port-Of: odoo/enterprise#56919 Forward-Port-Of: odoo/enterprise#53551
Original PR description
Several improvements and issues correction on switzerland payroll : name correction, column alignment task : 3644541 Forward-Port-Of: odoo/enterprise#56919 Forward-Port-Of: odoo/enterprise#53551
According the SRI documentation, we should consider the accounting date (field date) on the search filters Forward-Port-Of: odoo/enterprise#55547
Original PR description
According the SRI documentation, we should consider the accounting date (field date) on the search filters Forward-Port-Of: odoo/enterprise#55547
Fix the appointment type kanban view ungrouped display on all screen sizes. Task-3617435 Forward-Port-Of: odoo/enterprise#56610
Original PR description
Fix the appointment type kanban view ungrouped display on all screen sizes. Task-3617435 Forward-Port-Of: odoo/enterprise#56610
The aim of this commit is making sure that we only have inbound moves in `Dispatch` category and outbound moves in `Arrival` category. no task id Forward-Port-Of: odoo/enterprise#56887 Forward-Port-Of: odoo/enterprise#56747
Original PR description
The aim of this commit is making sure that we only have inbound moves in `Dispatch` category and outbound moves in `Arrival` category. no task id Forward-Port-Of: odoo/enterprise#56887 Forward-Port-Of: odoo/enterprise#56747
During a forward port (https://github.com/odoo/enterprise/commit/bb67df2f37a65acd9f62a28d8a52fbd335ef903e), we introduced a bug because the old warning system was in conflict with the new one. The aim of this commit is removing the old one (that are not working) for the new one. In the same time, we make sure that we use the right key when getting ids that have an issue. opw-3741287 opw-3741721 opw-3741658 Forward-Port-Of: odoo/enterprise#56683
Original PR description
During a forward port (https://github.com/odoo/enterprise/commit/bb67df2f37a65acd9f62a28d8a52fbd335ef903e), we introduced a bug because the old warning system was in conflict with the new one. The aim of this commit is removing the old one (that are not working) for the new one. In the same time, we make sure that we use the right key when getting ids that have an issue. opw-3741287 opw-3741721 opw-3741658 Forward-Port-Of: odoo/enterprise#56683
The aim of this commit was originally adding a test to verify that we could unfold the report. After some investigations, we discovered that we have several fields in `account_intrastat` that are using `one2many` fields in related fields (causing an issue in our test). Thus, this commit is changing related fields to computed one. We decided arbitrary that we'll take the first value of the `one2many` field for each computed ones. no task id Forward-Port-Of: odoo/enterprise#56699 Forward-
Original PR description
The aim of this commit was originally adding a test to verify that we could unfold the report. After some investigations, we discovered that we have several fields in `account_intrastat` that are using `one2many` fields in related fields (causing an issue in our test). Thus, this commit is changing related fields to computed one. We decided arbitrary that we'll take the first value of the `one2many` field for each computed ones. no task id Forward-Port-Of: odoo/enterprise#56699 Forward-Port-Of: odoo/enterprise#56525