Thursday, October 17, 2024
9 changes · 17.0
Enhancements to existing features
This improvement makes it easier for businesses and developers to customize how Belgian CODA bank files are processed in Odoo. Previously, customizing the file parsing required duplicating complex code; now it can be done through cleaner extension methods. This reduces maintenance burden and makes the system more flexible for organizations with specific bank file processing needs.
Original PR description
Before this commit it was very difficult to change the logic of the CODA file parsing, if not copy-pasting `_parse_bank_statement_file` method in `account.journal`.
This update streamlines the appointment booking process for users who are not logged in. The form flow has been simplified to make it easier and faster for guests to schedule appointments without needing to create an account first.
Original PR description
Simplify the form flow for non-logged users. Task-4154838 Forward-Port-Of: odoo/enterprise#72113 Forward-Port-Of: odoo/enterprise#69942
Resolved issues and error corrections
This update resolves an issue where the recurring invoice cron job would fail when consolidated subscriptions were not invoicable or free. The team has implemented a filtering process to handle these subscriptions separately, ensuring invoices are generated correctly and reliably. This improves the stability and accuracy of subscription billing.
Original PR description
Right now, if all consolidated subscriptions are not invoicable or are free, the recurring invoice cron job fails due to a singleton error We filter the subscriptions and handle them separately
This fix resolves a technical issue in the account reports module where grouping data by certain field types would fail when those fields contained empty values. The system now properly handles these empty values during sorting, ensuring reports generate without errors. This improves the reliability of account reporting features.
Original PR description
When doing a groupby on a non-relational field (e.g. a char), if the field contains NULL values in DB, they appear as `None` in the keys of the `group_lines_by_keys` dict. If the comparison operator is not implemented between the field type and `NoneType`, `sorted` will fail with a traceback. Solution: sort on keys `(k is None, k)`. if k is None, then `k is None = True`. Because `True > False`, these values are pushed to the end by the sorting. task-none Forward-Port-Of: odoo/enterprise#72008
This fix resolves an issue where Avatax taxes were being created in subsidiary companies instead of the parent company, causing duplicate tax name errors when processing invoices in the main company. The change ensures taxes are consistently created at the parent company level, allowing seamless tax calculations across all company branches.
Original PR description
Set up Avatax on a company Create Branch and switch to it Create an invoice with fiscal position Avatax Compute taxes > Taxes will be created in branch company Switch to main company Create an invoice with fiscal position Avatax again. Compute taxes > Error Error will block the action ``` Validation Error Tax names must be unique! - CA STATE TAX [06] (6.0000 %) in test ``` This occurs because we first created the taxes in the branch company. Then when retrieving taxes from the main company those taxes are not found and will be created again but we have a constraint that tax name must be unique opw-3962212
This fix prevents discount lines from sales orders from being incorrectly available for selection when creating billable helpdesk tickets. Previously, when a customer had a sales order with applied discounts (like coupon codes), those discount lines could be selected as billable items, which is incorrect. The fix restricts the available options to only legitimate service lines that should be billed.
Original PR description
Issue ----- - install helpdesk_sale_timesheet - activate loyalty feature - create a SO for a customer A for a service product, apply for example a coupon code on this SO - in a helpdesk project with Time Billing enabled, create a task for customer A - ** the discount SO line is available to select as a SOL item ** This commit improves the SOL domain in continuation of https://github.com/odoo/odoo/commit/d840a3b62627392e72ab4667922bc1cfca45815d opw-4212956 Forward-Port-Of: odoo/enterprise#71640
The rental scheduling system was showing incorrect warning messages to users. When a rental product was out of stock, the system incorrectly displayed "Other rental(s) in conflict" instead of clearly stating the product was unavailable. This fix clarifies the messages so users see the actual reason why a rental cannot be fulfilled—either because the product is not available or because of scheduling conflicts with other rentals.
Original PR description
Problem: The `is_available` flag was used to check both product availability and conflicts with other rentals. However, the UI message was misleading, stating "Other rental(s) in conflict" even when the product was simply not available. Steps to reproduce: - Create a rental product with a quantity of 0. - Add a rental order for that product. - In the Schedule Gantt view, hover over the order. - A warning appears stating "Other rental(s) in conflict," even though no other rentals exist on the same date; the actual issue is that the product is not available. opw-4085496 Forward-Port-Of: odoo/enterprise#69783
Fixed an issue where customer statement PDF reports now correctly print in the customer's preferred language when all customers in the report share the same language setting. This ensures better communication with customers by delivering statements in their native language.
Original PR description
When all the customers to print in the report share the same language, we need to print the report in that language. opw-4144771
This update removes unnecessary data that was being sent to the spreadsheet when inserting pivot views. The unused data could cause errors when it was too large to fit in the browser's storage. By removing this data, the system now works more reliably without affecting functionality.
Original PR description
Before this commit, the data given to the spreadsheet init callback in the case of inserting a pivot view was not used. This could lead to an error if the data was too big to be stored in the browser's session storage. This commit removes the useless data given to the spreadsheet init. Note that it's not necessary to write a new test for this, as the existing tests already cover this case. Task: 4255049 Forward-Port-Of: odoo/enterprise#71847