Daily updates from Odoo
Thursday, May 1, 2025
12 changes · master
Enhancements to existing features
Studio’s field selector tests were updated to match the new behavior where date and datetime fields can offer follow-up options similar to relationship fields. This helps keep Studio aligned with the latest field selection experience and reduces the risk of test failures after the related platform change.
Original PR description
With https://github.com/odoo/odoo/pull/199094, in the model field selector it is possible to "follow relation" for date/datetime fields like for relational fields. Here we adapt a studio test to that change. Task ID: 4659055
Resolved issues and error corrections
Fixed an error that could stop users from previewing a confirmed subscription when the plan allows customers to close it through the portal. This helps sales and customer-facing teams review subscriptions reliably without running into an unexpected crash.
Original PR description
Version: - saas-18.3 Steps to reproduce: - Create a subscription with plan that allow to close subscription on portal. - Confirm subscription. - Click on preview Issue: - A traceback is raised when attempting to preview the subscription. Cause: - Previously, 'dataset.id' was being accessed on a NodeList returned by 'querySelectorAll', which caused a traceback since NodeLists don't have a direct 'dataset' property. Solution: - Updated the code to iterate over each message element and conditionally display them based on their dataset ID. This ensures the correct message visibility without errors. task-4728721
Miscellaneous changes
Before this commit, the Draft Entries filter on reports was randomly activated for some reports, but deactivated for others. Users may want to see the draft entries impacting their reports for a better control and verification before submitting it. task-4661810 Forward-Port-Of: odoo/enterprise#81860
Original PR description
Before this commit, the Draft Entries filter on reports was randomly activated for some reports, but deactivated for others. Users may want to see the draft entries impacting their reports for a better control and verification before submitting it. task-4661810 Forward-Port-Of: odoo/enterprise#81860
Steps: - Create a partner P - Create an invoice for 200 and a bill for 100 with P as partner - Go to P form view -> The 'Customer Statement' smart button show 200 instead of 100 This is because the total due does not take into account the accounts of type `liability_payable` in the unreconciled aml domain. With this commit, we adapt the domain to include the good accounts. We also include deprecated accounts. Although it is unlikely to have unreconciled aml from these accounts, it is ref
Original PR description
Steps: - Create a partner P - Create an invoice for 200 and a bill for 100 with P as partner - Go to P form view -> The 'Customer Statement' smart button show 200 instead of 100 This is because the total due does not take into account the accounts of type `liability_payable` in the unreconciled aml domain. With this commit, we adapt the domain to include the good accounts. We also include deprecated accounts. Although it is unlikely to have unreconciled aml from these accounts, it is reflected in the customer statement, so it needs to be computed in the total due. opw-4664402 Forward-Port-Of: odoo/enterprise#84527 Forward-Port-Of: odoo/enterprise#84310
Steps: ========== - Install pos_restaurant. - Enable Kiosk as self-ordering mode and allow products with zero selling price. - Configure a preparation display for the kiosk configuration. - Place an order with a zero total and proceed to the confirmation page. Issue: ========= - The order is marked as paid in the backend but is not shown in the preparation display. Cause: ======== - Currently, only orders paid via backend or online payment are loaded into the preparation display.
Original PR description
Steps: ========== - Install pos_restaurant. - Enable Kiosk as self-ordering mode and allow products with zero selling price. - Configure a preparation display for the kiosk configuration. - Place an order with a zero total and proceed to the confirmation page. Issue: ========= - The order is marked as paid in the backend but is not shown in the preparation display. Cause: ======== - Currently, only orders paid via backend or online payment are loaded into the preparation display. Zero-amount orders, although considered paid, are skipped from this logic. Solution: ======= - Update the `/pos-self-order/process-order/` controller to ensure that if an order is already marked as paid (even with zero amount), it is also processed and shown in the preparation display. task-4757076 Forward-Port-Of: odoo/enterprise#84508 Forward-Port-Of: odoo/enterprise#84304
- Change the termination report note date to mention the departure date instead of the notice period end Task: 4718395 Forward-Port-Of: odoo/enterprise#84485 Forward-Port-Of: odoo/enterprise#83824
Original PR description
- Change the termination report note date to mention the departure date instead of the notice period end Task: 4718395 Forward-Port-Of: odoo/enterprise#84485 Forward-Port-Of: odoo/enterprise#83824
`hr_recruitment_integration_monster` bases one of its view overrides on `<setting id="job_board">`. This element is added by the `hr_recruitment_extract` module, but there is no dependency between the two. `hr_recruitment_integration_monster` only depends on `hr_recruitment_integration_base` which only depends on `hr_recruitment`. `hr_recruitment_extract` depends on `hr_recruitment` but also `iap`, `iap_mail`, and `mail_enterprise`. If any of these last 3 modules is uninstalled, `hr_recruitme
Original PR description
`hr_recruitment_integration_monster` bases one of its view overrides on `<setting id="job_board">`. This element is added by the `hr_recruitment_extract` module, but there is no dependency between the two. `hr_recruitment_integration_monster` only depends on `hr_recruitment_integration_base` which only depends on `hr_recruitment`. `hr_recruitment_extract` depends on `hr_recruitment` but also `iap`, `iap_mail`, and `mail_enterprise`. If any of these last 3 modules is uninstalled, `hr_recruitment_extract` will be uninstalled and the `res_config_settings_view_form` view will explode the first time it gets resolved / validated. Forward-Port-Of: odoo/enterprise#84491
ISSUE: when trying to archive employees who are connected to planning slots an exception is raised REPRODUCE: - Select all employees - try to Archive - the `strptime` method needs the argument to be string but the values dict has the dates values as datetime objects. so, convert the values using `str` Task: 4734621 Forward-Port-Of: odoo/enterprise#83575
Original PR description
ISSUE: when trying to archive employees who are connected to planning slots an exception is raised REPRODUCE: - Select all employees - try to Archive - the `strptime` method needs the argument to be string but the values dict has the dates values as datetime objects. so, convert the values using `str` Task: 4734621 Forward-Port-Of: odoo/enterprise#83575
Issue: Congested Images when using resources in an appointment with more text as a description. Steps to reproduce: 1. Install appointment 2. Appointment > edit > Resources(with long description) 3. Go to appointment page(review) > Congested Logo Solution: Added flex-shrink-0 with .o_appointment_user_avatar class to prevent the avatar from shrinking in flex layouts. Updated the template to: Add margin to the avatar container for proper spacing. Removed align-items-center to allow
Original PR description
Issue: Congested Images when using resources in an appointment with more text as a description. Steps to reproduce: 1. Install appointment 2. Appointment > edit > Resources(with long description) 3. Go to appointment page(review) > Congested Logo Solution: Added flex-shrink-0 with .o_appointment_user_avatar class to prevent the avatar from shrinking in flex layouts. Updated the template to: Add margin to the avatar container for proper spacing. Removed align-items-center to allow the content to align naturally from the top. opw-4668023 Forward-Port-Of: odoo/enterprise#83200
After the merge of the `l10n_in_reports_tds_tcs` module into `l10n_in_reports` in commit https://github.com/odoo/enterprise/commit/a433371c22d04a9f3450f7641cdc6ee759c1357a, the report handlers for GSTR-1 and TDS-TCS were unified. Due to this, GSTR-1-specific warnings started appearing in TDS-TCS reports. These warnings triggered multiple search operations irrelevant to TDS-TCS, resulting in unnecessary processing and performance degradation. With this PR, the warnings are now properly differe
Original PR description
After the merge of the `l10n_in_reports_tds_tcs` module into `l10n_in_reports` in commit https://github.com/odoo/enterprise/commit/a433371c22d04a9f3450f7641cdc6ee759c1357a, the report handlers for GSTR-1 and TDS-TCS were unified. Due to this, GSTR-1-specific warnings started appearing in TDS-TCS reports. These warnings triggered multiple search operations irrelevant to TDS-TCS, resulting in unnecessary processing and performance degradation. With this PR, the warnings are now properly differentiated between GSTR-1 and TDS-TCS reports. This prevents unrelated warnings from being shown and stops unnecessary searches. Forward-Port-Of: odoo/enterprise#84478
*: pos_urban_piper_swiggy, pos_urban_piper_zomato In this commit: === - Added _get_jpeg_datas method to convert WebP images to JPEG using QWeb for better compatibility with UrbanPiper. - Updated _get_public_image_url to use the new JPEG conversion logic and improve attachment handling. - Removed convert_to_webp image option from product form view to ensure JPEG usage. - Corrected tax code generation logic for Swiggy and Zomato to avoid incorrect string interpolation. Forward-Port-Of: od
Original PR description
*: pos_urban_piper_swiggy, pos_urban_piper_zomato In this commit: === - Added _get_jpeg_datas method to convert WebP images to JPEG using QWeb for better compatibility with UrbanPiper. - Updated _get_public_image_url to use the new JPEG conversion logic and improve attachment handling. - Removed convert_to_webp image option from product form view to ensure JPEG usage. - Corrected tax code generation logic for Swiggy and Zomato to avoid incorrect string interpolation. Forward-Port-Of: odoo/enterprise#84456 Forward-Port-Of: odoo/enterprise#83413
Forward-Port-Of: odoo/enterprise#84395
Original PR description
Forward-Port-Of: odoo/enterprise#84395