Friday, March 11, 2022
29 changes · master
Enhancements to existing features
The mail app’s user timing settings were changed to be stored as a regular setting field. This makes the behavior more consistent and easier to maintain, with no expected disruption for everyday users.
Original PR description
Task-2734101
This update makes part of the mail app's live communication session handling easier to manage internally. It helps support more reliable behavior for real-time calls and reduces the risk of timing-related issues in future changes.
Original PR description
Task-2734101
This update adds country information to tax records so Odoo can more easily apply country-specific filters and rules. It helps improve configuration accuracy for accounting setups that depend on local tax requirements.
Original PR description
add country_code for use in domains -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
German accounting reports now include a button to export DATEV CSV files together with all attachments from journal entries. This makes it easier for businesses to provide complete accounting data and supporting documents in one export.
Original PR description
Add a button to export datev csv's with all attachments of all Journal Entries. Task: 2604751
The Peru electronic invoicing setup now limits tax group choices to the relevant country. This helps reduce configuration mistakes and supports more accurate local tax compliance.
Original PR description
Related community PR: [86236](https://github.com/odoo/odoo/pull/86236) needs to be merged before this one could
The Planning app has clearer labels, menu guidance, and filtering options to help users find relevant schedules, roles, templates, and resources more easily. These updates improve day-to-day navigation and reporting across Planning-related workflows without changing core business processes.
Original PR description
** = project_forecast, project_timesheet_forecast, sale_planning The purpose of this commit is to do generic improvement in the planning app. In this commit did the following changes: - change the helper of 4 schedule menus, my planning, planning analysis, material resource, roles, and shift template. - add following filters in roles and shift template: -my roles, my team, my department - rename some filters, fields, and menu task-2725526 PR: #23286
This change updates internal payroll accounting tests for Belgian localization to reflect the expected number of database queries. It helps keep automated checks reliable after related platform changes, with no direct impact on day-to-day user workflows.
Original PR description
Title :) Original PR : [odoo/enterprise#20661](https://github.com/odoo/enterprise/pull/20661) Community PR : [odoo/odoo#76097](https://github.com/odoo/odoo/pull/82637) TaskId-2602897
Resolved issues and error corrections
Help text returned by server actions is now properly formatted when shown to users. This prevents confusing or broken-looking guidance in the interface, improving clarity without changing workflows.
Original PR description
A server action sometimes returns an action with a help key. That help was not marked up, leading to an incorrect display of that help.
Code cleanup and technical improvements
This update simplifies the styling behind Odoo's keyboard shortcut hints as part of a broader interface cleanup. It should make the code easier to maintain while keeping the user experience essentially unchanged.
Original PR description
Part of the overall v16 SCSS optimization/restyle, task-2704984 task-2749506 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
**Description of the issue/feature this PR addresses:** Persian language native name misspelled as "فارس" instead of "فارسی". **Current behavior before PR:** The name shown incorrectly everywhere in Persian language. **Desired behavior after PR is merged:** The language name will be shown correctly. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#84956
Original PR description
**Description of the issue/feature this PR addresses:** Persian language native name misspelled as "فارس" instead of "فارسی". **Current behavior before PR:** The name shown incorrectly everywhere in Persian language. **Desired behavior after PR is merged:** The language name will be shown correctly. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#84956
The spreadsheet component used in Documents has been updated so users can import sheets containing more than 125,000 cells. This reduces import failures for large business spreadsheets and makes spreadsheet handling more reliable.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/9014d42f [FIX] import: can import sheets with more than 125k cells
Planning screens now show a wrench icon for material resources instead of an empty image placeholder. This makes schedules easier to scan and helps users distinguish equipment or materials from people at a glance.
Original PR description
In this Commit, add the many2one_avatar_resource widget because if material resource then an empty image icon appeared. Now the wrench icon will appear. Usage: `<field name="resource_id" widget="many2one_avatar_resource"/>` task-2758899
Since [1] the class `o_we_force_no_transition` was not removed when selecting a snippet when the background color was a gradient. (It was however removed when selecting a background color.) After this commit the class is removed in that situation just like for any other `data-select-style` attribute. [1]: https://github.com/odoo/odoo/commit/a48a30f954afcb6ff3a59c4f32b05fd0c2cfcd2b task-2633169 Description of the issue/feature this PR addresses: Current behavior before PR: De
Original PR description
Since [1] the class `o_we_force_no_transition` was not removed when selecting a snippet when the background color was a gradient. (It was however removed when selecting a background color.) After this commit the class is removed in that situation just like for any other `data-select-style` attribute. [1]: https://github.com/odoo/odoo/commit/a48a30f954afcb6ff3a59c4f32b05fd0c2cfcd2b task-2633169 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#84435
Previously, the tooling for web ran on all branches, this can cause problems because it will automatically lint all files that have been changed on commit, which can cause a lot of noise in the diff which is undesirable in stable branches, as it makes forward ports more difficult, among other things. This commit adds a condition in the tooling so that it only runs on branches whose name starts with master to fix this issue. Forward-Port-Of: odoo/odoo#86163
Original PR description
Previously, the tooling for web ran on all branches, this can cause problems because it will automatically lint all files that have been changed on commit, which can cause a lot of noise in the diff which is undesirable in stable branches, as it makes forward ports more difficult, among other things. This commit adds a condition in the tooling so that it only runs on branches whose name starts with master to fix this issue. Forward-Port-Of: odoo/odoo#86163
Before this commit, when the user hit the key enter, in the media dialog, in the icon tab, in the input, the page was reloaded instead of searching for the icon. Task-2733154 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82885
Original PR description
Before this commit, when the user hit the key enter, in the media dialog, in the icon tab, in the input, the page was reloaded instead of searching for the icon. Task-2733154 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82885
see https://github.com/odoo/odoo/pull/77771 https://github.com/odoo/enterprise/pull/23738 These PR are updating a template and adding a new dependency in account_report. This has the side effect of making account report raise a traceback when invoicing has not been updated prior to that. With this change, we will bump the version of account and use it to make sure that it has been updated as we would expect prior to updating account_reports. If not, we will raise a user error with an
Original PR description
see https://github.com/odoo/odoo/pull/77771 https://github.com/odoo/enterprise/pull/23738 These PR are updating a template and adding a new dependency in account_report. This has the side effect of making account report raise a traceback when invoicing has not been updated prior to that. With this change, we will bump the version of account and use it to make sure that it has been updated as we would expect prior to updating account_reports. If not, we will raise a user error with an explicit message asking the user to update invoicing. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#86107
### Current behavior SIPS urls aren't available anymore and lead to a 410 error page ### Reason URLs have been updated and should be replaced i.e. previous URL : https://payment-webinit.simu.sips-atos.com/paymentInit should be replaced by https://payment-webinit.simu.sips-services.com/paymentInit according to SIPS docs [1] [1] : https://documentation.sips.worldline.com/en/WLSIPS.317-UG-Sips-Paypage-POST.html#Step-3-Doing-tests-in-the-simulation-environment_ OPW-2780969 Forward-Port-
Original PR description
### Current behavior SIPS urls aren't available anymore and lead to a 410 error page ### Reason URLs have been updated and should be replaced i.e. previous URL : https://payment-webinit.simu.sips-atos.com/paymentInit should be replaced by https://payment-webinit.simu.sips-services.com/paymentInit according to SIPS docs [1] [1] : https://documentation.sips.worldline.com/en/WLSIPS.317-UG-Sips-Paypage-POST.html#Step-3-Doing-tests-in-the-simulation-environment_ OPW-2780969 Forward-Port-Of: odoo/odoo#86215 Forward-Port-Of: odoo/odoo#86090
Finetuning of #85774 Fixes #86174 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#86198
Original PR description
Finetuning of #85774 Fixes #86174 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#86198
Purpose ======= On product list we can see that kits are listed with quantity on hand equals to the lesser quantity of the kit's components. When applying the filter **Quantity on hand greater than 0**, the kit disappears from the list. The issue is that we compute product quantity from stock.quant, for kits we don't create a quant because it's not a physical product. Specification ============= To solve the issue, we extend the method **_search_qty_available_new** from **stoc
Original PR description
Purpose ======= On product list we can see that kits are listed with quantity on hand equals to the lesser quantity of the kit's components. When applying the filter **Quantity on hand greater than 0**, the kit disappears from the list. The issue is that we compute product quantity from stock.quant, for kits we don't create a quant because it's not a physical product. Specification ============= To solve the issue, we extend the method **_search_qty_available_new** from **stock.product** in **mrp.product**, where we fetch all kits and add the id of the products that verify the given condition. opw-2717594 Forward-Port-Of: odoo/odoo#86240 Forward-Port-Of: odoo/odoo#84699
Steps to reproduce: - On bank journal, set at least two manual outbound_payment_method_line_ids - Set a vendor X with manual property_payment_method_id - Create a Vendor Bill with vendor X, confirm it, and register payment Issue: Got a traceback The reason is we expected one value instead of several. With this commit, we take the manual payment method with the highest priority based on its sequence number. opw-2743110 Description of the issue/feature this PR addresses:
Original PR description
Steps to reproduce: - On bank journal, set at least two manual outbound_payment_method_line_ids - Set a vendor X with manual property_payment_method_id - Create a Vendor Bill with vendor X, confirm it, and register payment Issue: Got a traceback The reason is we expected one value instead of several. With this commit, we take the manual payment method with the highest priority based on its sequence number. opw-2743110 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#84643
The smartbutton for the number of hours in the attendance smart button on employees and user did not use the right widget and could display invalid data like '1.8 hours last month'. TaskId- Forward-Port-Of: odoo/odoo#86032
Original PR description
The smartbutton for the number of hours in the attendance smart button on employees and user did not use the right widget and could display invalid data like '1.8 hours last month'. TaskId- Forward-Port-Of: odoo/odoo#86032
Currently, when making an import on the project. task and trying to enable the 'recurring_task' to True, the field is updated but a recurrence record is not created. Steps: 1. Create an import file of a new task record 2. Add 'recurring_task' field set to true Technical Description: The default value is not set when the file is imported. Such as repeat_interval, repeat_unit, etc. So we have called the default_get method. task-2733539 Forward-Port-Of: odoo/odoo#82950
Original PR description
Currently, when making an import on the project. task and trying to enable the
'recurring_task' to True, the field is updated but a recurrence record is not
created.
Steps:
1. Create an import file of a new task record
2. Add 'recurring_task' field set to true
Technical Description:
The default value is not set when the file is imported. Such as repeat_interval,
repeat_unit, etc. So we have called the default_get method.
task-2733539
Forward-Port-Of: odoo/odoo#82950Steps : Create a recurrent task. Delete it. Run the cron "Create Recurring Tasks". Issue : IndexError: tuple index out of range. Cause : The cron calls a method which takes the last task of the recurrence as a model. As there is no such task, an python error is thrown. Fix : Do not display the "Continue Recurrence" button when deleting the last task of it. opw-2743788 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior aft
Original PR description
Steps : Create a recurrent task. Delete it. Run the cron "Create Recurring Tasks". Issue : IndexError: tuple index out of range. Cause : The cron calls a method which takes the last task of the recurrence as a model. As there is no such task, an python error is thrown. Fix : Do not display the "Continue Recurrence" button when deleting the last task of it. opw-2743788 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#85209
The issue is simply creating a related stored many2many field, which is pretty easy to do with Studio. When creating the field, Odoo crashes with a traceback caused by `ondelete` being `None` on the field. The source of the bug is the fact that the attribute `field.ondelete` is set to a sensible default (`'cascade'`) on _non-related_ fields only. The fix consists in setting the default value on the attribute itself, so that the setup of the field never falls on a case where `field.ondelete`
Original PR description
The issue is simply creating a related stored many2many field, which is pretty easy to do with Studio. When creating the field, Odoo crashes with a traceback caused by `ondelete` being `None` on the field. The source of the bug is the fact that the attribute `field.ondelete` is set to a sensible default (`'cascade'`) on _non-related_ fields only. The fix consists in setting the default value on the attribute itself, so that the setup of the field never falls on a case where `field.ondelete` is unset. Forward-Port-Of: odoo/odoo#86272 Forward-Port-Of: odoo/odoo#86136
Steps to reproduce: With two company, A (main company) and B On company B, set rule_type on 'invoice_on_refund' Create an invoice with company B as customer Create a section/note line and a product line Save and Confirm Issue: Traceback - ValueError: Expected singleton: res.currency() With this commit, we filter to exclude section and note lines from the move lines. opw-2755468 Forward-Port-Of: odoo/enterprise#25144
Original PR description
Steps to reproduce: With two company, A (main company) and B On company B, set rule_type on 'invoice_on_refund' Create an invoice with company B as customer Create a section/note line and a product line Save and Confirm Issue: Traceback - ValueError: Expected singleton: res.currency() With this commit, we filter to exclude section and note lines from the move lines. opw-2755468 Forward-Port-Of: odoo/enterprise#25144
When calling read_grid_grouped, a call to `_build_grid` is performed for each `section`. As the override of `_build_grid` in `timesheet_grid` is performing database accesses, we potentially have (depending on the number of sections) an explosion of database accesses. The `hr_timesheet.timesheet_action_all` action, once `timesheet_grid` is installed, is calling `_build_grid` for each employees that has records for the selected period. In order to solve that issue, this commit preven
Original PR description
When calling read_grid_grouped, a call to `_build_grid` is performed for each `section`. As the override of `_build_grid` in `timesheet_grid` is performing database accesses, we potentially have (depending on the number of sections) an explosion of database accesses. The `hr_timesheet.timesheet_action_all` action, once `timesheet_grid` is installed, is calling `_build_grid` for each employees that has records for the selected period. In order to solve that issue, this commit prevents increasing the number of queries by triggering only once the group_expand for all the grids generated by the `_build_grid` calls. For a database where the action is returning around 500 employees: - It was previously triggering about 1200 queries and was taking 227 seconds. - It is now triggering about 120 queries and runs in about 1,5 second. Forward-Port-Of: odoo/enterprise#25102
One of the tour tests was indeterministically failing on runbot on its last step as it left a python thread open. The step in question try to re-open a spreadsheet. During this step, two rpcs are done: - "join_spreadsheet_session" which retrieves the data of the spreadsheet - "dispatch_spreadsheet_message" which send the position of the client to all other clients. As the step does not wait for something, the browser is shutdown. It this shutdown occurs between the two rpcs, the test p
Original PR description
One of the tour tests was indeterministically failing on runbot on its last step as it left a python thread open. The step in question try to re-open a spreadsheet. During this step, two rpcs are done: - "join_spreadsheet_session" which retrieves the data of the spreadsheet - "dispatch_spreadsheet_message" which send the position of the client to all other clients. As the step does not wait for something, the browser is shutdown. It this shutdown occurs between the two rpcs, the test pass. But if it's occurs after the two, a python thread is still open, which leads to a test fail. As the step in question in not relevant, we just remove it. runbot id: 3500 Forward-Port-Of: odoo/enterprise#25186
Have an invoice with a 100% discount line and a tax Confirm User will face an error " Code : CFDI33154 Message : El valor del campo Base que corresponde a Traslado debe ser mayor que cero " This occur because the 'Base' of the tax line is 0.00 and it's not acceptable for SAT validation opw-2612363 X-original-commit: 18313d7 Forward-Port-Of: odoo/enterprise#24905
Original PR description
Have an invoice with a 100% discount line and a tax Confirm User will face an error " Code : CFDI33154 Message : El valor del campo Base que corresponde a Traslado debe ser mayor que cero " This occur because the 'Base' of the tax line is 0.00 and it's not acceptable for SAT validation opw-2612363 X-original-commit: 18313d7 Forward-Port-Of: odoo/enterprise#24905
Before this commit: Amounts for a line of an invoice were computed from the base amount and the taxes. There were problems when negative amount on a line were given (absolute value was used in the computation). After this commit: The amount is taken directly from the price_total which does the computation for us. We just take care of other types of entries like before. Negative amounts on a line could happen after the fix, but it is corrected (by changing the debit/credit side). A lot o
Original PR description
Before this commit: Amounts for a line of an invoice were computed from the base amount and the taxes. There were problems when negative amount on a line were given (absolute value was used in the computation). After this commit: The amount is taken directly from the price_total which does the computation for us. We just take care of other types of entries like before. Negative amounts on a line could happen after the fix, but it is corrected (by changing the debit/credit side). A lot of code has been removed, as all the computation isn't needed anymore. task-2759596 Forward-Port-Of: odoo/enterprise#25054 Forward-Port-Of: odoo/enterprise#24593