Friday, March 8, 2024
21 changes · master
Enhancements to existing features
This update cleans up the VoIP module code by making parameter handling clearer, removing unused code references, and deleting unnecessary license comments. It helps keep the system easier to maintain and aligned with current coding standards, with no expected change for day-to-day users.
Original PR description
In this PR: ## [IMP] voip: make optional parameters explicit "Implicit Optionals" are prohibited by PEP 484. This commit adapts VoIP code to make them explicit. ## [IMP] voip: remove unused imports ## [IMP] voip: remove useless licence comments
Users now see a clearer warning when they try to preview or edit Excel (.xlsx) files in Documents Spreadsheet. This helps set expectations and reduces confusion before users take action on files that may need special handling.
Original PR description
## Description Enhanced the warning message for users attempting to preview or edit xlsx files. Task ID: [3746208](https://www.odoo.com/web#id=3746208&cids=2&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
The helpdesk timesheet report has been updated to stay aligned with related reporting changes in the main Odoo platform. This helps keep exported or printed timesheet information consistent and easier to read for helpdesk work.
Original PR description
This commit adapts the template inherited according to the changes made in community PR. Community PR: https://github.com/odoo/odoo/pull/131021 task-3441573
This update converts Gantt view test suites to the newer Hoot testing framework across several business apps. It improves the reliability and maintainability of automated checks for planning, appointments, projects, attendance, and manufacturing scheduling without changing end-user features.
Original PR description
task-id: 3705027
Helpdesk now sends users directly to the specific Alias Domain setting when setup is needed. This reduces confusion in the general settings page and helps teams complete email alias configuration faster.
Original PR description
Before this commit, when the user has to define the alias domain in the main setting, a button in the helpdesk form view redirects him to the General settings but he could not know which field, he should set since there could have many fields displayed in the setting form view. This commit adds a context key `setting_default_alias_domain_id` to be able to filter the setting form view to only have that field when the General settings view is loaded. task-3614449
Features or functions removed from Odoo
An outdated inventory accounting extension was removed because the dashboard it supported no longer exists. A redundant subscription sales reporting customization was also removed, simplifying maintenance without expected business impact.
Original PR description
#### [REM] stock_account_enterprise: remove stock_account_enterprise module The module extended stock.report with two fields used in dashboard. But this dashboard has been removed by https://github.com/odoo/enterprise/pull/31641/files#diff-cdc64cb14d8f3a57b35e2d827692ed64b5a9f359f4684b42a9041ef536f08e44. Then this module doesn't make sense anymore. #### [REM] sale_subscription: remove useless read_group() override https://github.com/odoo/odoo/pull/156325 https://github.com/odoo/upgrade/pull/5776
Code cleanup and technical improvements
Automated test steps in Knowledge and Web Studio were updated to use a newer, cleaner way of identifying embedded page content. This is an internal maintenance change that helps keep testing infrastructure simpler and easier to maintain, with no direct change for end users.
Original PR description
In this commit, we change some triggers in tours where en iframe is selected. For this, we use the :iframe HOOT pseudo-selector. These changes are made with a view to remove the getNodesFromSelector function in odoo/addons/web_tour/static/src/tour_service/tour_utils.js task~3600484
Miscellaneous changes
Currently the progressbar computation are not contract-aware, we fix this here task-3777971 Forward-Port-Of: odoo/enterprise#57902
Original PR description
Currently the progressbar computation are not contract-aware, we fix this here task-3777971 Forward-Port-Of: odoo/enterprise#57902
This update removes outdated internal module tags from Gantt-related files across appointment, attendance, HR, payroll, holidays, and work entry areas. It does not change business features or user workflows, but helps keep the codebase aligned with current development standards.
This update removes an outdated internal setting from spreadsheet cell evaluation. It simplifies the spreadsheet code without changing how users work with spreadsheets.
Original PR description
The command `EVALUATE_CELLS`'s `sheetId` is no longer used since many many versions.
This update simplifies how automated tours interact with embedded iframe content across Sign, Payroll test flows, and Studio report tests. It supports ongoing cleanup of internal testing code, reducing maintenance effort without changing user-facing business features.
Original PR description
In this commit, we change some triggers in tours where en iframe is selected. For this, we use the :iframe HOOT pseudo-selector. These changes are made with a view to remove the getNodesFromSelector function in odoo/addons/web_tour/static/src/tour_service/tour_utils.js task~3600484
Steps to reproduce: - Create two company San Francisco (SF) and Chicago (CH) - Make a service product, with "Subcontract Services" enabled on both company - For SF set CH as the vendor. - For CH set an external vendor - For both company enable "Inter-Company Transaction" and "Automatic Validation" - Enable subcontract services and set the first company as the vendor - Make a PO on SF and confirm it - An SO is created on CH Issue: A PO should be created on CH but we have nothing
Original PR description
Steps to reproduce: - Create two company San Francisco (SF) and Chicago (CH) - Make a service product, with "Subcontract Services" enabled on both company - For SF set CH as the vendor. - For CH set…
Steps to reproduce: - Create two company San Francisco (SF) and Chicago (CH) - Make a service product, with "Subcontract Services" enabled on both company - For SF set CH as the vendor. - For CH set an external vendor - For both company enable "Inter-Company Transaction" and "Automatic Validation" - Enable subcontract services and set the first company as the vendor - Make a PO on SF and confirm it - An SO is created on CH Issue: A PO should be created on CH but we have nothing. Solution: Remove the function override that would stop this behavior. This code is part of commit (https://github.com/odoo/enterprise/commit/7cb233575e6440cc02cc67f5d5e747c7d22ae183), this function restriction was needed to fix a flow. "Subcontract Services" wasn't company dependent at the time of the commit, meaning that if company CH didn't have a supplier we ran into an issue since we would try to confirm a PO without any vendor. Now that "Subcontract Servives" is company dependent this particular flow is now avoidable by the client (making it a mis-configuration instead of a bug). opw-3622278 Forward-Port-Of: odoo/enterprise#57964 Forward-Port-Of: odoo/enterprise#54316
Versions -------- - 16.0+ Steps ----- 1. Have SOL discounts enabled; 2. create a pricelist with a discount; 3. set Discount Policy to Show public price & discount; 4. create a quotation; 5. using the pricelist, add a product it's applicable to; 6. manually modify the discount; 7. in Other Info, add a Start Date. Issue ----- The manually modified discount was reset. Cause ----- The sale_subscription's override of `_compute_discount` adds `start_date` as a dependant field. W
Original PR description
Versions -------- - 16.0+ Steps ----- 1. Have SOL discounts enabled; 2. create a pricelist with a discount; 3. set Discount Policy to Show public price & discount; 4. create a quotation; 5. using the pricelist, add a product it's applicable to; 6. manually modify the discount; 7. in Other Info, add a Start Date. Issue ----- The manually modified discount was reset. Cause ----- The sale_subscription's override of `_compute_discount` adds `start_date` as a dependant field. When no start date is at confirmation, it will be set to the current date, triggering a recomputation of discount fields. Solution -------- Add an `action_confirm` value to the context when confirming a subscription, and check for it in `_compute_discount` to avoid recomputing non-upsell line discounts. opw-3646915 Forward-Port-Of: odoo/enterprise#58022 Forward-Port-Of: odoo/enterprise#57222
Issue: - Open the Documents App. - Select any PDF and click splitPDF from the inspector. - Now from the top-left, try to toggle back to home by clicking precisely on the arrow. - We get a traceback. Reason: - link to the LOC from where the issue arises: https://github.com/odoo/enterprise/blob/705bed9b2c63227c36f42045903f490a5d287f1f/documents/static/src/owl/components/pdf_manager/pdf_manager.js#L1275 - The `ev.target` returns an `<svg>` element (the toggle arrow) when clicked d
Original PR description
Issue: - Open the Documents App. - Select any PDF and click splitPDF from the inspector. - Now from the top-left, try to toggle back to home by clicking precisely on the arrow. - We get a traceback.…
Issue: - Open the Documents App. - Select any PDF and click splitPDF from the inspector. - Now from the top-left, try to toggle back to home by clicking precisely on the arrow. - We get a traceback. Reason: - link to the LOC from where the issue arises: https://github.com/odoo/enterprise/blob/705bed9b2c63227c36f42045903f490a5d287f1f/documents/static/src/owl/components/pdf_manager/pdf_manager.js#L1275 - The `ev.target` returns an `<svg>` element (the toggle arrow) when clicked directly on it. - When clicked on the bottom right end of the toggle arrow, it returns the `<rect>/<g>` element. - Since neither the `<svg>/<rect>/<g>` element have a `click()` method, clicking directly on them results in a traceback. Fix: - We use the bootstrap class `pe-none` to disable the pointer-events inside the `<svg>` element. After this commit: - We successfully land on the HOME, when clicking on the arrow. The traceback no longer occurs after this fix. Task-3764120 Forward-Port-Of: odoo/enterprise#57514
When coming back to the time selection screen, from an error or through chevrons, the previously chosen resource (resource_selected_id in the url) was selected for 'Time then resource' in the resource dropdown, and at loading, also when computing available slots. In order to let the user choose their resource in that case, do not use the selected resource for time_resource types, nor for computing availabilities at first loading, nor to restrict the resource dropdown. Task-3603354 Forward
Original PR description
When coming back to the time selection screen, from an error or through chevrons, the previously chosen resource (resource_selected_id in the url) was selected for 'Time then resource' in the resource dropdown, and at loading, also when computing available slots. In order to let the user choose their resource in that case, do not use the selected resource for time_resource types, nor for computing availabilities at first loading, nor to restrict the resource dropdown. Task-3603354 Forward-Port-Of: odoo/enterprise#56586
[IMP] l10n_be_hr_contract_salary: improve salary configurator choices This commit includes improvement to the benefit selection. Implementing a logic where selecting "Private Bike" automatically disables the "Fuel Card" option and resets any entered amount to 0 Task-3749460 Forward-Port-Of: odoo/enterprise#58079 Forward-Port-Of: odoo/enterprise#56936
Original PR description
[IMP] l10n_be_hr_contract_salary: improve salary configurator choices This commit includes improvement to the benefit selection. Implementing a logic where selecting "Private Bike" automatically disables the "Fuel Card" option and resets any entered amount to 0 Task-3749460 Forward-Port-Of: odoo/enterprise#58079 Forward-Port-Of: odoo/enterprise#56936
For resource appointments with Resource Then Time setting, when clicking on a day to select a slot, for instance on update of the slots when changing users, or when simply when selecting a day, the resource_selected_id is not added properly to the url as it should, hence not showing the selection in the details column in the /info screen. This is only due to not using the value of the select for the resource. Fix the issue by using the value of the resource dropdown if any. Task-36
Original PR description
For resource appointments with Resource Then Time setting, when clicking on a day to select a slot, for instance on update of the slots when changing users, or when simply when selecting a day, the resource_selected_id is not added properly to the url as it should, hence not showing the selection in the details column in the /info screen. This is only due to not using the value of the select for the resource. Fix the issue by using the value of the resource dropdown if any. Task-3603354 Forward-Port-Of: odoo/enterprise#56585
Forward-Port-Of: odoo/enterprise#58085
Original PR description
Forward-Port-Of: odoo/enterprise#58085
Before this commit, the appendix A had default value that were fill thanks to a hardcoded mapping. The user had zero control on this, we decided to use tags instead. What was done: - Put the tags in l10n_lu to be able to use it in the COA - Remove the mapping - Change the function to work with tags instead of the mapping task: 3646832 Forward-Port-Of: odoo/enterprise#54525
Original PR description
Before this commit, the appendix A had default value that were fill thanks to a hardcoded mapping. The user had zero control on this, we decided to use tags instead. What was done: - Put the tags in l10n_lu to be able to use it in the COA - Remove the mapping - Change the function to work with tags instead of the mapping task: 3646832 Forward-Port-Of: odoo/enterprise#54525
The owl key used was the id of the journal item, it is not unique in some cases of indirect linked aml (amls which don't have the partner of the report section but are reconciled with an aml which have this partner). An indirect aml can have multiple partial reconciliations with different amls from the same partner. Also the way odoo shows indirect aml in "Unknown partner" section is to duplicate all info shown except debit/credit/balance from origin aml (so this include aml.id). To suppor
Original PR description
The owl key used was the id of the journal item, it is not unique in some cases of indirect linked aml (amls which don't have the partner of the report section but are reconciled with an aml which have this partner). An indirect aml can have multiple partial reconciliations with different amls from the same partner. Also the way odoo shows indirect aml in "Unknown partner" section is to duplicate all info shown except debit/credit/balance from origin aml (so this include aml.id). To support those cases, we now use a markup with the id of partial reconcile to produce unique keys. When the aml is not an indirect aml, this markup is set to 0. Steps to reproduce: 1/ Create an invoice with partner 2/ Create a MISC entry without partner for the same amount 3/ Reconcile both 4/ Go to partner ledger for the right period + unfold all => Traceback opw-3700478 Forward-Port-Of: odoo/enterprise#57105
Adds a new module that prevents an Avatax fiscal position from being applied on Amazon orders. This is done to avoid calculating and filing taxes twice from sales synced through the Amazon connector. task-3701878 Forward-Port-Of: odoo/enterprise#56518
Original PR description
Adds a new module that prevents an Avatax fiscal position from being applied on Amazon orders. This is done to avoid calculating and filing taxes twice from sales synced through the Amazon connector. task-3701878 Forward-Port-Of: odoo/enterprise#56518