Daily updates from Odoo
Navigate
Branch
Thursday, May 1, 2025
28 changes
8 changes
Miscellaneous changes
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
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#84304
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
- 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
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#84310
`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
4 changes
Miscellaneous changes
When we reflect inherit models in the database, we walk through the MRO to have access to the module that added the info. This mean that we skipped the inherits created by delegate fields (the info is in the `_inherits` of the final model in the registry, but we don't process it as we don't know the origin module). Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read th
Original PR description
When we reflect inherit models in the database, we walk through the MRO to have access to the module that added the info. This mean that we skipped the inherits created by delegate fields (the info is in the `_inherits` of the final model in the registry, but we don't process it as we don't know the origin module). Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#208041 Forward-Port-Of: odoo/odoo#199109
This happened because the Partner Autocomplete service was returning an empty response for this particular GST number and the code was assuming that the name was always present. Sentry - 6327760196 Forward-Port-Of: odoo/odoo#206487
Original PR description
This happened because the Partner Autocomplete service was returning an empty response for this particular GST number and the code was assuming that the name was always present. Sentry - 6327760196 Forward-Port-Of: odoo/odoo#206487
<b>Steps to reproduce:</b> 1. Install website_blog. 2. Go to Website > Site > Blog Posts > Kanban View. <b>Issue:</b> The titles in the Blog Post Pages are not displaying correctly. When the titles had long text, they overflowed their container boundaries and visually overlapped adjacent UI elements. The text-truncate class was not solving the problem, causing the titles to still overlap. <b>Solution:</b> Fixed the text overflow by applying the d-block class dir
Original PR description
<b>Steps to reproduce:</b> 1. Install website_blog. 2. Go to Website > Site > Blog Posts > Kanban View. <b>Issue:</b> The titles in the Blog Post Pages are not displaying correctly. When the titles had long text, they overflowed their container boundaries and visually overlapped adjacent UI elements. The text-truncate class was not solving the problem, causing the titles to still overlap. <b>Solution:</b> Fixed the text overflow by applying the d-block class directly to the field element, ensuring proper containment and preventing overlap. opw-4635231 Forward-Port-Of: odoo/odoo#205367
When the user changes the language in My Profile and tries to save, a traceback will appear. Steps to reproduce the error: - Install ``sign`` and ``hr`` module. - Activate multi languages - Go to Sign > Reports > Green Savings - Click on the profile icon > My Profile > Change language > Save Traceback: ``` File "/home/odoo/src/odoo/saas-18.2/addons/web/controllers/action.py", line 90, in load_breadcrumbs if act['res_model'] and act['type'] != 'ir.actions.client': KeyError: 're
Original PR description
When the user changes the language in My Profile and tries to save,
a traceback will appear.
Steps to reproduce the error:
- Install ``sign`` and ``hr`` module.
- Activate multi languages
- Go to Sign > Reports > Green Savings
- Click on the profile icon > My Profile > Change language > Save
Traceback:
```
File "/home/odoo/src/odoo/saas-18.2/addons/web/controllers/action.py", line 90, in load_breadcrumbs
if act['res_model'] and act['type'] != 'ir.actions.client':
KeyError: 'res_model'
```
https://github.com/odoo/odoo/blob/e901707961cca623acf646f5272c156928125f43/addons/web/controllers/action.py#L89
Here, ``ir.actions.report`` action does not have ``res_model``.
So, it will lead to the above traceback.
sentry-6556212172
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#208033
Forward-Port-Of: odoo/odoo#20678712 changes
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
4 changes
Documentation and clarification updates
This pull request appears to add or update contributor license agreement documentation and minor repository text. It has no clear impact on Odoo business features or day-to-day user workflows.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
This happened because the Partner Autocomplete service was returning an empty response for this particular GST number and the code was assuming that the name was always present. Sentry - 6327760196 Forward-Port-Of: odoo/odoo#206487
Original PR description
This happened because the Partner Autocomplete service was returning an empty response for this particular GST number and the code was assuming that the name was always present. Sentry - 6327760196 Forward-Port-Of: odoo/odoo#206487
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
In GSTR-2B, while doing the matching for previous bills, we want to avoid The bills that are already reconciled and marked as partially matched or fully matched. Sometimes, it's possible that there can be more than one bill with the same The reference number and if any of them has been already reconciled then We want to avoid it again being reconciled in next return periods. opw-4744438 Forward-Port-Of: odoo/enterprise#84497
Original PR description
In GSTR-2B, while doing the matching for previous bills, we want to avoid The bills that are already reconciled and marked as partially matched or fully matched. Sometimes, it's possible that there can be more than one bill with the same The reference number and if any of them has been already reconciled then We want to avoid it again being reconciled in next return periods. opw-4744438 Forward-Port-Of: odoo/enterprise#84497