Daily updates from Odoo
Tuesday, July 9, 2024
24 changes · master
Enhancements to existing features
The Web Enterprise module’s automated checks were migrated to a newer testing framework. This helps keep quality assurance reliable and easier to maintain without changing how users experience the product.
Original PR description
In this PR: * [IMP] web_enterprise: convert action_manager_mobile tests to HOOT * [IMP] web_enterprise: convert home_menu tests to HOOT * [IMP] web_enterprise: convert list tests to HOOT * [IMP] web_enterprise: convert expiration_panel tests to HOOT task-3705027 task-4028335
Specialized views such as cohort, grid, and map are now loaded only when needed, including in Studio. This reduces the initial loading work for users and should make opening the backend feel faster while keeping those views available when required.
Original PR description
We make studio to load the bundle "web.assets_backend_lazy" defined in https://github.com/odoo/odoo/pull/171073. Thanks to that changes we are able to make the views cohort, grid, map and their extensions to be lazy loaded. Task ID: `3546321`
WhatsApp conversations now continue in the existing channel when the same customer replies to templates sent by the same user, even if those templates are linked to different records. This avoids duplicate conversations and keeps customer communication easier to follow.
Original PR description
\* test_whatsapp **PURPOSE:** Currently if a channel is active on WhatsApp and the same user send a template using another model than on further conversation a new channel created. For the same user it does not make any use case. **SPECIFICATION:** If user sends a template and Customer / subscriber replies to that a channel is created and conversation is active. After that a new template is send by the current user, post this if the customer replies it should not create a new channel and the conversation should continue in the same channel. **task**-[3644180](https://www.odoo.com/web#id=3644180&menu_id=4720&cids=2&action=333&active_id=965&model=project.task&view_type=form)
Bank reconciliation now uses a saved action setup instead of temporary page state. This prevents reconciliation screens from losing context when users refresh the page or open links in a new tab.
Original PR description
Created an XML record for the bank reconciliation action. The created record was used in '_action_open_bank_reconciliation_widget' instead of a dictionary action. Before this commit, the action state, which was not entirely encoded in the new URL, would be erased on refresh or on opening the reconciliation link in a new tab. Currently, the action state is stored in an XML record to avoid this problem. task-4010694
The update aligns Enterprise screens with related community improvements and refreshes print-related controls in Gantt and Documents. Business users should see a more consistent interface when preparing or printing planning and document views.
Original PR description
community: - https://github.com/odoo/odoo/pull/167747 task-3617770
The payroll rule setup text was improved to better explain how to enter the output of a salary rule calculation. This helps payroll administrators configure custom rules more accurately and reduces confusion during setup.
Original PR description
In the default value of the amount_python_compute in the model hr.salary.rule, we have a placeholder giving the available variables and also showing where to put the output. It was missing more information to make it really accurate. Task: 4038128
List views in Studio, Helpdesk, and Appraisal were adjusted to work with updated column width behavior. This reduces unwanted horizontal scrolling and makes important list information display more consistently.
Users can now open individual payments from a batch payment directly in the main window instead of a limited pop-up. This makes important payment status information visible and improves navigation while keeping the payment list itself read-only to avoid accidental edits.
Original PR description
When inside a batch payment form view there is a O2M field `payment_ids` which when clicked is opening the payment form view inside a dialog. The issue with that is that since [1], stat buttons were…
When inside a batch payment form view there is a O2M field `payment_ids` which when clicked is opening the payment form view inside a dialog. The issue with that is that since [1], stat buttons were excluded from dialogs because in some flows, it was creating issues in the user flow, particularly in cases involving intermediary records that were not yet saved yet. But in the batch payments form view, when clicking on a payment, it's important to see those stats buttons, otherwise it leads to bad UX and make people waste time. This commit is making it so there is a "View" button appearing on the payment lines which will open the form view in the current window, adding itself to the breadcrumb. It's possible since commit [2] but sadly for it to work the list need to be editable, which this commit is thus changing too. The fields could receive a `readonly` attribute is judged necessary. [1]: https://github.com/odoo/odoo/commit/473e629a099bfd4b5334951a54df48e37c8612c7 [2]: https://github.com/odoo/odoo/commit/258e6a019a21042bf4f6cf70fcce386d37afd50c task-3973116
The Rooms app now guides new users more clearly when no rooms have been created yet. It shows a helpful prompt with a direct button to create the first room, making initial setup faster and less confusing.
Original PR description
Purpose ======= Streamline the setup process for new users of the Rooms app. Specification ============= When there are no rooms, the action helper is visible with a button to create a new room. Task-3927822
The Chile and Mexico e-invoicing flows in online sales were adjusted to stay compatible with recent platform changes. This helps ensure customers can continue completing website purchases that require local electronic invoicing without disruption.
Original PR description
task-3682746 See also: - https://github.com/odoo/odoo/pull/149020
This update modernizes several enterprise web and mobile interface tests using Odoo's newer HOOT testing framework. It helps ensure key areas like mobile navigation, pivot views, and the home menu continue to work reliably as the product evolves.
Original PR description
In this PR: * [IMP] web_enterprise: add test assets bundle for HOOT * [IMP] web_enterprise: add HOOT clickbot test * [IMP] web_enterprise: convert pivot_view tests to HOOT * [IMP] web_enterprise: convert webclient_mobile tests to HOOT * [IMP] web_enterprise: convert burger_menu tests to HOOT task-3705027 task-4028335
Code cleanup and technical improvements
Brazilian Avalara tax service functionality has been folded into the main Brazil tax modules instead of being kept in separate service-specific modules. This simplifies module structure and maintenance while preserving the same capabilities for goods and service transactions.
Original PR description
The first release of Avatax Brazil focused only on goods transactions. Service transactions were added later in stable, and thus needed new modules. This commit merges these *_services specific modules into the main one. None of the functionality should have been changed.
Miscellaneous changes
Steps: - Install social_demo, crm - Open social marketing app - Open instagram ost - Create a lead from comment Actual result: - issue due to the demo data with invalid date format - demo date is not ISO8601 compliant Expected result - Lead wizard is opened opw-3975423 opw-4019390 Caused-by: https://github.com/odoo/enterprise/commit/4fb0f854c57c1669eea8a383a55e16dd52894142 Forward-Port-Of: odoo/enterprise#64204
Original PR description
Steps: - Install social_demo, crm - Open social marketing app - Open instagram ost - Create a lead from comment Actual result: - issue due to the demo data with invalid date format - demo date is not ISO8601 compliant Expected result - Lead wizard is opened opw-3975423 opw-4019390 Caused-by: https://github.com/odoo/enterprise/commit/4fb0f854c57c1669eea8a383a55e16dd52894142 Forward-Port-Of: odoo/enterprise#64204
## Before this PR In WhatsApp Composer, the Sample Values do not update when changing the WhatsApp Template. Instead, it display the sample values from the initially selected template. ## After this PR The Sample Values will now update according to the selected WhatsApp Template. Task-3996935 Forward-Port-Of: odoo/enterprise#65198
Original PR description
## Before this PR In WhatsApp Composer, the Sample Values do not update when changing the WhatsApp Template. Instead, it display the sample values from the initially selected template. ## After this PR The Sample Values will now update according to the selected WhatsApp Template. Task-3996935 Forward-Port-Of: odoo/enterprise#65198
With an MX company setup Go to Accounting > Reports > Trial Balance. Click "SAT (XML)" to export the file. Issue: No certificate in the xml In Odoo 15, exporting the SAT XML would include the company's EDI certificate. In Odoo 16 and newer, this is no longer the case. opw-3891205 Forward-Port-Of: odoo/enterprise#66022 Forward-Port-Of: odoo/enterprise#62969
Original PR description
With an MX company setup Go to Accounting > Reports > Trial Balance. Click "SAT (XML)" to export the file. Issue: No certificate in the xml In Odoo 15, exporting the SAT XML would include the company's EDI certificate. In Odoo 16 and newer, this is no longer the case. opw-3891205 Forward-Port-Of: odoo/enterprise#66022 Forward-Port-Of: odoo/enterprise#62969
30% Exemption field shows on all contracts although it should only show on dutch employees contracts. This change restricts the 30% Exemption to only show on dutch contracts. task-3946599 Forward-Port-Of: odoo/enterprise#65790
Original PR description
30% Exemption field shows on all contracts although it should only show on dutch employees contracts. This change restricts the 30% Exemption to only show on dutch contracts. task-3946599 Forward-Port-Of: odoo/enterprise#65790
Forward-Port-Of: odoo/enterprise#65976
Original PR description
Forward-Port-Of: odoo/enterprise#65976
Before this commit, the reserved lot for a line was displayed even if the "Show reserved lots/SN" is not checked. ### How to reproduce: - Ensure "Show reserved lots/SN" is not check for the deliveries; - Create a product tracked by lots and set a barcodes; - Create two lots for this product and add quantity in stock for both; - Create a delivery for this product (enough qty. to reserved both lots); - Open the delivery in the Barcode app. ### Issue: On the barcode line, the first rese
Original PR description
Before this commit, the reserved lot for a line was displayed even if the "Show reserved lots/SN" is not checked. ### How to reproduce: - Ensure "Show reserved lots/SN" is not check for the…
Before this commit, the reserved lot for a line was displayed even if the "Show reserved lots/SN" is not checked. ### How to reproduce: - Ensure "Show reserved lots/SN" is not check for the deliveries; - Create a product tracked by lots and set a barcodes; - Create two lots for this product and add quantity in stock for both; - Create a delivery for this product (enough qty. to reserved both lots); - Open the delivery in the Barcode app. ### Issue: On the barcode line, the first reserved lot is displayed. ### Expected behavior: In this configuration, only scanned lots should be displayed (here, the barcode line lot part should appear empty.) This commit also fixes an issue where not the same move lines is opened when using the edit form view in the Barcode App. To reproduce, follow steps above, then open the display line in the form view (via the edit button) => You can see a lot is displayed. Update the quantity to fulfill the line, save the change and then re-open the form view => You can now see the other lot and 0 qty because it's the other reserved move line who was opened. To avoid this issue, it will always be the first (by ID) move line who will be opened. Forward-Port-Of: odoo/enterprise#64264
### Steps to reproduce: - Install Sale Subscription module - Create a recurrent order and add Optional products and Start date under Other info tab - Click on Preview ### Current behavior before PR: You won't see the optional products in the portal view if for a recurrent order that has start date and in draft. This is happening because in sale_subscription we are checking if the start_date of the order is equal to the next_invoice_date https://github.com/odoo/enterprise/blob/17.0/sal
Original PR description
### Steps to reproduce: - Install Sale Subscription module - Create a recurrent order and add Optional products and Start date under Other info tab - Click on Preview ### Current behavior before PR: You won't see the optional products in the portal view if for a recurrent order that has start date and in draft. This is happening because in sale_subscription we are checking if the start_date of the order is equal to the next_invoice_date https://github.com/odoo/enterprise/blob/17.0/sale_subscription/models/sale_order.py#L1957:1959 and if the order is in draft it won't have a next_invoice date until it is either confirmed or sent. ### Desired behavior after PR is merged: We are now checking if the next_inovice_date is not set we show the optional products. opw-3980405 Forward-Port-Of: odoo/enterprise#66237 Forward-Port-Of: odoo/enterprise#64894
This PR makes the employees always appear in alphabetical order in the planning overlap warning. This fixes a test breaking when the order changes, and prevents potential problems caused by a nondeterministic order. Task-4037741 Forward-Port-Of: odoo/enterprise#66154
Original PR description
This PR makes the employees always appear in alphabetical order in the planning overlap warning. This fixes a test breaking when the order changes, and prevents potential problems caused by a nondeterministic order. Task-4037741 Forward-Port-Of: odoo/enterprise#66154
Before this commit the timesheet_mail_employee_nextdate and timesheet_mail_manager_nextdate Were calculated only when a change was made on timesheet_mail_employee_delay, timesheet_mail_employee_interval or timesheet_mail_manager_delay, timesheet_mail_manager_interval fields, even tho those two have a default value Now the _timesheet_postprocess method will always call _calculate_timesheet_mail_employee_nextdate and _calculate_timesheet_mail_manager_nextdate method when called from the res.com
Original PR description
Before this commit the timesheet_mail_employee_nextdate and timesheet_mail_manager_nextdate Were calculated only when a change was made on timesheet_mail_employee_delay, timesheet_mail_employee_interval or timesheet_mail_manager_delay, timesheet_mail_manager_interval fields, even tho those two have a default value Now the _timesheet_postprocess method will always call _calculate_timesheet_mail_employee_nextdate and _calculate_timesheet_mail_manager_nextdate method when called from the res.company.create method Seems to work even if the delay and interval fields don't have default value Following this PR > https://github.com/odoo/enterprise/pull/48096 15.0 > master Task-3714293 Forward-Port-Of: odoo/enterprise#65564 Forward-Port-Of: odoo/enterprise#55546
Versions -------- - 16.0+ Steps ----- 1. Create an open slot in a planning; 2. publish & send an email to an employee who could fill it; 3. open the planning link sent via email; 4. open the same URL while logged out. Issue ----- The datetimes of the open slot are displayed in UTC. Cause ----- Commit cf256e94d333 modified the planning template to use the `datetime` widget to format the dates instead of the `format_datetime` function provided by the `ShiftController`. Doing so
Original PR description
Versions -------- - 16.0+ Steps ----- 1. Create an open slot in a planning; 2. publish & send an email to an employee who could fill it; 3. open the planning link sent via email; 4. open the same URL while logged out. Issue ----- The datetimes of the open slot are displayed in UTC. Cause ----- Commit cf256e94d333 modified the planning template to use the `datetime` widget to format the dates instead of the `format_datetime` function provided by the `ShiftController`. Doing so, it lost access to the `employee_tz` value, derived from the email recipient, and hence defaulted to UTC. Solution -------- Format the dates using `format_datetime`. opw-3967787 Forward-Port-Of: odoo/enterprise#66231 Forward-Port-Of: odoo/enterprise#66015
Currently the warning of the partner VAT listing is never shown. In 88b449b08e21700e9dd113250125b2c3daa65a0f (17.2) the warnings for custom report handlers were moved from `_custom_line_postprocessor` to a new function called `_customize_warnings`. Currently this is not the case for the partner VAT listing. This commit does the necessary change for the partner VAT listing. (This commit does not belong to any task) Forward-Port-Of: odoo/enterprise#64313
Original PR description
Currently the warning of the partner VAT listing is never shown. In 88b449b08e21700e9dd113250125b2c3daa65a0f (17.2) the warnings for custom report handlers were moved from `_custom_line_postprocessor` to a new function called `_customize_warnings`. Currently this is not the case for the partner VAT listing. This commit does the necessary change for the partner VAT listing. (This commit does not belong to any task) Forward-Port-Of: odoo/enterprise#64313
Adapt history revision tour after the improvements done on the comparison feature. task-3761721 Forward-Port-Of: odoo/enterprise#66069 Forward-Port-Of: odoo/enterprise#60061
Original PR description
Adapt history revision tour after the improvements done on the comparison feature. task-3761721 Forward-Port-Of: odoo/enterprise#66069 Forward-Port-Of: odoo/enterprise#60061