Wednesday, September 15, 2021
43 changes · master
Enhancements to existing features
Several business form buttons now have clearer titles, so users see more helpful action names in the command palette. This makes common sales, CRM, invoice, and lead enrichment actions easier to find and understand.
Original PR description
PURPOSE The purpose of this commit is to update the button's title to get clear/useful descriptions in the command palette. SPECIFICATIONS Currently, in some of the important business objects' form views, few header buttons are missing the title, and so the command palette displays the button string which is not very clear/useful. Below are the model wise actions/methods linked with updated buttons: - preview_invoice (account.move) - action_sale_quotations_new (crm.lead) - action_set_lost (crm.lead) - action_set_won_rainbowman (crm.lead) - crm_lead_lost_action (crm.lead) - iap_enrich (crm.lead) This is the goal of this commit. LINKS PR #75935 Task-2622266 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Validation emails for website profiles now come from the recipient's company email when available, or the company's catchall address as a fallback. This avoids confusing users by making it look like they sent the validation email to themselves.
Original PR description
PURPOSE Currently the validation mail is send from you to you, but the validation mail should be send from either company mail or the fallback mail if the company mail is not available. SPECIFICATION For solving this we need to change the email from address in validation mail template, we give first priority to company mail, if not exist then automatically fallbacks to company catchall address, else logged user mail id will be set as email_from value. LINKS PR #76380 TaskID: 2634155
Users can now continue writing immediately after sending a message while it is queued and sent in the background. This reduces duplicate or lost messages when the server is slow and gives users a way to retry messages that fail to send.
Original PR description
The current implementation rely on a RPC response to clear the composer and allow the user to write a new message. This introduce multiple issue when the server is slow (message lost or send twice). It also block the composer while a message is being sent. This PR introduce a message queue that will temporary store the user message and send them. It free the composer directly and send the message in the background. It also improve the error handling and allow the user to retry to send message in error. task-2390637
Several form view buttons now have clearer titles so they appear with more helpful descriptions in the command palette. This makes actions for rentals, helpdesk timers, field service quotations, and timesheets easier for users to recognize and choose.
Original PR description
PURPOSE The purpose of this commit is to update the button's title to get clear/useful descriptions in the command palette. SPECIFICATIONS Currently, in some of the important business objects' form views, few header buttons are missing the title, and so the command palette displays the button string which is not very clear/useful. Below are the model wise actions/methods linked with updated buttons: - action_rental_quotations_new (crm.lead) - action_timer_pause (helpdesk.ticket) - action_timer_resume (helpdesk.ticket) - action_timer_start (helpdesk.ticket) - action_timer_stop (helpdesk.ticket) - action_fsm_create_quotation (project.task) - action_timer_pause (project.task) - action_timer_resume (project.task) - action_timer_start (project.task) - action_timer_stop (project.task) This is the goal of this commit. LINKS PR #20680 Task-2622266 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
The planning Gantt view now lists resources in alphabetical order when viewing shifts. This makes schedules easier to scan and helps users find the right resource more quickly.
Original PR description
Description of the issue/feature this PR addresses: Open the gantt view and add a few shifts for different resources Current behavior before PR: https://nimb.ws/1t38Jl resources are not sorted by alphabetical order Desired behavior after PR is merged: https://nimb.ws/NqIAG3 resources should be sorted by alphabetical order -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Features or functions removed from Odoo
The separate pad feature is being removed because Odoo's built-in editor now supports collaborative editing. Users will rely on the standard editor in Notes and Project instead of the older Etherpad-based integration.
Original PR description
Purpose ======= With the merge of https://github.com/odoo/odoo/pull/75768 , the new odoo editor is now collaborative, rendering pads useless. We are thus removing this feature in Project and Notes. TaskId:2643861 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
Steps to reproduce: - Install Manufacturing module - Go to Manufacturing -> Operations -> Manufacturing Orders - Create a new one and add at least 10 product components - Move it to Done stage - Click on stat button Traceability - Unfold the components - Print report Issue: Table header on 2nd page overlap table content. Cause: Wkhtmltopdf does not handle well table on multiple pages. More info here: https://github.com/wkhtmltopdf/wkhtmltopdf/issues/2367
Original PR description
Steps to reproduce: - Install Manufacturing module - Go to Manufacturing -> Operations -> Manufacturing Orders - Create a new one and add at least 10 product components - Move it to Done stage - Click on stat button Traceability - Unfold the components - Print report Issue: Table header on 2nd page overlap table content. Cause: Wkhtmltopdf does not handle well table on multiple pages. More info here: https://github.com/wkhtmltopdf/wkhtmltopdf/issues/2367 Solution: Do not duplicate table header on next pages. opw-2634492 Forward-Port-Of: odoo/odoo#76443
Button icon validation now works consistently across Odoo screens, including cases that were previously skipped. This helps ensure icon-only buttons include accessible labels, improving usability for people relying on assistive technologies.
Original PR description
The conditionals were not correct leading to `button[@icon]` only being validated if the button isn't `@special` and doesn't have an `@type`, which... doesn't really make any sense as that's only possible for straight HTML buttons (submit), and then `@icon` doesn't make sense because that's not an HTML attribute.
Several buttons in appraisal surveys, manufacturing work orders, planning, and quality control screens were corrected so they can be properly recognized and used by accessibility tools. This helps employees using assistive technologies navigate key workflows more reliably and supports better compliance with accessibility standards.
Original PR description
revealed by fixing the validation / diagnosis in odoo/odoo#76581
Current implementation switch display between file attachment and image attachment. This commit split those behaviour in 2 components. Part of task-2365881 Forward-Port-Of: odoo/odoo#76415
Original PR description
Current implementation switch display between file attachment and image attachment. This commit split those behaviour in 2 components. Part of task-2365881 Forward-Port-Of: odoo/odoo#76415
Before, clicking on 'print invoices' or 'print invoices without payment' on a posted misc operation raised an error message saying that only invoices could be printed. However, the pdf file still got generated and could be found as attachement on the move. With this commit, we don't generate the file anymore in this case. Forward-Port-Of: odoo/odoo#76419
Original PR description
Before, clicking on 'print invoices' or 'print invoices without payment' on a posted misc operation raised an error message saying that only invoices could be printed. However, the pdf file still got generated and could be found as attachement on the move. With this commit, we don't generate the file anymore in this case. Forward-Port-Of: odoo/odoo#76419
This commit will fix some display errors : - The margin space between two btn-group on the control panel was too big; - The "Group By" menu was lacking an option to add the "fa-caret-down" to looks like other Dropdowns when used outside the control panel; - The "Group By" menu on the graph view, when used as a subview, has been place in its own btn-group to behave exactly as the "Measures" menu; - The background of the headers on the pivot table wasn't always gray; - Some border
Original PR description
This commit will fix some display errors :
- The margin space between two btn-group on the control panel was too big;
- The "Group By" menu was lacking an option to add the "fa-caret-down" to looks like other
Dropdowns when used outside the control panel;
- The "Group By" menu on the graph view, when used as a subview, has been place in its own
btn-group to behave exactly as the "Measures" menu;
- The background of the headers on the pivot table wasn't always gray;
- Some border of the pivot table were missing.
Forward-Port-Of: odoo/odoo#76384This commit fix some issue introduced with d9f45ba69419. 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#76414
Original PR description
This commit fix some issue introduced with d9f45ba69419. 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#76414
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76483
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76483
Description of the issue/feature this PR addresses: Backport of https://github.com/odoo/odoo/pull/76090 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#76377
Original PR description
Description of the issue/feature this PR addresses: Backport of https://github.com/odoo/odoo/pull/76090 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#76377
Currently, the `_recompute_tax_lines` method is too long and there is no way to customize the _taxes_map_ before move line creation. This commit adds a hook to be able to customize the tax dict values. NOTE: In previous versions (before _account-pocalypse_), it was possible to customize it because `get_taxes_values` was a separated method. So this commit in fact restores the ability to be able to customize it. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/s
Original PR description
Currently, the `_recompute_tax_lines` method is too long and there is no way to customize the _taxes_map_ before move line creation. This commit adds a hook to be able to customize the tax dict values. NOTE: In previous versions (before _account-pocalypse_), it was possible to customize it because `get_taxes_values` was a separated method. So this commit in fact restores the ability to be able to customize it. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76107
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76474
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76474
Description of the issue/feature this PR addresses: - Activate multicompany - In the company switcher select all company - Launch a pos session --> Issue all rpc request are make in all companies (len(self.env.companies) != 1). It create some error with taxes, fiscale position, ... In V14 `user_companies` in session info should be also modified to force 1 company. It fix : https://github.com/odoo/odoo/pull/72987 @pimodoo @caburj -- I confirm I have signed the CLA and read
Original PR description
Description of the issue/feature this PR addresses: - Activate multicompany - In the company switcher select all company - Launch a pos session --> Issue all rpc request are make in all companies (len(self.env.companies) != 1). It create some error with taxes, fiscale position, ... In V14 `user_companies` in session info should be also modified to force 1 company. It fix : https://github.com/odoo/odoo/pull/72987 @pimodoo @caburj -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76435 Forward-Port-Of: odoo/odoo#76393
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#75910
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#75910
This PR fixes and improves features introduced in version 15 for services modules. task-2638359 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76166
Original PR description
This PR fixes and improves features introduced in version 15 for services modules. task-2638359 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76166
Forward-Port-Of: odoo/odoo#76500
Original PR description
Forward-Port-Of: odoo/odoo#76500
**Description of the issue/feature this PR addresses:** Video of the main issue: [Click here to see]( https://streamable.com/zx95bn) A while back, the behavior of this setting was changed from a related field to a computed as a fix to various issues with: cb9f48d The setting's value synchronization with what is displayed on the setting's page is broken, since its behavior changed with commit: 2ccc735 . It resets to its default value for the default website when editing a secondary one an
Original PR description
**Description of the issue/feature this PR addresses:** Video of the main issue: [Click here to see]( https://streamable.com/zx95bn) A while back, the behavior of this setting was changed from a related field to a computed as a fix to various issues with: cb9f48d The setting's value synchronization with what is displayed on the setting's page is broken, since its behavior changed with commit: 2ccc735 . It resets to its default value for the default website when editing a secondary one and is not only confusing but breaks the setting in some scenarios. **Desired behavior after PR is merged:** When changing the auth_signup_uninvited setting, the changes are correctly reflected and not reset to default upon changing the website we are currently editing. task-2612686 Forward-Port-Of: odoo/odoo#76262
- Up to odoo 10.0, `feedparser` dependency was optionally used in the cli of [vendored `html2text.py`](https://github.com/odoo/odoo/blob/10.0/addons/mail/models/html2text.py#L437) - Since 11.0, vendored `html2text.py` has been [removed](https://github.com/odoo/odoo/commit/67c17cb37f6ed0fde5e4bffa0d363e2502100f5b) in favor of maintained package - Turns out the `feedparser` part in html2text was [dead code for a long time](https://github.com/Alir3z4/html2text/issues/220) anyway - So we can safe
Original PR description
- Up to odoo 10.0, `feedparser` dependency was optionally used in the cli of [vendored `html2text.py`](https://github.com/odoo/odoo/blob/10.0/addons/mail/models/html2text.py#L437) - Since 11.0, vendored `html2text.py` has been [removed](https://github.com/odoo/odoo/commit/67c17cb37f6ed0fde5e4bffa0d363e2502100f5b) in favor of maintained package - Turns out the `feedparser` part in html2text was [dead code for a long time](https://github.com/Alir3z4/html2text/issues/220) anyway - So we can safely drop this dependency, at least in master What brought me here, is that odoo didn't install with pip anymore: - [`feedparser==5.2.1` relies on 2to3](https://github.com/kurtmckee/feedparser/blob/5.2.1/setup.py#L6) - but [2to3 support has been removed from setuptools since 58.0.0](https://setuptools.readthedocs.io/en/latest/history.html#breaking-changes) Forward-Port-Of: odoo/odoo#76273 Forward-Port-Of: odoo/odoo#76135
It is currently impossible to create a MO from a mobile if there are some work orders To reproduce the issue: 1. In Settings, enable "Work Orders" 2. Create two products P_finished, P_compo 3. Create a BoM: - Product: P_finished - Components: - 1 x P_compo - Operations: - Create a new one 4. Switch to mobile mode 5. Create a MO with P_finished Error: When saving the MO, a Validation Error is raised "The operation cannot be completed: - Create/update:
Original PR description
It is currently impossible to create a MO from a mobile if there are
some work orders
To reproduce the issue:
1. In Settings, enable "Work Orders"
2. Create two products P_finished, P_compo
3. Create a BoM:
- Product: P_finished
- Components:
- 1 x P_compo
- Operations:
- Create a new one
4. Switch to mobile mode
5. Create a MO with P_finished
Error: When saving the MO, a Validation Error is raised "The operation
cannot be completed: - Create/update: a mandatory field is not set.
[...] Model: Work Order (mrp.workorder), Field: Unit of Measure
(product_uom_id)"
For a work order to be created, the request needs to provide two
additional fields: `product_uom_id` and `consumption`. When setting the
product P_finished, an onchange is triggered and does not return
`consumption`. `product_uom_id` is returned but not included in the save
request (because the field is declared as `readonly`)
OPW-2557181
Forward-Port-Of: odoo/odoo#76228Description 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#76146
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 Forward-Port-Of: odoo/odoo#76146
**Description of the issue/feature this PR addresses:** Assigning a value to an element's classList is bad practice and unpredictable behaviour. This commit corrects [these changes] which did that multiple times. **Current behavior before PR:** This bad practice is used throughout the multirange_custom.js. **Desired behavior after PR is merged:** The recommended way of manipulating the classList is used, i.e. the add(), toggle(), and remove() methods are used instead of direct assignmen
Original PR description
**Description of the issue/feature this PR addresses:** Assigning a value to an element's classList is bad practice and unpredictable behaviour. This commit corrects [these changes] which did that multiple times. **Current behavior before PR:** This bad practice is used throughout the multirange_custom.js. **Desired behavior after PR is merged:** The recommended way of manipulating the classList is used, i.e. the add(), toggle(), and remove() methods are used instead of direct assignment. [these changes]: https://github.com/odoo/odoo/pull/74575/commits/2c6b185 Forward-Port-Of: odoo/odoo#76346
Since mail dependancy has been extracted into a bridge module auth_totp_mail, the test about "Invite to use 2FA" is misplaced in the wrong module. This commit moves the test on 2FA invite button to the bridge module and fixes the test on auth_totp module to use another indicator that 2FA has been disabled for the currently tested user (see test file). Task-2645206 Parent Task-2638538 Forward-Port-Of: odoo/odoo#76381
Original PR description
Since mail dependancy has been extracted into a bridge module auth_totp_mail, the test about "Invite to use 2FA" is misplaced in the wrong module. This commit moves the test on 2FA invite button to the bridge module and fixes the test on auth_totp module to use another indicator that 2FA has been disabled for the currently tested user (see test file). Task-2645206 Parent Task-2638538 Forward-Port-Of: odoo/odoo#76381
Before this commit, if there was a Google ReCaptcha public key registered on the database, it was given to the backend along with the assets in the `session_info` global key. Since this key is meant to be used on the frontend to generate recaptcha tokens, it should be available there as well. Now, it is also given to the frontend version of the `session_info` key. Task: [2639095](https://www.odoo.com/web#active_id=2639095&cids=1&id=2639095&model=project.task&menu_id=) Forward-Port-O
Original PR description
Before this commit, if there was a Google ReCaptcha public key registered on the database, it was given to the backend along with the assets in the `session_info` global key. Since this key is meant to be used on the frontend to generate recaptcha tokens, it should be available there as well. Now, it is also given to the frontend version of the `session_info` key. Task: [2639095](https://www.odoo.com/web#active_id=2639095&cids=1&id=2639095&model=project.task&menu_id=) Forward-Port-Of: odoo/odoo#76094
The PR #20700 did not include changing the widget for user_ids in the report_project_task_user_fsm_view_tree view. Prioir to this commit: The widget used in report_project_task_user_fsm_view_tree was still the many2one_avatar_user widget. After this commit: The widget used in report_project_task_user_fsm_view_tree is the many2many_avatar_user widget. task-2638359 Forward-Port-Of: odoo/enterprise#20889
Original PR description
The PR #20700 did not include changing the widget for user_ids in the report_project_task_user_fsm_view_tree view. Prioir to this commit: The widget used in report_project_task_user_fsm_view_tree was still the many2one_avatar_user widget. After this commit: The widget used in report_project_task_user_fsm_view_tree is the many2many_avatar_user widget. task-2638359 Forward-Port-Of: odoo/enterprise#20889
window.getComputedStyle on Firefox does not return the "font" attribute, we have to create it from fontSize and fontFamily. Task-id 2623513 Forward-Port-Of: odoo/enterprise#20710
Original PR description
window.getComputedStyle on Firefox does not return the "font" attribute, we have to create it from fontSize and fontFamily. Task-id 2623513 Forward-Port-Of: odoo/enterprise#20710
This commit fixes the demo data use case where there were a mix between a restaurant planning and a service provider company. The HR demo data suggest that the standard use case is a service provider company - and specifically in the software development field. The planning demo data are adapted to suit this use case. PR : #20883 task-2645575 Forward-Port-Of: odoo/enterprise#20883
Original PR description
This commit fixes the demo data use case where there were a mix between a restaurant planning and a service provider company. The HR demo data suggest that the standard use case is a service provider company - and specifically in the software development field. The planning demo data are adapted to suit this use case. PR : #20883 task-2645575 Forward-Port-Of: odoo/enterprise#20883
Forward-Port-Of: odoo/enterprise#20818
Original PR description
Forward-Port-Of: odoo/enterprise#20818
…lines Steps to follow - Use a french company with the french accountability addon - Go to the trial balance report - Enable 'Hierarchy and Subtotals' in the options - Type something in the search bar -> Error: Cannot read properties of undefined (reading 'nodeValue') Cause of the issue When enabling the Hierarchy and Subtotals, .account_report_line_name may be empty opw-2639171 Forward-Port-Of: odoo/enterprise#20836
Original PR description
…lines Steps to follow - Use a french company with the french accountability addon - Go to the trial balance report - Enable 'Hierarchy and Subtotals' in the options - Type something in the search bar -> Error: Cannot read properties of undefined (reading 'nodeValue') Cause of the issue When enabling the Hierarchy and Subtotals, .account_report_line_name may be empty opw-2639171 Forward-Port-Of: odoo/enterprise#20836
Forward-Port-Of: odoo/enterprise#20730
Original PR description
Forward-Port-Of: odoo/enterprise#20730
It was green instead of grey Forward-Port-Of: odoo/enterprise#20855
Original PR description
It was green instead of grey Forward-Port-Of: odoo/enterprise#20855
This PR fixes and improves features introduced in version 15 for services modules. See odoo/odoo#76166 task-2638359 Forward-Port-Of: odoo/enterprise#20700
Original PR description
This PR fixes and improves features introduced in version 15 for services modules. See odoo/odoo#76166 task-2638359 Forward-Port-Of: odoo/enterprise#20700
Forward-Port-Of: odoo/enterprise#20835
Original PR description
Forward-Port-Of: odoo/enterprise#20835
Before this commit, when defining a field in python with a specific group_operator it was not taken into account by the view. After this commit, when a group operator has been defined on the field itself (not its xml representation), it is taken to build the dashboard data. Forward-Port-Of: odoo/enterprise#20839
Original PR description
Before this commit, when defining a field in python with a specific group_operator it was not taken into account by the view. After this commit, when a group operator has been defined on the field itself (not its xml representation), it is taken to build the dashboard data. Forward-Port-Of: odoo/enterprise#20839
Until now, deduplication for two records with the same name with insensitive case didn't work This fix adds a lower in the field name to ignore the case OPW-2637126 Forward-Port-Of: odoo/enterprise#20843
Original PR description
Until now, deduplication for two records with the same name with insensitive case didn't work This fix adds a lower in the field name to ignore the case OPW-2637126 Forward-Port-Of: odoo/enterprise#20843
Steps to reproduce : - Go to Accounting -> Reporting -> Balance Sheet - Select any date in the past - Select Comparison -> Previous Period Issue : The previous periods displayed are not related with the choosen date, but with the actual date. Solution : Check if the date filter is set to custom, if so, set the date the right way for comparison. opw-2616662 Forward-Port-Of: odoo/enterprise#20853 Forward-Port-Of: odoo/enterprise#20519
Original PR description
Steps to reproduce : - Go to Accounting -> Reporting -> Balance Sheet - Select any date in the past - Select Comparison -> Previous Period Issue : The previous periods displayed are not related with the choosen date, but with the actual date. Solution : Check if the date filter is set to custom, if so, set the date the right way for comparison. opw-2616662 Forward-Port-Of: odoo/enterprise#20853 Forward-Port-Of: odoo/enterprise#20519
Forward-Port-Of: odoo/enterprise#20821
Original PR description
Forward-Port-Of: odoo/enterprise#20821
A condition was inverted: we want to hide the fiscal position filter when using a tax unit, as _init_filter_fiscal_position will always select 'all' in that case. Forward-Port-Of: odoo/enterprise#20854
Original PR description
A condition was inverted: we want to hide the fiscal position filter when using a tax unit, as _init_filter_fiscal_position will always select 'all' in that case. Forward-Port-Of: odoo/enterprise#20854
See https://github.com/odoo/odoo/pull/71722 Part of task-2365881 Forward-Port-Of: odoo/enterprise#20810
Original PR description
See https://github.com/odoo/odoo/pull/71722 Part of task-2365881 Forward-Port-Of: odoo/enterprise#20810