Daily updates from Odoo
Thursday, March 5, 2026
42 changes · master
New functionality added to Odoo
This update incorporates the Central Bank of Uzbekistan as a source for live currency rates. This change ensures Odoo can accurately reflect the current exchange rates for transactions involving Uzbekistan, complying with local regulations and improving financial reporting. It's a necessary step to support business operations in Uzbekistan.
Original PR description
## Description of the issue/feature this PR addresses: This PR adds the Central Bank of Uzbekistan as a provider for currency update task-id - 5917344 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#108059
This update adds the ability for helpdesk team administrators to upload an image to their team's profile within the Odoo Enterprise website. This enhancement improves team identification and visual organization within the helpdesk interface, making it easier to manage and recognize different support teams.
Original PR description
Added an image field to the helpdesk team when the web form is selected --- Task-4349012
This update introduces the ability to integrate with popular food delivery platforms like GoFood and GrabFood directly within our point-of-sale system. This allows restaurants to seamlessly manage orders from these platforms, streamlining their operations and improving customer service.
Original PR description
Introduction: This commit integrate with multiple platform order platform in SEA. This commit also implement a skeleton code base for future adding additional platform order provider. As of now, we included GoFood and GrabFood to begin with. Features list: - Skeleton code for platform order - GrabFood integration - GoFood integration task-4215826 task-3726824 Forward-Port-Of: odoo/enterprise#94390
This update allows customers to directly buy VoIP phone numbers within Odoo. Previously, this process was manual, and now it's integrated into the platform, streamlining the customer onboarding experience. This enhancement improves convenience and simplifies the setup of VoIP services.
Original PR description
iap-apps: https://github.com/odoo/iap-apps/pull/1370 [Task-5214642](https://www.odoo.com/odoo/project/5778/tasks/5214642)
This update adds a new list view for audit reports, allowing users to easily manage and delete multiple records at once. This streamlines cleanup processes and significantly reduces the time spent managing large volumes of audit reports, improving efficiency.
Original PR description
This PR adds a list view for the `audit.report` model to enhance record management. With this new view, users can see multiple audit reports at once and perform bulk deletions, streamlining cleanup operations and significantly reducing the time needed to manage large sets of records. Task-5902500
Enhancements to existing features
This update enhances the system's ability to track employee payroll issues. By storing these issues within the employee records, we can now display and highlight them in version views, providing better visibility into payroll discrepancies. This improves payroll management and reporting.
Original PR description
Storing employee payroll issues in order to be used for displaying the employee issues in the version views and highlighting them Task: 5955152
This update simplifies the process for Italian businesses filing withholding tax returns. The default periodicity has been changed to monthly, addressing a previous difficulty in configuring this setting. This ensures compliance with Italian regulations and improves the user experience.
Original PR description
In Italy, withholding tax return periodicity is monthly. but it's hard to discover/configure. Default periodicity should be monthly. task-5985704 Forward-Port-Of: odoo/enterprise#109420 Forward-Port-Of: odoo/enterprise#109185
This update speeds up testing for the Stock Barcode module by moving company setup steps to a dedicated setup class. This reduces test execution time, particularly when testing related modules like Sale Timesheet, improving overall development efficiency. The change addresses a slow test setup process that was impacting development timelines.
Original PR description
TestBarcodeClientAction [setup is quite slow](https://runbot229.odoo.com/runbot/static/build/102958171-master/tests/profile/profile_2.html#localProfilePath=1), especially because it creates a company. In addition in all classes extending this one, we spend at least 6 minutes on this line. (when testing sale_timesheet -> !stock_barcode_mrp_subcontracting) This commit proposes to move at least the company creation in a setupclass. It would be great to move all the setup in the setupclass but the tests are failling when doing so and could be achieved by a member of the stock_barcode owner team. Tests based on this setup should be a few minutes faster with this change. Forward-Port-Of: odoo/enterprise#109509
This update simplifies the user interface by standardizing the term 'Audit Report' to 'Annual Report'. Previously, the use of both terms created confusion for users. This change improves clarity and user experience within the Enterprise module.
Original PR description
The user interface currently uses both the terms "Audit Report" and "Annual Report", which can be confusing for users. To eliminate this confusion, "Audit Report" will be renamed to "Annual Report". Task-5902500
This update enhances the way invoice activity summaries are generated during test runs. Specifically, the summary now automatically reflects the activity type, improving test accuracy and consistency. The changes also optimize database queries to reduce load, particularly during initial data access.
Original PR description
- When a recurring document request is created summary will be the name of the activity_type_id as per the new implementation here in this testcase. Added the default summary to the activity_type_id so that it will be taken in to account. - Cleaned the occurences of _onchange_activity_type_id as now we are using the stored/computed fields. - Increased query count as the field is stored computed, which will add an extra query to get field value when not present in cache for the first time when accessing them. Here, note field seems missing from cache, so it is being fetched from the database when `message_activity_done` template tries access it. Task-5269655
This update ensures Odoo correctly handles student salaries in Belgium, aligning with minimum wage regulations. The system now checks if student employees (designated as 'STU') are paid below the legal minimum, providing a warning to administrators. This improves accuracy and compliance for Belgian payroll reporting.
Original PR description
**Description:** In Belgium there a minimum salary amount for student. We should extend the existing warning (or create a new one) on employee and in the dashboard to warn if an employee with dimona category [STU] has a wage under the minimum. **Implementation** . Update _compute_l10n_be_is_below_scale() in hr_version and salary_offer . Add Corresponding tests . Add cp_200_salary_scale_student_A parameter values . Add cp_200_salary_scale_student_B parameter values . Add cp_200_salary_scale_student_C parameter values . Add cp_200_salary_scale_student_D parameter values task-5485636
This update simplifies the payslip list view by removing redundant buttons and improving the user experience. The 'Compute' button now appears only when a payslip is in draft status, and the multi-selection behavior prioritizes actions based on the payslip's state, making it easier for users to manage payroll data. The tour has also been updated to reflect the new button functionality.
Original PR description
-* hr_payroll_account - Remove Confirm button from payslip list view since it duplicates Validate. - Remove Compute and Confirm buttons from the Action menu. - Show Compute button only when payslip is in draft state. - Improve multi-selection behavior in list view: when multiple states are selected, apply buttons by state priority: draft > validated > paid. - Update the tour to click the Validate button instead of Confirm. task-5456180
This update simplifies TDS calculations within Odoo's HR payroll system, aligning with new tax regulations effective April 1, 2025. A new 'Tax Declaration' button has been added to employee records, providing a clear view of current FY TDS details and facilitating PDF reporting. This ensures accurate and compliant TDS reporting for employees.
Original PR description
This PR updates the TDS flow: - Removed the old TDS wizard and version-based monthly TDS computation - Added new tax regime parameter values effective from April 1, 2025 - Improved TDS calculation on payslips by computing monthly TDS directly from payslip logic - Introduced a Tax Declaration button on the employee form to review and print current FY TDS details Task-5025645
This update enhances the kitchen display by now showing the lot or serial number of tracked products during the preparation process. This improves accuracy and traceability for inventory management, particularly important for products requiring specific tracking like pharmaceuticals or high-value items. It aligns with best practices for order fulfillment and reduces potential errors.
Original PR description
In this commit: - We will display the lot/serial number of the tracked product on the preparation card in the kitchen display. Related PRs: - Community: https://github.com/odoo/odoo/pull/247503 Task-5491350
Resolved issues and error corrections
This update corrects inaccuracies in the XML files used for Swedish payments (SEPA). Specifically, it ensures the correct BIC number is used, removes a misleading placeholder value, and allows users to select the appropriate payment version for 'iso_se' payments, regardless of SEPA method selection. This improves the accuracy and reliability of payment processing for Swedish customers.
Original PR description
We currently have customizations for the iso20022 xml file for payments in Sweden. But those customizations aren't correct. This commit fix multiples issues: 1) In DbtrAgt, we sometimes have bankgiro information. But this node should always contain the BIC number for Swedish payments. 2) The _get_cleaned_bic_code method was replacing the real bic code with a fake value like 'SE:Bankgiro', but this seems to be wrong. None of the SE banks ask for this BIC, so we remove it. 3) The sepa_pain_version field is supposed to tell Odoo which pain version to use. But the problem is this field is computed, and only editable once the user set the SEPA payment method, but for iso_se, we want to let the user choose as well, even if he didn't add SEPA as payment method. This commit change the invisible on the field, so it can be edited as soon as iso_se is in the journal payment methods. task-5427570 Forward-Port-Of: odoo/enterprise#105536
This update ensures that product weights sent to the Sendcloud shipping API are always at least 0.001. Previously, weights below this threshold caused errors, preventing shipments from being processed correctly. This change improves the reliability of our shipping integrations with Sendcloud.
Original PR description
The Sendcloud API do not allow parcel details to have a weight value less than 0.00099 . This commit makes sure the products weights are at least 0.001. ref: <img width="1850" height="689" alt="image" src="https://github.com/user-attachments/assets/10242315-3c4d-4670-b77d-8cb429e00891" /> Forward-Port-Of: odoo/enterprise#107676
This update resolves an issue where custom reports, built using specialized models, were causing Studio to crash. The change ensures Studio can handle these tailored reports without errors, improving stability and usability for users creating and running reports.
Original PR description
…eport Some report build their data via a report model. Those are often tailor made to their business use cases and may crash when entering studio. This commit prevents this Forward-Port-Of: odoo/enterprise#107229
This update corrects a minor display issue in the accounting dashboard. Previously, the 'Reconnect Bank' button was incorrectly shown for accounts without an expiration date due to a technical detail in the code. Now, the button only appears when an expiration date is present, ensuring a cleaner and more accurate user interface.
Original PR description
The aim of this commit is fixing the behavior of Reconnect bank button in accounting dashboard. Before this commit, a synchronization without any expiring date will always show the Reconnect bank button in the accounting dashboard because the expiring due days (in the JS widget) is null and not undefined. This condition led to check the second part of the condition where null <= 0. Which is true in javascript. Now, we are checking the type of expiring due days as first condition, if it's not a number, we don't check the second part of the condition, and then we don't display the Reconnect Bank button. no task id Forward-Port-Of: odoo/enterprise#109414
This update fixes a limitation where managers needed a specific group to access their team's voip call records. By changing the access rule to the standard 'group_user' group, all managers now automatically have access, simplifying permissions and improving usability. This ensures consistent access for managers across the organization.
Original PR description
voip_hr defines a record rule that gives managers access to their subordinates' voip.call records. However, this rule is linked to the group 'hr.group_hr_user', which is not granted to all managers. This commit links the rule to the base.group_user group instead, so that all managers can access their subordinates' records without the need for an additional group. [Task-5363640](https://www.odoo.com/odoo/project/5778/tasks/5363640). Forward-Port-Of: odoo/enterprise#100691
This update resolves a problem preventing the correct generation of CSV reports for Peruvian accounting modules. The fix addresses an incompatibility with a recent Python update, ensuring reports are created consistently. Removing unnecessary configuration steps improves efficiency and stability.
Original PR description
Revealed when l10n modules got enabled on the "distro builds" nightly: on Trixie, `delimiter="|", lineterminator='|\n'` raises ValueError: bad delimiter or lineterminator value This is due to…
Revealed when l10n modules got enabled on the "distro builds" nightly: on Trixie, `delimiter="|", lineterminator='|\n'` raises
ValueError: bad delimiter or lineterminator value
This is due to python/cpython#113797 which added new validations to dialect definitions. For this issue, that the delimiter can not be in the line terminator. This can be fixed via a different trick, which is documented:
> The optional `restval` parameter specifies the value to be written
> if the dictionary is missing a key in `fieldnames`.
so if we add a trailing fieldname which *can not* be found in the row dicts, then `DictWriter` will always write out an empty trailing cell (the default `restval` is an empty string), which should result in the same output.
Also remove the `csv.register_dialect` calls, that's so subsequent CSV calls can easily refer to a common configuration but here two different dialects are being registered under the same name, and each one is only used for the following `DictWriter` call, so at best this is a complete waste of time and at worst this is a race condition in threaded configurations. Just pass the formatting parameters directly to the `DictWriter`.
https://runbot.odoo.com/odoo/error/240950
Forward-Port-Of: odoo/enterprise#109437
Forward-Port-Of: odoo/enterprise#109081This update resolves an issue preventing the export of Eco-Voucher data to Excel after a recent system update. The change reflects a necessary adjustment to how Eco-Voucher status is tracked due to a shift in the system's versioning process. This ensures accurate reporting for Belgian payroll compliance.
Original PR description
Since the switch from contracts to versions, exporting Eco-Vouchers to excel has not been functional, this commit fixes this. **Steps to reproduce:** - Open Payroll App as a Belgian company - Under Reporting Menu, select Eco-Vouchers - Try exporting with XLSX **Issue:** Since introduction of versions, version module does not contain state field anymore which was present in contracts **Fix:** Removed the state field and replaced it with the corresponding field in version. task:5163668 Forward-Port-Of: odoo/enterprise#109500 Forward-Port-Of: odoo/enterprise#97375
This update improves the Gantt editor's functionality by allowing all integer fields within a model to be used for color selection. Previously, only fields directly visible in the editor's view were selectable. This change provides greater flexibility for visualizing project data within the Gantt chart.
Original PR description
Before this commit, only fields already present in the view were selectable for the color field in the gantt editor. After this commit, all int fields of the model are available task-5981029 Forward-Port-Of: odoo/enterprise#109189
This update resolves an issue where approval rules for account moves incorrectly kept list view actions active. The change ensures that when an approval rule is applied to an account move, the associated list view action is automatically deactivated, streamlining the approval process and preventing unintended actions. This improves the reliability of the approval workflow.
Original PR description
Following commit odoo/odoo@c442f72479b50855f40ba079800ee9e5a5690753 When putting an approval rule action_post (account.move) the action bound to the list view must be deactivated. opw-5921128 Forward-Port-Of: odoo/enterprise#106853
This update resolves an issue where users could inadvertently add partners from different companies when managing multiple companies within Odoo. This change ensures that partners are correctly associated with the intended company, improving data accuracy and streamlining accounting processes. It’s a crucial fix for reliable multi-company reporting.
Original PR description
Before this commit, it was possible to add a partner that was from another company when multiple companies were selected. task-5941113 Forward-Port-Of: odoo/enterprise#108048 Forward-Port-Of: odoo/enterprise#107546
This update resolves a technical issue where tests were failing due to how keyboard events were being handled within the Odoo system. The fix ensures that test environments are properly cleaned up, preventing potential memory leaks and improving the stability of the application. This primarily impacts the user experience by ensuring consistent and reliable test results.
Original PR description
Adapt tests failing due to keydown events being applied to the current active element. Community: https://github.com/odoo/odoo/pull/247137 Forward-Port-Of: odoo/enterprise#109386 Forward-Port-Of: odoo/enterprise#107286
The Activity Logs report was incorrectly appearing in the Sign Template list view, causing errors. This update corrects a misconfiguration in the report's model settings, ensuring it now displays correctly within the Sign Request view. This resolves a technical issue that prevented users from accessing the report.
Original PR description
Version: - saas-18.2 Issue: - The "Activity Logs" report was showing in the Sign Template list view. When clicking it, a traceback occurred because the report tried to read a `sign.request` record from a `sign.template` context. Cause: - The report model was set to `sign.request`, but the`binding_model_id` was set to `model_sign_template`. - This mismatch caused the report to appear in the wrong place. Solution: - Updated the `binding_model_id` to `model_sign_request` so the report now appears in the Sign Request view, which matches the report model and prevents the error. task-5984137 Forward-Port-Of: odoo/enterprise#109171
This update resolves a problem where CFDI-compliant invoices generated in Mexico were producing PDF reports with a section line that was too short, failing to include the subsequent invoice details. The fix ensures that the section line in the PDF accurately reflects the full invoice content, improving compliance and report accuracy. This impacts users generating invoices for Mexican companies.
Original PR description
**STEP TO REPRODUCE** 1. Select a MX company. 2. Create an invoice for a MX company with a section. 3. Send the invoice via CFDI. 4. Notice the section line in the section pdf is no long enough and does not cover the lines below. opw-5501379 Forward-Port-Of: odoo/enterprise#106123
This update corrects a test case in the quality control module to reflect a recent change in how stock movements are merged within Odoo. Specifically, the test now accurately reflects the requirement that a new stock movement only merges with an existing one if a 'stock reference' is present. This ensures the quality control process aligns with the latest system functionality.
Original PR description
Fix the test case to align with the updated picking move merge behavior, where the next transfer merges into an existing one only when a stock reference is set TaskID-5242340 Forward-Port-Of: odoo/enterprise#109538 Forward-Port-Of: odoo/enterprise#99342
This update fixes an issue where time formatting was inaccurate, particularly with rounding. It now correctly formats time values in list and graph views, aligning with the standard DateTime widget behavior and allowing for more flexible time display options.
Original PR description
The rounding of time was not correct. I was always flooring, but before the new duration the rounding was depending of the precision of the duration. The rounding has been restored as before and put…
The rounding of time was not correct. I was always flooring, but before the new duration the rounding was depending of the precision of the duration. The rounding has been restored as before and put in formatDuration. formatFloatTime has been modified to use formatDuration and now take the same options (specify the unit of time of the value). The graph view and list view didn't extract the otpions from the fields with widget. Now, they get the options and give them to the formatter. The widget was showing the seconds by default, but it doesn't match with the behavior of the DateTime widget. It has been changed and now the seconds are shown only if the options 'showSeconds' is true and it's false by default. The impacted views has been restored as before the original commit. The options of float_time widget couldn't take falsy values, now it can. an improvment has also been done: the popover on the float_time widget doesn't show up if the input value and the formattedValue are the same. followup of TASK-5347051 Forward-Port-Of: odoo/enterprise#108072
This update fixes a bug where the cash drawer wasn't opening when the cash details popup was accessed in the Italian Point of Sale (POS) system. The issue was resolved by ensuring the cash drawer opening function is called correctly. Now, opening the cash details popup consistently triggers the cash drawer to open, as it should.
Original PR description
When opening the cash details popup the cash drawer should be opened. It was not the case for the Italian fiscal printer. Steps to reproduce: ------------------- * Setup a Italian fiscal printer with cash drawer support * Open PoS * Open the cash details popup > Observation: The cash drawer does not open * Try to close the PoS session * Open the cash details popup > Observation: The cash drawer opens Why the fix: ------------ The cash drawer opening function was simply not called opw-5391094 Forward-Port-Of: odoo/enterprise#109278 Forward-Port-Of: odoo/enterprise#107987
This update fixes an issue in the barcode picking interface where adding multiple extra products triggered a repetitive confirmation dialog. Now, the dialog opens only once and dynamically updates, allowing users to easily select or deselect products before confirming the addition, streamlining the picking process.
Original PR description
When adding extra products in the barcode picking interface, the confirmation dialog did not handle correctly the scan of multiple extra items. Before: Scanning multiple extra products successively opened (mutex + promise) the dialog multiple times. The user had to confirm/cancel each extra product addition one by one. After: The dialog is now only opened once and updated when scanning multiple extra products before confirming. The user can select/deselect the extra products to add before validating. [opw-5193269](https://www.odoo.com/odoo/project/49/tasks/5193269) Forward-Port-Of: odoo/enterprise#108810 Forward-Port-Of: odoo/enterprise#104932
This update ensures that timesheets automatically reflect whether a task or project is billable. Previously, the system didn't correctly associate billable status with the selected project or task within the Timesheet Assistant. This fix ensures accurate billing records for time spent on projects and tasks.
Original PR description
Steps to reproduce: - Open Timesheet Assistant - Add new Timesheet - Choose a project or task so so_line of timesheet become True - is_billable is still False Source of the bug: - compute_is_billable was missing depends decorator task-5956059 Forward-Port-Of: odoo/enterprise#109141 Forward-Port-Of: odoo/enterprise#108295
This update addresses a change in Amazon's SP-API, which is used to automatically update inventory levels between Odoo and Amazon. The system has been upgraded to use a new feed type (`JSON_LISTINGS_FEED`) to maintain compatibility with Amazon's updated API. This ensures continued accurate stock synchronization.
Original PR description
Amazon SP-API is dropping support for the `POST_INVENTORY_AVAILABILITY_DATA` feed type. This was previously used in Odoo to synchronize the stock level with Amazon. This commit upgrades the feed api to use the new `JSON_LISTINGS_FEED` as a replacement. task-3820591
This update resolves a minor issue within the account reports testing suite. The fix ensures that a specific test tour related to audit trails is correctly executed, improving the reliability of our reporting tests. This ensures consistent and accurate reporting functionality.
This update now accurately tracks shipments with multiple delivery orders for Amazon, providing the correct tracking number for each sale order line. Previously, only the first delivery's tracking number was shared with Amazon, leading to inaccurate customer visibility. This enhancement ensures customers receive correct and complete shipment information.
Original PR description
Previously, shipments via multiple delivery orders could not be tracked accurately. Only the tracking number of the first delivery was provided to Amazon, and displayed to the customer. With this commit, deliveries are now split per sale order line, and all tracking numbers are synchronized correctly. task-3062424
This update fixes an issue where document fields referencing related records weren't correctly identified. The change ensures that Odoo accurately represents and manages relationships between documents and other data, leading to more reliable data and improved system performance. This primarily impacts how documents are linked to other modules within Odoo.
Original PR description
See https://github.com/odoo/odoo/pull/196498
This update fixes an issue where refund calculations in the MX e-receipt module were incorrectly assuming all refund amounts were positive. The change ensures accurate calculations for refunds, particularly those with negative price subtotals, leading to more reliable financial reporting. This improves the accuracy of financial data related to MX e-receipt transactions.
Original PR description
From this version, the price_subtotal of a refund line is by default always positive so we have to inverse the check of this constraint.
This update aligns the subscription checkbox label to the left within the product template form. This change improves the visual clarity and user experience of the subscription setup process, making it easier for users to understand and complete their subscriptions.
Original PR description
task-6007762
This update fixes a potential error in the Time Off Overview feature that could cause the system to crash if a user lacked specific permissions. The change uses 'optional chaining' to prevent errors when accessing data, ensuring a more stable and reliable user experience.
Original PR description
In hr.leave.report.calendar the work_entry_type_id field has a group group_hr_holidays_user and if the user doesn't have access this group it would lead to a traceback because work_entry_type_id in hr_holidays_gantt_popover will be undefined and we try to access one of its properties. This commit adds optional chaining to protect against this scenario. task-5940200
This update fixes a bug preventing custom URLs for appointment types from being correctly reflected in the website's SEO settings. Now, users can set a custom URL for their appointment types, improving their visibility in search results. This change ensures better SEO performance for appointment pages.
Original PR description
Previously, appointment types URLs were not replaced by the value entered in the Cutsom Url field of the Optimize SEO form, this is not longer the case. This PR replaces the appointment type's id by…
Previously, appointment types URLs were not replaced by the value entered in the Cutsom Url field of the Optimize SEO form, this is not longer the case. This PR replaces the appointment type's id by the slug of this one in the appointment URLs. This allows users to change the slug of the appointment types and to get a better SEO for the appointment pages. This change has not been done for URLs that users are not supposed to access in order to prevent them from competing with URLs that need to be indexed. The model is not used in the backend URLs' patterns since URLs can be shared with users that may not have access to the appointment model triggering an AccessError. For this reason, the routes expect the slug to be a string, which is unslugged in the controller method to get the appointment's id and then fetch the appointment's record with it. Reproduce: On the page of an appointment type, submit a custom URL in the "Search Engine Optimization" form which is displayed when clicking on "Optimize SEO", in the "Site" menu shown when the website editor is enabled. The user should be redirected to the new URL which is not the case. After the fix: The slug of the appointment type must be replaced by the value submitted in the "Search Engine Optimization". Community PR: https://github.com/odoo/odoo/pull/249487 Task-5114394
Code cleanup and technical improvements
This update adds the necessary `.this` syntax to template variables across several Odoo modules to align with upcoming OWL3 requirements. This change is a preparatory step for a larger upgrade, ensuring compatibility with newer features and improving the way components are referenced in templates. It primarily impacts modules like Marketing Automation, Quality Control, and Room Booking.
Original PR description
In preparation for OWL3, where template variables will need to use `.this` to target component variables, we add `.this` to template variables that are targetting the component. Script PR: https://github.com/odoo/odoo/pull/247965 THIS_TARGETS = [quality,room,marketing_automation] task: OWL3 prep - add this. to template variables
This update prepares Odoo for a future upgrade (OWL3) by automatically adding the `.this` syntax to template variables. This change ensures that variables referencing components will work correctly with the new syntax, preventing potential issues with future updates. It’s a proactive step to maintain compatibility.
Original PR description
In preparation for OWL3, where template variables will need to use `.this` to target component variables, we add `.this` to template variables that are targetting the component. Script PR: https://github.com/odoo/odoo/pull/247965 THIS_TARGETS = [purchase,resource,repair,rpc,rating] task: OWL3 prep - add this. to template variables