Daily updates from Odoo
Monday, April 7, 2025
12 changes · master
Enhancements to existing features
This update aligns the HR contract signing tests with a related change in how activity names are displayed. It helps ensure the system continues to validate the expected activity label format correctly.
Original PR description
In this PR, According to the Community PR, the activity name will be 'Activity Plan name - summary' That's why we need to change the test case Task-4327533
Code cleanup and technical improvements
The spreadsheet edition module was adjusted to stay compatible with recent internal changes to how spreadsheet ranges are handled. This keeps global filter editing working reliably while preparing the codebase for ongoing spreadsheet improvements.
Original PR description
Task: 4676075
Internal automated tests were adjusted to work with stricter blocking of unexpected web requests. This helps keep testing more reliable for accounting reports and document workflows without changing day-to-day user features.
Original PR description
See https://github.com/odoo/odoo/pull/202835
The IoT app now uses a single status field to track whether devices are connected. This removes duplicate information, reducing maintenance risk and helping keep device status displays consistent across IoT and Point of Sale flows.
Original PR description
In #81180, a `connected_status` field was added to the `iot.device` model in order to show the status as a banner widget. However, this meant that there were two separate fields for the connection status, `connected` and `connected_status`. This commit removes the `connected` field and replaces all usages of it with `connected_status`. Upgrade PR: https://github.com/odoo/upgrade/pull/7484 task-4652455
The partner ledger report has been reworked to use a dedicated reporting engine. This is an internal cleanup intended to make the report easier to maintain and evolve without changing the business workflow.
Miscellaneous changes
The Issue: Before this commit, the _onchange_type function in the account journal was not triggered, leading to inconsistencies in expected behavior, such as the failure to update the alias_name field when changing the journal type. The Fix: Invoke the _onchange_type super method. runbot-116669 Forward-Port-Of: odoo/enterprise#82446
Original PR description
The Issue: Before this commit, the _onchange_type function in the account journal was not triggered, leading to inconsistencies in expected behavior, such as the failure to update the alias_name field when changing the journal type. The Fix: Invoke the _onchange_type super method. runbot-116669 Forward-Port-Of: odoo/enterprise#82446
This commit is the counterpart of odoo/odoo#204833 which ignores the `t-translation` attributes in view compilers. As a consequence, this directive should no longer be in the list of accepted directives. Forward-Port-Of: odoo/enterprise#82898
Original PR description
This commit is the counterpart of odoo/odoo#204833 which ignores the `t-translation` attributes in view compilers. As a consequence, this directive should no longer be in the list of accepted directives. Forward-Port-Of: odoo/enterprise#82898
…with empty working schedule **Issue** When setting the working schedule to empty, opening the Gantt view is not possible as an error is displayed Steps to Reproduce: 1. Login as Mitchell Admin 2. Install Employees and Project apps 3. Go to Employees > Contracts 4. Select a contract from Mitchell Admin 5. Empty the Working Schedule Field 6. Set Planning or Attendances as work entries > Save 7. Go to project app 8. Select a project 9. Switch to the Gantt view 10. An error messa
Original PR description
…with empty working schedule **Issue** When setting the working schedule to empty, opening the Gantt view is not possible as an error is displayed Steps to Reproduce: 1. Login as Mitchell Admin 2.…
…with empty working schedule **Issue** When setting the working schedule to empty, opening the Gantt view is not possible as an error is displayed Steps to Reproduce: 1. Login as Mitchell Admin 2. Install Employees and Project apps 3. Go to Employees > Contracts 4. Select a contract from Mitchell Admin 5. Empty the Working Schedule Field 6. Set Planning or Attendances as work entries > Save 7. Go to project app 8. Select a project 9. Switch to the Gantt view 10. An error message appears 11. Expected Behavior: Gantt view should be displayed without errors. Actual Behavior: Gantt view is not displayed, and an error message appears. **Root Cause** The issue occurs because before processing the work intervals, the system checks for the presence and uniqueness of a calendar. If a user has no assigned schedule, the function attempts to process a None value, which results in an error when calling ensure_one in _attendance_intervals_batch. **Fix** To prevent the error, users without a working schedule are skipped when computing valid work intervals. If a user has no assigned schedule, they will not be included in _work_intervals_batch, ensuring the function executes correctly without attempting to process an empty calendar. opw-4462241 Forward-Port-Of: odoo/enterprise#81883 Forward-Port-Of: odoo/enterprise#79159
Issue: ======== There is an issue during the generation of invoices from subscription that causes the is_invoice_cron field on the sale order to remain `True`. This prevents the processing of transactions and, as a result, does not mark the invoices as paid. Furthermore, this issue blocks the generation of subsequent invoices. To reproduce: ============= 1. Create a subscription that does not require initial client payment, (can generate an invoice on the next invoice date). 2. Creat
Original PR description
Issue: ======== There is an issue during the generation of invoices from subscription that causes the is_invoice_cron field on the sale order to remain `True`. This prevents the processing of…
Issue: ======== There is an issue during the generation of invoices from subscription that causes the is_invoice_cron field on the sale order to remain `True`. This prevents the processing of transactions and, as a result, does not mark the invoices as paid. Furthermore, this issue blocks the generation of subsequent invoices. To reproduce: ============= 1. Create a subscription that does not require initial client payment, (can generate an invoice on the next invoice date). 2. Create 30 other subscriptions (equal to the batch size value) that cannot generate invoice until the client has made a payment. 3. Run the scheduled action “Sale Subscription: generate recurring invoices and payments.” 4. You will notice that the first Sale Order remains to “is_invoice_cron” as True Problem: ======== the condition to trigger the cron to invoice subscriptions is based on the number of subscriptions that can be invoiced in a batch. But we are taking all the subscriptions while it should be only the subscriptions that can be invoiced. Solution: ========= filter the subscriptions that can be invoiced before checking the condition to trigger the cron to invoice subscriptions. opw-4559250 Forward-Port-Of: odoo/enterprise#82477 Forward-Port-Of: odoo/enterprise#82340
According to the DATEV Format documentation, the VAT needs to be split into two columns instead of one. The first column being the country code (ISO 3166), and the second one being the remaining numbers. task-4600047 runbot : https://runbot.odoo.com/runbot/bundle/16-0-datev-export-roto-352476 Forward-Port-Of: odoo/enterprise#82104 Forward-Port-Of: odoo/enterprise#80843
Original PR description
According to the DATEV Format documentation, the VAT needs to be split into two columns instead of one. The first column being the country code (ISO 3166), and the second one being the remaining numbers. task-4600047 runbot : https://runbot.odoo.com/runbot/bundle/16-0-datev-export-roto-352476 Forward-Port-Of: odoo/enterprise#82104 Forward-Port-Of: odoo/enterprise#80843
Fix runbot error in `l10n_br_edi_pos` module. Some override were not takin into account the possibility to have several records in self. runbot error ID: 161535 Forward-Port-Of: odoo/enterprise#82299
Original PR description
Fix runbot error in `l10n_br_edi_pos` module. Some override were not takin into account the possibility to have several records in self. runbot error ID: 161535 Forward-Port-Of: odoo/enterprise#82299
Steps to Produce: - Generate offer contract from recruitment. - Sign the contract and submit it. - Open an existing offer and click on the stat button. issue: - stat button opens new contract from view as employee contract is False. Fix: - return applicant's newly created contract to the stat button. task-4610751 Forward-Port-Of: odoo/enterprise#80943
Original PR description
Steps to Produce: - Generate offer contract from recruitment. - Sign the contract and submit it. - Open an existing offer and click on the stat button. issue: - stat button opens new contract from view as employee contract is False. Fix: - return applicant's newly created contract to the stat button. task-4610751 Forward-Port-Of: odoo/enterprise#80943