Daily updates from Odoo
Navigate
Branch
Thursday, June 29, 2023
21 changes
Enhancements to existing features
Users can now access chat window actions directly from a person's avatar or name, making common communication tasks quicker to find. This improves usability in Discuss without changing underlying business workflows.
Original PR description
Task-3336752 https://github.com/odoo/odoo/pull/124592
Subscription recurring revenue charts now use a shared graph calculation method, reducing processing overhead and improving performance. This also makes cumulative revenue analysis more flexible across different date-based groupings, though cumulative values are no longer available in the pivot view.
Original PR description
Use odoo/odoo#122321 for sale_subscription MRR analysis
Spreadsheets now better respect each user’s locale settings, such as regional formats for numbers and dates. This makes spreadsheet documents and related editing tools more consistent for teams working across different countries or languages.
Original PR description
…readsheet adapt code for release https://github.com/odoo/o-spreadsheet/commit/7d15d3c7 Specifically manage locale Task: 3222401
Helpdesk administrators now receive template administrator permissions, making it easier for them to manage relevant email templates without extra access setup. Template names across several apps also gain emojis so teams can tell them apart more quickly.
Original PR description
Add template administrator permissions to helpdesk administrator and add emojis to template names to differentiate between them more easily.
Resolved issues and error corrections
This fixes an internal setup issue in the Subscriptions app where references to fields that no longer exist were still being loaded. Keeping this initialization data aligned helps avoid errors during installation or upgrades.
Original PR description
Some fields were not remove in init even though they were removed in the model base PR: #39367
The Helpdesk team form now shows the self-service option as “eLearning” instead of “Enable eLearning.” This makes the setting label clearer and more consistent for users configuring helpdesk teams.
Original PR description
In this PR renamed the name from enable elearning to elearning in helpdesk team form view . task-3217930
The Planning app no longer shows the recurrence alert while a new shift is being created. This keeps the shift creation flow cleaner and only shows the alert when users edit an existing recurring shift, where it is relevant.
Original PR description
Description of the issue/feature this PR addresses: In the planning module, When adding a new shift, if you select the repeat field, the recurrence alert will appear on the header Current behavior before PR: When the repeat field is selected, a recurrence alert will be displayed in the header, Desired behavior after PR is merged: At the time of adding shift, no recurrence alert should be displayed. it should be displayed when editing the shift. Fix: When adding a new shift, the system sets the recurrence alert as invisible by default, but for existing shifts, the alert is visible. This condition ensures that users are not prompted with unnecessary alerts when creating new shifts task - 3229105
Code cleanup and technical improvements
Planning filter processing was reworked to handle larger searches more efficiently and reliably. This should improve responsiveness in planning-related views, especially when many filter conditions are involved, without changing business workflows.
Original PR description
impacted modules: - planning - planning_hr_skills In some methods, like group expand methods, it is not uncommon to transform a domain designed for model A to search records from another model B. In…
impacted modules: - planning - planning_hr_skills In some methods, like group expand methods, it is not uncommon to transform a domain designed for model A to search records from another model B. In general this transformation requires two operations: - Rename some fields in the domain - Remove leaves from the domain that relate to fields not existing in model B The current function filter_domain_leaf allows to realize this second operation. It currently relies on a recursive implementation with a complexity of order O(n²). This commit introduces a re-writing of the function filter_domain_leaf that: 1. Changes the recursion based implementation to an explicit stack implementation 2. Introduces a field mapping dictionary as argument The explicit stack implementation allows to avoid stack overflow when working with long domains. The complexity order is also improved to O(n) instead of O(n²) which leads to performance gain. For a domain length of ~100 elements, the gain (timewise) is reaching 50%. It is >95% for domain length over 10 000 elements. The field mapping dictionary allows to avoid pre-filtering of domains when using filter_domain_leaf. In cases where it is used, the domain then just has to be browsed once in the filter_domain_leaf function. task-3299357 related-https://github.com/odoo/odoo/pull/120834
Miscellaneous changes
## Description Fixes a few visual issues in the grid view of Timesheets. Check the commits messages for more info. ## Affected versions - saas-16.2 - saas-16.3 - master --- opw-3373381 Forward-Port-Of: odoo/enterprise#43292 Forward-Port-Of: odoo/enterprise#43167
Original PR description
## Description Fixes a few visual issues in the grid view of Timesheets. Check the commits messages for more info. ## Affected versions - saas-16.2 - saas-16.3 - master --- opw-3373381 Forward-Port-Of: odoo/enterprise#43292 Forward-Port-Of: odoo/enterprise#43167
The mimetype used to download .xlsx files in the account report system is application/vnd.ms-excel. This mimetype is actually the one for the older .xls format used by Microsoft Excel prior to 2007. The correct one for .xlsx files should be application/vnd.openxmlformats-officedocument.spreadsheetml.sheet as seen here: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types Forward-Port-Of: odoo/enterprise#43341 Forward-Port-Of: odoo/enterprise#43260
Original PR description
The mimetype used to download .xlsx files in the account report system is application/vnd.ms-excel. This mimetype is actually the one for the older .xls format used by Microsoft Excel prior to 2007. The correct one for .xlsx files should be application/vnd.openxmlformats-officedocument.spreadsheetml.sheet as seen here: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types Forward-Port-Of: odoo/enterprise#43341 Forward-Port-Of: odoo/enterprise#43260
Steps to reproduce: - enable workorders and analytic account - create an MO and on its WO add a time tracking line - mark MO as done BUG1: trace back when trying to access cost analysis BUG2: employee cost not added on the analytic account Fix: both bugs are caused by the employee id not being set from the UI when adding a line we only set the user_id opw-3323922 opw-3372568 Forward-Port-Of: odoo/enterprise#43330 Forward-Port-Of: odoo/enterprise#42620
Original PR description
Steps to reproduce: - enable workorders and analytic account - create an MO and on its WO add a time tracking line - mark MO as done BUG1: trace back when trying to access cost analysis BUG2: employee cost not added on the analytic account Fix: both bugs are caused by the employee id not being set from the UI when adding a line we only set the user_id opw-3323922 opw-3372568 Forward-Port-Of: odoo/enterprise#43330 Forward-Port-Of: odoo/enterprise#42620
When reconciling a partial payment in a journal with foreign currency, we make a wrong suggestion for exchange diff. Steps: - Main currency USD, foreign currency CHF for example - Rate 1 USD = 0.9839 CHF - Create a bank journal in CHF - Create an confirm a bill for 37,436.52 CHF - On the CHF Bank Journal, create a statement line of -37,436.50 CHF - Select the bill to match with statement line -> Exchange diff line == 612.59 USD opw-3339690 Forward-Port-Of: odoo/enterprise#43270 Forward-Por
Original PR description
When reconciling a partial payment in a journal with foreign currency, we make a wrong suggestion for exchange diff. Steps: - Main currency USD, foreign currency CHF for example - Rate 1 USD = 0.9839 CHF - Create a bank journal in CHF - Create an confirm a bill for 37,436.52 CHF - On the CHF Bank Journal, create a statement line of -37,436.50 CHF - Select the bill to match with statement line -> Exchange diff line == 612.59 USD opw-3339690 Forward-Port-Of: odoo/enterprise#43270 Forward-Port-Of: odoo/enterprise#43045
How to reproduce: 1. Link any document with a task. 2. Go to the task and then click on the 'documents' stat-button. 3. Click on the document, then from the inspector panel on the right, click the related task. 4. Then delete the task, and now you are redirected back to the 'documents' 5. Click on the 'All' workspace. 6. You will get the 'missing record error'. Reason: We are trying to access the project from an already deleted task. After this commit: Now we can switch to another
Original PR description
How to reproduce: 1. Link any document with a task. 2. Go to the task and then click on the 'documents' stat-button. 3. Click on the document, then from the inspector panel on the right, click the related task. 4. Then delete the task, and now you are redirected back to the 'documents' 5. Click on the 'All' workspace. 6. You will get the 'missing record error'. Reason: We are trying to access the project from an already deleted task. After this commit: Now we can switch to another workspace, without any issue. task-3277089 Forward-Port-Of: odoo/enterprise#43169 Forward-Port-Of: odoo/enterprise#42478
Issues: \* `_init_remaining_hours_to_plan` wasn't taking into account the correct amount of hours planned, because it is a compute stored, and so the compute method wasn't triggered. \* in `_update_remaining_hours_to_plan_and_values`, `remaining_hours_to_plan` was updated, taking the percentage into account only in some cases. Yet we always want that. \* in the same method, `remaining_hours` wasn't maxed, so it was possible to create a shift with a much greater duration than the one it wa
Original PR description
Issues: \* `_init_remaining_hours_to_plan` wasn't taking into account the correct amount of hours planned, because it is a compute stored, and so the compute method wasn't triggered. \* in `_update_remaining_hours_to_plan_and_values`, `remaining_hours_to_plan` was updated, taking the percentage into account only in some cases. Yet we always want that. \* in the same method, `remaining_hours` wasn't maxed, so it was possible to create a shift with a much greater duration than the one it was copied from. \* in the same method, we the fact that we allowed `allocated_hours` to stay in the `values` caused the other values to be recomputed when the shift was created, whereas it should be the opposite. Also: \* `float_compare` can only return 3 values, so checking its return value can be done with `==` and `!=` i/o `<` or `>`. task-3251696 Forward-Port-Of: odoo/enterprise#43107 Forward-Port-Of: odoo/enterprise#41492
To reproduce ============ - on a docment on Sign add a Signature field - make it not mandatory > remains mandatory Problem ======= the value of checkbox is retreived from `el.value` that returns `on/off`, which are not Boolean values, so using them as boolean is always `true` Solution ======== use `el.checked` opw-3384254 Forward-Port-Of: odoo/enterprise#43229
Original PR description
To reproduce ============ - on a docment on Sign add a Signature field - make it not mandatory > remains mandatory Problem ======= the value of checkbox is retreived from `el.value` that returns `on/off`, which are not Boolean values, so using them as boolean is always `true` Solution ======== use `el.checked` opw-3384254 Forward-Port-Of: odoo/enterprise#43229
Installing the Argentinian localization made the reports crash because : * The template was in t-inherit-mode=extension when it shouldn't. Since it depends on specific Argentinian variables, it will extend the report to other countries and thus make everything crash. Forward-Port-Of: odoo/enterprise#43176
Original PR description
Installing the Argentinian localization made the reports crash because : * The template was in t-inherit-mode=extension when it shouldn't. Since it depends on specific Argentinian variables, it will extend the report to other countries and thus make everything crash. Forward-Port-Of: odoo/enterprise#43176
Before message_post function was handling Exception object as body and correctly output the error message. Since commit [1c240f11df6cf19aea9a3e5c58314ddaef3cf2ce](https://github.com/odoo/odoo/commit/1c240f11df6cf19aea9a3e5c58314ddaef3cf2ce#diff-a90153cd0202b1feb0d5ef9cf041bf662256cb7ce1434b610709a7557db3c9ceR1940), this will trigger a traceback ("expected string or bytes-like object") because function is_html_empty expects a string as parameter. Now the exception is cast into string before
Original PR description
Before message_post function was handling Exception object as body and correctly output the error message.
Since commit [1c240f11df6cf19aea9a3e5c58314ddaef3cf2ce](https://github.com/odoo/odoo/commit/1c240f11df6cf19aea9a3e5c58314ddaef3cf2ce#diff-a90153cd0202b1feb0d5ef9cf041bf662256cb7ce1434b610709a7557db3c9ceR1940), this will trigger a traceback ("expected string or bytes-like object") because function is_html_empty expects a string as parameter.
Now the exception is cast into string before calling message_post.
opw-3360656
Forward-Port-Of: odoo/enterprise#43295*: appointment, helpdesk, sale_subscription, sign, website_twitter_wall HTML fields that appear in the front-end can be modified using the website editor. Some of them are sanitized in a way that breaks the behavior of snippets that can be dropped within them. This commit adapts the sanitization of those HTML fields so that the snippets behave as expected. Example steps to reproduce: - Install `website` and `sale_subscription`. - Edit a Subscription. - Enter "Test" in the Terms an
Original PR description
*: appointment, helpdesk, sale_subscription, sign, website_twitter_wall HTML fields that appear in the front-end can be modified using the website editor. Some of them are sanitized in a way that breaks the behavior of snippets that can be dropped within them. This commit adapts the sanitization of those HTML fields so that the snippets behave as expected. Example steps to reproduce: - Install `website` and `sale_subscription`. - Edit a Subscription. - Enter "Test" in the Terms and Conditions field. - Save. - Go to Customer Preview. - Edit and drop a Carousel snippet inside the Terms and Conditions. - Save. => The Carousel buttons do not respond. See https://github.com/odoo/odoo/pull/119543. opw-3267589 Forward-Port-Of: odoo/enterprise#43114 Forward-Port-Of: odoo/enterprise#40211
Prior to this commit, when creating a new post and previewing the push notifications for "website", the post title were in an incorrect color due to milk changes. This commit fixes this issue by applying the correct color on the title. task-3335471 Part of task-3326263 Forward-Port-Of: odoo/enterprise#41300
Original PR description
Prior to this commit, when creating a new post and previewing the push notifications for "website", the post title were in an incorrect color due to milk changes. This commit fixes this issue by applying the correct color on the title. task-3335471 Part of task-3326263 Forward-Port-Of: odoo/enterprise#41300
This commit simply makes the account tax groups tour compatible with odoo enterprise even without the accounting app installed. Linked to changes in community: https://github.com/odoo/odoo/pull/125937 Forward-Port-Of: odoo/enterprise#43098 Forward-Port-Of: odoo/enterprise#43061
Original PR description
This commit simply makes the account tax groups tour compatible with odoo enterprise even without the accounting app installed. Linked to changes in community: https://github.com/odoo/odoo/pull/125937 Forward-Port-Of: odoo/enterprise#43098 Forward-Port-Of: odoo/enterprise#43061
Since V16.2 (commit [97ca45e4f348f819f18fdff3693d030d36c2c734](https://github.com/odoo/odoo/commit/97ca45e4f348f819f18fdff3693d030d36c2c734#diff-a90153cd0202b1feb0d5ef9cf041bf662256cb7ce1434b610709a7557db3c9ceR1359)), the function _message_parse_extract_payload required an new message_dict argument The Chilean edi module uses this function but the arguments was not up-to-date which will fail the retreive of bills trough DTE email. Now this argument has been added. opw-3360656 Forward-Port
Original PR description
Since V16.2 (commit [97ca45e4f348f819f18fdff3693d030d36c2c734](https://github.com/odoo/odoo/commit/97ca45e4f348f819f18fdff3693d030d36c2c734#diff-a90153cd0202b1feb0d5ef9cf041bf662256cb7ce1434b610709a7557db3c9ceR1359)), the function _message_parse_extract_payload required an new message_dict argument The Chilean edi module uses this function but the arguments was not up-to-date which will fail the retreive of bills trough DTE email. Now this argument has been added. opw-3360656 Forward-Port-Of: odoo/enterprise#43105 Forward-Port-Of: odoo/enterprise#43058