Friday, September 20, 2024
33 changes · saas-17.2
Enhancements to existing features
This update refines Odoo's internal automated tests to align with newer Hoot testing behavior, especially around asynchronous event handling. It helps maintain product quality and developer efficiency without introducing intended changes for end users.
Original PR description
## Pull Request HOOT (PRHOOT) - part 23 Part 1: https://github.com/odoo/odoo/pull/152930 Part 2: https://github.com/odoo/odoo/pull/153018 Part 3: https://github.com/odoo/odoo/pull/153023 Part 4:…
## Pull Request HOOT (PRHOOT) - part 23 Part 1: https://github.com/odoo/odoo/pull/152930 Part 2: https://github.com/odoo/odoo/pull/153018 Part 3: https://github.com/odoo/odoo/pull/153023 Part 4: https://github.com/odoo/odoo/pull/153203 Part 5: https://github.com/odoo/odoo/pull/153425 Part 6: https://github.com/odoo/odoo/pull/153700 Part 7: https://github.com/odoo/odoo/pull/154054 Part 8: https://github.com/odoo/odoo/pull/154579 Part 9: https://github.com/odoo/odoo/pull/155073 Part 10: https://github.com/odoo/odoo/pull/155639 Part 11: https://github.com/odoo/odoo/pull/156255 / https://github.com/odoo/enterprise/pull/58135 Part 12: https://github.com/odoo/odoo/pull/156869 Part 13: https://github.com/odoo/odoo/pull/158384 / https://github.com/odoo/enterprise/pull/59019 Part 14: https://github.com/odoo/odoo/pull/158916 Part 15: https://github.com/odoo/odoo/pull/160292 / https://github.com/odoo/enterprise/pull/59971 Part 15.5: https://github.com/odoo/odoo/pull/166463 Part 16: https://github.com/odoo/odoo/pull/166311 Part 17: https://github.com/odoo/odoo/pull/168328 Part 18: https://github.com/odoo/odoo/pull/171004 / https://github.com/odoo/enterprise/pull/65657 Part 19: https://github.com/odoo/odoo/pull/171242 / https://github.com/odoo/enterprise/pull/65767 Part 20: https://github.com/odoo/odoo/pull/173332 / https://github.com/odoo/enterprise/pull/66895 Part 21: https://github.com/odoo/odoo/pull/174337 Part 22: https://github.com/odoo/odoo/pull/176777 / https://github.com/odoo/enterprise/pull/68721 Community: https://github.com/odoo/odoo/pull/179660 This pull requests brings various improvements and fixes to Hoot and the Odoo unit test ecosystem. See the different commit messages for more details. Note: these changes are made in stable to avoid having to support multiple versions of the HOOT API. As such, these changes are intended to be strictly limited to unit tests as to not put the rest of the code base at risk. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves Hoot, Odoo’s internal automated testing framework, so tests better reflect real browser behavior and are easier to maintain. It also switches the main web test route to the newer test suite while keeping legacy tests available, reducing risk by limiting changes to the testing ecosystem.
Original PR description
## Pull Request HOOT (PRHOOT) - part 23 Part 1: https://github.com/odoo/odoo/pull/152930 Part 2: https://github.com/odoo/odoo/pull/153018 Part 3: https://github.com/odoo/odoo/pull/153023 Part 4:…
## Pull Request HOOT (PRHOOT) - part 23 Part 1: https://github.com/odoo/odoo/pull/152930 Part 2: https://github.com/odoo/odoo/pull/153018 Part 3: https://github.com/odoo/odoo/pull/153023 Part 4: https://github.com/odoo/odoo/pull/153203 Part 5: https://github.com/odoo/odoo/pull/153425 Part 6: https://github.com/odoo/odoo/pull/153700 Part 7: https://github.com/odoo/odoo/pull/154054 Part 8: https://github.com/odoo/odoo/pull/154579 Part 9: https://github.com/odoo/odoo/pull/155073 Part 10: https://github.com/odoo/odoo/pull/155639 Part 11: https://github.com/odoo/odoo/pull/156255 / https://github.com/odoo/enterprise/pull/58135 Part 12: https://github.com/odoo/odoo/pull/156869 Part 13: https://github.com/odoo/odoo/pull/158384 / https://github.com/odoo/enterprise/pull/59019 Part 14: https://github.com/odoo/odoo/pull/158916 Part 15: https://github.com/odoo/odoo/pull/160292 / https://github.com/odoo/enterprise/pull/59971 Part 15.5: https://github.com/odoo/odoo/pull/166463 Part 16: https://github.com/odoo/odoo/pull/166311 Part 17: https://github.com/odoo/odoo/pull/168328 Part 18: https://github.com/odoo/odoo/pull/171004 / https://github.com/odoo/enterprise/pull/65657 Part 19: https://github.com/odoo/odoo/pull/171242 / https://github.com/odoo/enterprise/pull/65767 Part 20: https://github.com/odoo/odoo/pull/173332 / https://github.com/odoo/enterprise/pull/66895 Part 21: https://github.com/odoo/odoo/pull/174337 Part 22: https://github.com/odoo/odoo/pull/176777 / https://github.com/odoo/enterprise/pull/68721 Enterprise: https://github.com/odoo/enterprise/pull/69728 This pull requests brings various improvements and fixes to Hoot and the Odoo unit test ecosystem. See the different commit messages for more details. Note: these changes are made in stable to avoid having to support multiple versions of the HOOT API. As such, these changes are intended to be strictly limited to unit tests as to not put the rest of the code base at risk. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
Demo employees in Sales Timesheets are now linked to newly created, dedicated contacts instead of incorrect existing ones. This keeps sample data cleaner and avoids confusion when evaluating employee, timesheet, and sales workflows.
Original PR description
The employees created in the demo data (see https://github.com/odoo/odoo/pull/108795) of sale_timesheet were linked to the wrong partners, we then create new partners dedicated to those new employees. version-17.2 task-3874828 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
With an EU company (i.e. BE) Open a product [PROD], in Accounting Tab set: - Commodity Code: 84716070 - Supplementary units: 0.56 Create an invoice to an EU partner (i.e. IT) with 5 units of [PROD] Confirm invoice Accounting > Reporting > Intrastat Report Export pdf or xml Issue: Report will show a very large decimal number This occurs because the number is computed via SL query that is not rounded opw-4160104 Forward-Port-Of: odoo/enterprise#70181
Original PR description
With an EU company (i.e. BE) Open a product [PROD], in Accounting Tab set: - Commodity Code: 84716070 - Supplementary units: 0.56 Create an invoice to an EU partner (i.e. IT) with 5 units of [PROD] Confirm invoice Accounting > Reporting > Intrastat Report Export pdf or xml Issue: Report will show a very large decimal number This occurs because the number is computed via SL query that is not rounded opw-4160104 Forward-Port-Of: odoo/enterprise#70181
This **PR** introduces support for country specific VAT labels to be displayed on their reports and replaces 'VAT' with 'Tax ID'. **task**-4163352 Forward-Port-Of: odoo/enterprise#69506
Original PR description
This **PR** introduces support for country specific VAT labels to be displayed on their reports and replaces 'VAT' with 'Tax ID'. **task**-4163352 Forward-Port-Of: odoo/enterprise#69506
Currently, An error is generated while a user is trying to open the 'Profit and Loss' report when balance sheet report is not available Steps to reproduce: - Install an ```account_reports``` module. - Turn on debugger mode (from SAAS-17.2 no need this). - Navigate to Accounting / Configuration / Management / Accounting Reports, Delete the 'Balance Sheet' report - And Open 'Profit and Loss' report(In Accounting Reports). ```ValueError: External ID not found in the system: account_rep
Original PR description
Currently, An error is generated while a user is trying to open the 'Profit and Loss' report when balance sheet report is not available Steps to reproduce: - Install an ```account_reports``` module.…
Currently, An error is generated while a user is trying to open the 'Profit and Loss' report when balance sheet report is not available Steps to reproduce: - Install an ```account_reports``` module. - Turn on debugger mode (from SAAS-17.2 no need this). - Navigate to Accounting / Configuration / Management / Accounting Reports, Delete the 'Balance Sheet' report - And Open 'Profit and Loss' report(In Accounting Reports). ```ValueError: External ID not found in the system: account_reports.balance_sheet``` An error occurs when the system tries to retrieve an external id of balance sheet report 'account_reports.balance_sheet' at [1], but it is not available. Link [1]: https://github.com/odoo/enterprise/blob/9d185d78813f776249a4de0469d659723a94d026/account_reports/models/account_report.py#L5401 To handle this issue, add 'raise_if_not_found=False' in ref() so that when balance sheet report is not available it will return a None value instead of traceback. Sentry-5836075163 Forward-Port-Of: odoo/enterprise#69989
### Steps to reproduce the issue: 1. Activate Colombian localization 2. Create an Invoice and Confirm 3. Go to _Accounting > Configuration > Journals_ 4. Select Customer Invoices, set Nota de Débito to True and Save 5. Go back to your Invoice, its Electronic Invoice Type is now "Nota Débito" 6. Set Nota de Débito to False in the Customer Invoices Journal 7. Return once again to you Invoice, its Electronic Invoice Type did not change ### Explanation: When the user changes `l10n_co_
Original PR description
### Steps to reproduce the issue: 1. Activate Colombian localization 2. Create an Invoice and Confirm 3. Go to _Accounting > Configuration > Journals_ 4. Select Customer Invoices, set Nota de Débito…
### Steps to reproduce the issue: 1. Activate Colombian localization 2. Create an Invoice and Confirm 3. Go to _Accounting > Configuration > Journals_ 4. Select Customer Invoices, set Nota de Débito to True and Save 5. Go back to your Invoice, its Electronic Invoice Type is now "Nota Débito" 6. Set Nota de Débito to False in the Customer Invoices Journal 7. Return once again to you Invoice, its Electronic Invoice Type did not change ### Explanation: When the user changes `l10n_co_edi_debit_note` in an `account.journal`, it changes this value for all entries in said `account.journal`, not only the ones in draft state. https://github.com/odoo/enterprise/blob/9137e5d9f2690bfe375436c83356ebaa4bd7e8c6/l10n_co_edi/models/account_invoice.py#L65 `_compute_l10n_co_edi_type` depending on `l10n_co_edi_debit_note`, it is called and, if the change is from False to True, `l10n_co_edi_type` is changed to a specific value. https://github.com/odoo/enterprise/blob/9137e5d9f2690bfe375436c83356ebaa4bd7e8c6/l10n_co_edi/models/account_invoice.py#L72-L81 If `l10n_co_edi_debit_note` is set back to False, `l10n_co_edi_type` is not reverted to its previous value and the user can not manually change this field for posted or cancelled entries. ### Fix reasoning: To avoid such situation from happening, the field will be restricted for journals with entries in a non draft state. opw-4174980 Forward-Port-Of: odoo/enterprise#70133
Steps to reproduce: ------- - install field service app - Go to the Field Service app and create a new task. - Assign a partner (customer) to the task. - Notice that the address of the assigned partner is not displayed immediately. - The address only appears after the record is saved. cause: -------- - context 'show_address' was not passed to _compute_display_name Technical: --------- In a previous [pull request](https://github.com/odoo/enterprise/pull/56179/commits/676e6c34a990
Original PR description
Steps to reproduce: ------- - install field service app - Go to the Field Service app and create a new task. - Assign a partner (customer) to the task. - Notice that the address of the assigned…
Steps to reproduce: ------- - install field service app - Go to the Field Service app and create a new task. - Assign a partner (customer) to the task. - Notice that the address of the assigned partner is not displayed immediately. - The address only appears after the record is saved. cause: -------- - context 'show_address' was not passed to _compute_display_name Technical: --------- In a previous [pull request](https://github.com/odoo/enterprise/pull/56179/commits/676e6c34a9901d4fe7f68859e1b526dfc2090413), the show_address context was removed. As a result, the _compute_display_name method was not able to correctly display the partner's address when a partner was assigned to a task.The address would only appear after the task was saved. Solution: The show_address context should be reintroduced and passed to the `_compute_display_name` method during the task creation or update process. This will allow the address to be displayed immediately when the partner is selected. task-4038335 Forward-Port-Of: odoo/enterprise#68198
**Steps to reproduce:** - Install l10n_mx_edi - Switch to a Mexican company (e.g. ESCUELA KEMPER URGATE) - Create an invoice: * Customer: [a Mexican customer] (e.g. INMOBILIARIA CVA) * Usage: General expenses * CFDI to public: [checked] - Confirm the invoice - Generate CFDI and the invoice via "Send & Print" button **Issue:** On the invoice, "Usage" has an incorrect value: "S01 - General expenses" which is a mix of "S01 - Without fiscal effects" and "G03 - General expenses".
Original PR description
**Steps to reproduce:** - Install l10n_mx_edi - Switch to a Mexican company (e.g. ESCUELA KEMPER URGATE) - Create an invoice: * Customer: [a Mexican customer] (e.g. INMOBILIARIA CVA) * Usage: General expenses * CFDI to public: [checked] - Confirm the invoice - Generate CFDI and the invoice via "Send & Print" button **Issue:** On the invoice, "Usage" has an incorrect value: "S01 - General expenses" which is a mix of "S01 - Without fiscal effects" and "G03 - General expenses". The description should be the one linked to the code. opw-4118647 Forward-Port-Of: odoo/enterprise#70274
Issue: ===== Changes of asset are not saved. Steps to reproduce the issue: ============================= - Create a new asset - Add some accounts in the accounting section - Confirm it - Click on modify depreciation - Select re-evaluate - Change the accounts and click modify - The changes are not applied Origin of the issue: ==================== We are not including the values of accounts in the `asset_vals` dict that we use to update the asset. Solution: ========= Added t
Original PR description
Issue: ===== Changes of asset are not saved. Steps to reproduce the issue: ============================= - Create a new asset - Add some accounts in the accounting section - Confirm it - Click on modify depreciation - Select re-evaluate - Change the accounts and click modify - The changes are not applied Origin of the issue: ==================== We are not including the values of accounts in the `asset_vals` dict that we use to update the asset. Solution: ========= Added the fields of the accounts to `asset_vals` dict. opw-4100185 Forward-Port-Of: odoo/enterprise#70172
Currently, an exception is generated when the user tries to upload an image file for creating an invoice. error: `UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte` This is because below code line tries to load image context of uploaded image file. https://github.com/odoo/enterprise/blob/799b80d12680153a5ba42ee97501723ba38052b1/l10n_ke_edi_oscu/models/account_move.py#L567 This commit fixes the above issue by handling `UnicodeDecodeError` in `con
Original PR description
Currently, an exception is generated when the user tries to upload an image file for creating an invoice. error: `UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte` This is because below code line tries to load image context of uploaded image file. https://github.com/odoo/enterprise/blob/799b80d12680153a5ba42ee97501723ba38052b1/l10n_ke_edi_oscu/models/account_move.py#L567 This commit fixes the above issue by handling `UnicodeDecodeError` in `contextlib.suppress.` sentry-5757745777 Forward-Port-Of: odoo/enterprise#69649
The issue: When we have entries that are linked to a bank statement with a balance of 0, this will lead to a division by zero error when generating a reconciliation report The Fix: check for the suspense balance value, if it is zero, then there is no need to compute the rate since zero divided by anything = 0 opw-3990116 Forward-Port-Of: odoo/enterprise#68300 Forward-Port-Of: odoo/enterprise#65095
Original PR description
The issue: When we have entries that are linked to a bank statement with a balance of 0, this will lead to a division by zero error when generating a reconciliation report The Fix: check for the suspense balance value, if it is zero, then there is no need to compute the rate since zero divided by anything = 0 opw-3990116 Forward-Port-Of: odoo/enterprise#68300 Forward-Port-Of: odoo/enterprise#65095
payment_method_id is readonly in account.batch.payment's form view when there is at least one payment on the batch. So, it cannot easily be changed in standard in order to break the constraint. It could however happen in custom views or when generating records directly from the code. Forward-Port-Of: odoo/enterprise#70230
Original PR description
payment_method_id is readonly in account.batch.payment's form view when there is at least one payment on the batch. So, it cannot easily be changed in standard in order to break the constraint. It could however happen in custom views or when generating records directly from the code. Forward-Port-Of: odoo/enterprise#70230
For on premise instances, when the database expire and user renew its subscription, the update is not immediate; on the expiration panel there is a already a button to forcefully refresh the subscription status and unblock the database, but it's not really visible (its not clear that the 'refresh' icon right next to "Renew your subscription" / "Upgrade your subscription" buttons is just to refresh the subscription status and not to re-do that action again). This commit now shows the 'Refre
Original PR description
For on premise instances, when the database expire and user renew its subscription, the update is not immediate; on the expiration panel there is a already a button to forcefully refresh the…
For on premise instances, when the database expire and user renew its subscription, the update is not immediate; on the expiration panel there is a already a button to forcefully refresh the subscription status and unblock the database, but it's not really visible (its not clear that the 'refresh' icon right next to "Renew your subscription" / "Upgrade your subscription" buttons is just to refresh the subscription status and not to re-do that action again). This commit now shows the 'Refresh subscription status' action as a textual button to make it more visible to users. [opw-3942907](https://www.odoo.com/odoo/project.task/3942907) Note: the goal is to introduce a slight [wording change](https://github.com/odoo/enterprise/compare/16.0...odoo-dev:enterprise:16.0-opw-3942907-exp-panel-increase-sub-refresh-act-visibility-xal#diff-915475ae004db6256f7efc2757edfead13697a1581ee8c609251b1bafdcf9d06R24) (cf ticket) in 16.0 and later forward port, we're not doing it for 15.0 as the translation is still loaded in db Forward-Port-Of: odoo/enterprise#70263 Forward-Port-Of: odoo/enterprise#65768
Before this commit, it was not possible to resequence the projects in any list views of Project and Field Service because the `handle` widget is not defined in the sequence and the default order applied in those list views does not begin with `sequence` field. This commit shows the sequence field in the list view of `Field Service > Configuration > Projects` and change the default of that list view to allow the user to resequence the projects as he wishes. Community PR: odoo/odoo#180403
Original PR description
Before this commit, it was not possible to resequence the projects in any list views of Project and Field Service because the `handle` widget is not defined in the sequence and the default order applied in those list views does not begin with `sequence` field. This commit shows the sequence field in the list view of `Field Service > Configuration > Projects` and change the default of that list view to allow the user to resequence the projects as he wishes. Community PR: odoo/odoo#180403 Close odoo/odoo#176961 Forward-Port-Of: odoo/enterprise#70137
Remove "Create" and "Create and Edit" of Tax Grids in the list view of Journal Items. task: 4179612 Forward-Port-Of: odoo/enterprise#69864
Original PR description
Remove "Create" and "Create and Edit" of Tax Grids in the list view of Journal Items. task: 4179612 Forward-Port-Of: odoo/enterprise#69864
Problem: The `snailmail_cost` field was not being computed because the compute method was not being called. Steps to reproduce: - Enable "SnailMail" in Settings. - Navigate to Accounting > Follow-up Reports. - Open a report. - Follow up on the report. - Observe that the stamps count is 1, even if the partner has multiple follow-up contacts. opw-4160083 Forward-Port-Of: odoo/enterprise#70236
Original PR description
Problem: The `snailmail_cost` field was not being computed because the compute method was not being called. Steps to reproduce: - Enable "SnailMail" in Settings. - Navigate to Accounting > Follow-up Reports. - Open a report. - Follow up on the report. - Observe that the stamps count is 1, even if the partner has multiple follow-up contacts. opw-4160083 Forward-Port-Of: odoo/enterprise#70236
### Steps to reproduce issue: 1. Go to _Accounting > Configuration > Account Reports_ 2. Select Balance Sheet and Add a line in it 3. Select the new line and give it ASSETS as parent_id 4. Go to Reporting > Balance Sheet 5. The new line is still at the end of the report ### Explanation: Lines have a `sequence` to sort them in the report. It is not computed to change along with `parent_id`, since the lines are supposed to be arranged through the `AccountReportListRenderer` widget. Be
Original PR description
### Steps to reproduce issue: 1. Go to _Accounting > Configuration > Account Reports_ 2. Select Balance Sheet and Add a line in it 3. Select the new line and give it ASSETS as parent_id 4. Go to Reporting > Balance Sheet 5. The new line is still at the end of the report ### Explanation: Lines have a `sequence` to sort them in the report. It is not computed to change along with `parent_id`, since the lines are supposed to be arranged through the `AccountReportListRenderer` widget. Because of it a line whose `parent_id` changes will not be placed correctly. ### Fix reasoning: The `parent_id` field will be removed from the view, the hierarchy is already shown in the widget. opw-4101282 Forward-Port-Of: odoo/enterprise#69568
- 17.0 ### Steps to reproduce: - Install sale_planning and project_forecast app. - Create a sale order with the planning product (e.g. Developer (Plan services)) and confirm it. - Create planning for that sale order and set resource (e.g. Marc demo) to it. - Click 'Publish & Send' button. - Set 'User: Own Documents Only' rights for the sales and 'User' or 'none' for the project and planning for Marc demo. - Login from that user and open the planning app. - Open assigned planning form v
Original PR description
- 17.0 ### Steps to reproduce: - Install sale_planning and project_forecast app. - Create a sale order with the planning product (e.g. Developer (Plan services)) and confirm it. - Create planning for that sale order and set resource (e.g. Marc demo) to it. - Click 'Publish & Send' button. - Set 'User: Own Documents Only' rights for the sales and 'User' or 'none' for the project and planning for Marc demo. - Login from that user and open the planning app. - Open assigned planning form view. - Print planning. ### Issue: - Traceback occurs of access right. ### Cause: - While downloading the report, it goes to access the "display_name" and "name" field of sale order line and project respectively that is computed in the _compute_display_name, but the user cannot access "sale.order.line" and "project" due to record rule. ### Solution: - Give access to the record by using sudo(). task-3978552 Forward-Port-Of: odoo/enterprise#69533
Steps to reproduce: - Install the FSM module. - Open FSM and navigate to the calendar view. - Create a task with a customer (without a zip code). Issue: The wrong method is being called. Currently, the code uses super.onWillStart();, but this is incorrect as the method does not exist in the calendar model. Fix: We corrected the super method call. task-3617833 Forward-Port-Of: odoo/odoo#180724
Original PR description
Steps to reproduce:
- Install the FSM module.
- Open FSM and navigate to the calendar view.
- Create a task with a customer (without a zip code).
Issue:
The wrong method is being called. Currently, the code uses super.onWillStart();, but this is
incorrect as the method does not exist in the calendar model.
Fix:
We corrected the super method call.
task-3617833
Forward-Port-Of: odoo/odoo#180724Before this commit, since the design changes, the form with html expander no longer works. This commit adapts the code to expand the html field as before to take the remaining height unused by the form view when we first load the form view of `project`. task-3258533 Forward-Port-Of: odoo/odoo#168812
Original PR description
Before this commit, since the design changes, the form with html expander no longer works. This commit adapts the code to expand the html field as before to take the remaining height unused by the form view when we first load the form view of `project`. task-3258533 Forward-Port-Of: odoo/odoo#168812
Remove "Create" and "Create and Edit" of Tax Grids in the list view of Journal Items. task: 4179612 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#179930
Original PR description
Remove "Create" and "Create and Edit" of Tax Grids in the list view of Journal Items. task: 4179612 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#179930
* STEP TO REPRODUCE: go to configuration -> project -> switch to list view -> can't change sequence of project * REASON: in project.view_project_config we use invisible instead of column_invisible and the default_order in tree are "is_favorite desc, sequence, name, id" not like in v16 are "sequence, name, id" * SOLUTION: Change invisible -> column_invisible and change default_order of project config view to "sequence, name, id" Close https://github.com/odoo/odoo/issues/176961 Forward-Port-
Original PR description
* STEP TO REPRODUCE: go to configuration -> project -> switch to list view -> can't change sequence of project * REASON: in project.view_project_config we use invisible instead of column_invisible and the default_order in tree are "is_favorite desc, sequence, name, id" not like in v16 are "sequence, name, id" * SOLUTION: Change invisible -> column_invisible and change default_order of project config view to "sequence, name, id" Close https://github.com/odoo/odoo/issues/176961 Forward-Port-Of: odoo/odoo#180403
This commit add the missing test file in `__init__.py` 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#178377
Original PR description
This commit add the missing test file in `__init__.py` 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#178377
Steps --- * install `stock`, `sale_management` * configure reception in 2 steps (*Setting > Multi-step routes* + *Configure Warehouse Routes*) * make *Stock/Input* a return location (*Inventory* > *Configuration* > *Stock/Input* form) * create an SO for 5 units of a storable product (say P) * (put at least 5 of P available in stock) * confirm it > go to the delivery > validate * *Return* > from the wizard set *Stock/Input* as the return location * validate the `Customers -> Input`
Original PR description
Steps --- * install `stock`, `sale_management` * configure reception in 2 steps (*Setting > Multi-step routes* + *Configure Warehouse Routes*) * make *Stock/Input* a return location (*Inventory* >…
Steps --- * install `stock`, `sale_management` * configure reception in 2 steps (*Setting > Multi-step routes* + *Configure Warehouse Routes*) * make *Stock/Input* a return location (*Inventory* > *Configuration* > *Stock/Input* form) * create an SO for 5 units of a storable product (say P) * (put at least 5 of P available in stock) * confirm it > go to the delivery > validate * *Return* > from the wizard set *Stock/Input* as the return location * validate the `Customers -> Input` receipt * validate the `Input -> Stock` internal transfer * => on the orignal SO the delivered quantity is now -5 instead of 0 Cause --- When generating moves in a push rules, we copy the fields of the generating move, including `to_refund`, so both moves affect the delivered quantity. But when we check if a return move should affect the delivered/received qty on SO/POs, we only check the `usage` of the destination location; so in the case of multi-step routes, moves further down the chain will affect the qty twice or more, and we will have a negative delivered quantity Fix --- Use a stricter check to determined which moves should affect SO quantities opw-4129497 Forward-Port-Of: odoo/odoo#178392
Currently if there is any automation rule set to trigger on save on res.users, an error will be thrown any time there is a change made to the groups on a user. This is due to the changed field being a sel_groups... field which does not actually exist on the res.users model. To circumvent this, logic has been added to identify when a field is a selection group field, and pull the correct existing group from the groups_id field on the record using set logic. OPW: 4152636 --- I confirm I hav
Original PR description
Currently if there is any automation rule set to trigger on save on res.users, an error will be thrown any time there is a change made to the groups on a user. This is due to the changed field being a sel_groups... field which does not actually exist on the res.users model. To circumvent this, logic has been added to identify when a field is a selection group field, and pull the correct existing group from the groups_id field on the record using set logic. OPW: 4152636 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#180367
In a Spanish company if you don't have a certificate set on the company, the PoS would generate a proforma invoice instead of a normal invoice. Steps to reproduce: ------------------- * Install l10n_es_pos * Remove the l10n_es_edi_facturae_certificate_id from the company * Open PoS * Make an order and invoice it > Observation: The invoice generated is a proforma invoice instead of a normal invoice Why the fix: ------------ When generating the invoice data in `_generate_pdf_and_sen
Original PR description
In a Spanish company if you don't have a certificate set on the company, the PoS would generate a proforma invoice instead of a normal invoice. Steps to reproduce: ------------------- * Install l10n_es_pos * Remove the l10n_es_edi_facturae_certificate_id from the company * Open PoS * Make an order and invoice it > Observation: The invoice generated is a proforma invoice instead of a normal invoice Why the fix: ------------ When generating the invoice data in `_generate_pdf_and_send_invoice` the wizard would have `l10n_es_edi_facturae_checkbox_xml` checked by default This leads to the generation of a specific invoice that will fail because there are no certificate setup on the company. This will then fallback to the proforma invoice. opw-4074779 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#179107
- Have a x2many on your view; - Edit another field that through a onChange modify the x2many; - Discard the changes. Before this commit, the x2many didn't come back to its initial state. Now, the x2many will came back to its initial state. Note that this commit is a fix up of [1] which already address part of this issue. [1] https://github.com/odoo/odoo/commit/e450d03a5f4fc80198837cccf10fa349ecc205a9 Forward-Port-Of: odoo/odoo#180829
Original PR description
- Have a x2many on your view; - Edit another field that through a onChange modify the x2many; - Discard the changes. Before this commit, the x2many didn't come back to its initial state. Now, the x2many will came back to its initial state. Note that this commit is a fix up of [1] which already address part of this issue. [1] https://github.com/odoo/odoo/commit/e450d03a5f4fc80198837cccf10fa349ecc205a9 Forward-Port-Of: odoo/odoo#180829
Before this commit, the PoS would fail to load if an orderline contained a product that was not loaded into the PoS. This issue could arise, for example, when category restrictions are applied after creating draft orders, preventing the PoS from loading. opw-4119028 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#180230
Original PR description
Before this commit, the PoS would fail to load if an orderline contained a product that was not loaded into the PoS. This issue could arise, for example, when category restrictions are applied after creating draft orders, preventing the PoS from loading. opw-4119028 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#180230
* PROPBLEM: In form view we try to use m2o.field_name which is 'l10n_vn_edi_replacement_origin_id.l10n_vn_edi_invoice_number', odoo doesn't support that so it will not work at least in form view * SOLUTION: this commit make the invisible condition more simpler and create a non-store field to fix the issue 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
Original PR description
* PROPBLEM: In form view we try to use m2o.field_name which is 'l10n_vn_edi_replacement_origin_id.l10n_vn_edi_invoice_number', odoo doesn't support that so it will not work at least in form view * SOLUTION: this commit make the invisible condition more simpler and create a non-store field to fix the issue 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#180818
- Install `l10n_in` - create a branch for the Indian company - install `l10n_in_withholding` - traceback If there an Indian company has a branch, installing `l10n_in_withholding` raises an RPC error on the branch company, because the TDS group is not set on it. Since branches use the COA of the parent company, we don't need to load further. Task [link](https://www.odoo.com/odoo/project/967/tasks/4143223) task-4143223 Forward-Port-Of: odoo/odoo#178305
Original PR description
- Install `l10n_in` - create a branch for the Indian company - install `l10n_in_withholding` - traceback If there an Indian company has a branch, installing `l10n_in_withholding` raises an RPC error on the branch company, because the TDS group is not set on it. Since branches use the COA of the parent company, we don't need to load further. Task [link](https://www.odoo.com/odoo/project/967/tasks/4143223) task-4143223 Forward-Port-Of: odoo/odoo#178305
Updated imports for `zeep.wsse` components to explicitly import modules. This change is required because zeep 4.2.0 introduced an `__all__` declaration in `zeep.wsse`: ``` __all__ = [ "Compose", "BinarySignature", "MemorySignature", "Signature", "UsernameToken", ] ``` The __all__ prevents using wildcard imports for all wsse submodules as we did before. Steps to Reproduce: - Install the l10n_nl_reports_sbr module. - Navigate to Accounting > Report > Tax Rep
Original PR description
Updated imports for `zeep.wsse` components to explicitly import modules.
This change is required because zeep 4.2.0 introduced an `__all__` declaration in `zeep.wsse`:
```
__all__ = [
"Compose",
"BinarySignature",
"MemorySignature",
"Signature",
"UsernameToken",
]
```
The __all__ prevents using wildcard imports for all wsse submodules as we did before.
Steps to Reproduce:
- Install the l10n_nl_reports_sbr module.
- Navigate to Accounting > Report > Tax Report.
- Select XBRL from the dropdown menu on the PDF button in the top left corner.
- Attempt to send the document.
- An error will occur:
```
Copy code
File "/home/odoo/src/enterprise/saas-17.4/l10n_nl_reports_sbr/wizard/l10n_nl_reports_sbr_tax_report_wizard.py", line 168, in __init__
wsse.signature.MemorySignature.__init__(
^^^^^^^^^^^^^^
AttributeError: module 'odoo.tools.zeep.wsse' has no attribute 'signature'
````
opw-4181876
Forward-Port-Of: odoo/odoo#180857Versions -------- - 16.0+ Steps ----- 1. Try to import a malformed OFX file into a bank journal; 2. close traceback; 3. try to import a valid OFX or CSV file. Issue ----- Same traceback as first upload. Cause ----- There's no error handling on the RPC call. If the file is successfully imported, the `attachmentIdsToProcess` gets clear, but if there's an error, the bad file remains in the queue until leaving the view. Solution -------- Put the RPC call in a `try` block, and
Original PR description
Versions -------- - 16.0+ Steps ----- 1. Try to import a malformed OFX file into a bank journal; 2. close traceback; 3. try to import a valid OFX or CSV file. Issue ----- Same traceback as first upload. Cause ----- There's no error handling on the RPC call. If the file is successfully imported, the `attachmentIdsToProcess` gets clear, but if there's an error, the bad file remains in the queue until leaving the view. Solution -------- Put the RPC call in a `try` block, and clear the `attachmentIdsToProcess` in `finally` to ensure this happens regardless of outcome. opw-4113740 Forward-Port-Of: odoo/odoo#180845