Tuesday, December 17, 2024
19 changes · master
Enhancements to existing features
This update modernizes how several Odoo Enterprise areas build and process search conditions, preparing them for future platform changes. It should reduce technical debt and help keep project, spreadsheet, and studio reporting features compatible with upcoming core updates.
Original PR description
Remove usages of _where_calc and some methods that will be deprecated in the future. odoo/odoo#170009
This update removes obsolete styling classes from Kanban and related views after earlier simplification work made them unnecessary. It improves code clarity and maintainability with minimal expected impact for users.
Original PR description
- In an effort to simplify the Kanban architecture, we previously removed several SCSS and CSS elements from the Kanban view. As a result, many of the associated classes have become redundant and are no longer functional. - oe_grey class has been removed from the form view and replaced with the opacity-50 class. This commit aims to remove all such trivial and ineffective classes, improving overall code clarity and maintainability. Task-4202915
The bank reconciliation screen now uses clearer wording by changing “Set as Checked” to “Mark as Checked.” It also hides the Batch Payments tab when there are no relevant payments to reconcile and filters out already reconciled batch payments, reducing clutter for accounting users.
Original PR description
Changed "Set as Checked" to "Mark as Checked" and hide "Batch Payments" tab if there are no batch payments to reconcile on the Bank Reco Widget. Task: 4367035
The signing activity view no longer shows Upload PDF or New buttons that could not be used there. This reduces confusion and helps users focus on the actions that are actually available in that view.
Original PR description
before this commit, The `Upload PDF` and `New` buttons were visible in the activity view but were not functional because documents cannot be uploaded or created in this view. in this commit, remove these buttons to avoid confusion and improve the user experience. task-4277290
Resolved issues and error corrections
This update aligns the Italian Point of Sale fiscal document code with the latest POS naming conventions. It helps keep receipt and invoice flows compatible with recent platform changes without changing business workflows.
Original PR description
Rename methods used to fit the new camelCase naming scheme of POS methods instead of the previously used snake naming scheme
Features or functions removed from Odoo
An unused company country code field was removed from Malaysian reporting configuration. This is a minor cleanup that reduces unnecessary data fields and helps keep the system easier to maintain without changing day-to-day workflows.
Code cleanup and technical improvements
Demo data for IoT and self-ordering IoT has been reorganized into the dedicated demo area. This keeps sample data separate from regular setup data, reducing confusion during installations and maintenance without changing business features.
Original PR description
Demo data in those modules were in `data/` folder, they are now in the `demo/` one. Task: 4399091
Miscellaneous changes
It's not useful to keep the ZIP label in the calendar popover of tasks if there is no value to show. task-4221324 version-17.2 Forward-Port-Of: odoo/enterprise#73482
Original PR description
It's not useful to keep the ZIP label in the calendar popover of tasks if there is no value to show. task-4221324 version-17.2 Forward-Port-Of: odoo/enterprise#73482
A bug fix ensures bank reconciliation records keep their chosen line ordering after saving. This prevents lists from unexpectedly reordering, helping accountants continue their work with a consistent view.
Original PR description
This commit adapts a call to _parseServerValues with respect to a change in community (odoo/odoo#190691). task~4366529
An obsolete internal marker used in mailing duplicate checks was removed. Duplicate detection now relies on the actual message content, such as the body and attachments, keeping the process simpler without changing the user experience.
Original PR description
This context key is not used anymore. It was used to help determining duplicates in mailing mode. However we now check for the content (body, attachments, ...) which is considered as complete.
**Issue:** In dark mode, for current day, half days off are displayed with white background in the Field Service Gantt View for the working part.  **Expected:** In dark mode, worked half days should have same background as entire worked day for current date. **Steps to reproduce:** - Activate Time Off and Field Service apps and activate Dark Mode; - In `Time Off / Management / Time Off` create a n
Original PR description
**Issue:** In dark mode, for current day, half days off are displayed with white background in the Field Service Gantt View for the working part.…
**Issue:** In dark mode, for current day, half days off are displayed with white background in the Field Service Gantt View for the working part.  **Expected:** In dark mode, worked half days should have same background as entire worked day for current date. **Steps to reproduce:** - Activate Time Off and Field Service apps and activate Dark Mode; - In `Time Off / Management / Time Off` create a new half day off time for any employee under contract (e.g. Mitchell Admin) for the current day; - Approve and validate; - Move to `Field Service / Planning / By User`; - Remove all search filters and display using Gantt View by week or by month; - *(opt) Create a new task for the chose user if does not appear*; - Look at the current day cell of the user. **Cause:** No dark theme background color is set to override the light theme. **Fix:** Setup background color for dark theme by overriding hard coded light theme color: https://github.com/odoo/enterprise/blob/7778a8e45502da89e27910efab401d3556d8c7f7/web_gantt/static/src/gantt_view.scss#L21   opw-4368966 Forward-Port-Of: odoo/enterprise#75651
In small UI mode (designed for smartphones and mobile devices), new comment threads could not be added (through they could be replied to). Steps to reproduce: - Access a Knowledge article in mobile UI mode - Tap and hold on a word in an article body to create a selection - Scroll the toolbar at the bottom of the screen - Click on the Comment button This commit makes it so that users of mobile devices can now add new comment threads to a Knowledge article. task-4399014 Forward-Por
Original PR description
In small UI mode (designed for smartphones and mobile devices), new comment threads could not be added (through they could be replied to). Steps to reproduce: - Access a Knowledge article in mobile UI mode - Tap and hold on a word in an article body to create a selection - Scroll the toolbar at the bottom of the screen - Click on the Comment button This commit makes it so that users of mobile devices can now add new comment threads to a Knowledge article. task-4399014 Forward-Port-Of: odoo/enterprise#75654
In odoo/enterprise#70371, the manifest file for l10n_ee_rounding specifies the country 'ee'. However, since the module depends on l10n_ee_reports, adding 'countries' interferes with auto_install, leading to the module l10n_ee_rounding not being auto installed when l10n_ee_reports is installed. This commit removes the country specification from the manifest. no-task Forward-Port-Of: odoo/enterprise#75676
Original PR description
In odoo/enterprise#70371, the manifest file for l10n_ee_rounding specifies the country 'ee'. However, since the module depends on l10n_ee_reports, adding 'countries' interferes with auto_install, leading to the module l10n_ee_rounding not being auto installed when l10n_ee_reports is installed. This commit removes the country specification from the manifest. no-task Forward-Port-Of: odoo/enterprise#75676
Before this PR, it was not possible to override achievement report sql request. Before this PR, subscription achievements were only available throught MRR (sale.order.log) analysis. It would prevent to provide commission when no log was created during a period. This could happen when an important contract is renewed at the same conditions. This commit allows to compute commissions based on invoices and recurring plans. Task 4398351 Forward-Port-Of: odoo/enterprise#75493
Original PR description
Before this PR, it was not possible to override achievement report sql request.
Before this PR, subscription achievements were only available
throught MRR (sale.order.log) analysis. It would prevent to provide
commission when no log was created during a period. This could happen
when an important contract is renewed at the same conditions.
This commit allows to compute commissions based on
invoices and recurring plans.
Task 4398351
Forward-Port-Of: odoo/enterprise#75493Reproduce --- - install db in es_ES lang - -i room,website - open Meeting Rooms -> Rooms -> URL - BUG: some strings aren't translated opw-4292414 Forward-Port-Of: odoo/enterprise#74750
Original PR description
Reproduce --- - install db in es_ES lang - -i room,website - open Meeting Rooms -> Rooms -> URL - BUG: some strings aren't translated opw-4292414 Forward-Port-Of: odoo/enterprise#74750
**Steps to reproduce:** - Install contacts, accountant and l10n_be - Switch to a Belgian company - In Accounting settings, activate "Customer Addresses" and "SEPA Direct Debit (SDD)" - Create a contact: * Country: Belgium * Bank Account: [a Belgian IBAN] - Add an invoice address to the created contact - Go to "Accounting / Customers / Direct Debit Mandates" - Create a mandate for the created contact - Create an invoice with the invoice address as customer - Confirm the invoice -
Original PR description
**Steps to reproduce:** - Install contacts, accountant and l10n_be - Switch to a Belgian company - In Accounting settings, activate "Customer Addresses" and "SEPA Direct Debit (SDD)" - Create a contact: * Country: Belgium * Bank Account: [a Belgian IBAN] - Add an invoice address to the created contact - Go to "Accounting / Customers / Direct Debit Mandates" - Create a mandate for the created contact - Create an invoice with the invoice address as customer - Confirm the invoice - Try to pay with "SEPA Direct Debit" **Issue:** No valid SEPA mandate is found for the customer. **Cause:** The mandate search is performed on the ID of the customer. As the customer is an invoice address, he is not associated to a bank account and a SEPA mandate. All these data are configured for his commercial partner. **Solution:** Search the mandates based on the ID of the commercial partner. opw-4276655 Forward-Port-Of: odoo/enterprise#74763
Currently an error occurs when a user deletes 'manufacturer' or 'brand' product attributes and tries to install `website_product_barcodelookup`. error: `Exception: Cannot update missing record 'product_barcodelookup.product_attribute_lookup_5'` This error is generated because at the time of installing above mentioned module, it tries to update the value of the above-deleted product attribute. This commit solves the above issue by using `forcecreate="False"` to bypass record creation i
Original PR description
Currently an error occurs when a user deletes 'manufacturer' or 'brand' product attributes and tries to install `website_product_barcodelookup`. error: `Exception: Cannot update missing record 'product_barcodelookup.product_attribute_lookup_5'` This error is generated because at the time of installing above mentioned module, it tries to update the value of the above-deleted product attribute. This commit solves the above issue by using `forcecreate="False"` to bypass record creation if it violates checks. sentry-5771768396 Forward-Port-Of: odoo/enterprise#75030
when creating a new spreadsheet in document, the user is prompted to either choose a blank spreadsheet or choose to create them from a template. The view didn't list the name of the template. This commit shows the name of the template Task: 4363974 Forward-Port-Of: odoo/enterprise#75515 Forward-Port-Of: odoo/enterprise#74694
Original PR description
when creating a new spreadsheet in document, the user is prompted to either choose a blank spreadsheet or choose to create them from a template. The view didn't list the name of the template. This commit shows the name of the template Task: 4363974 Forward-Port-Of: odoo/enterprise#75515 Forward-Port-Of: odoo/enterprise#74694
api.readonly allows running the queries of an rpc call in readonly mode, on a replicate of the database, in order to better spread the load. So far, accounting reports didn't use them because, in some cases, their computation requires the creation of a temporary table. We improve that by introducing a new option key telling whether the report can run in readonly mode or not, depending on the fact such temporary table is in use or not. The value of this option key then influences which end point
Original PR description
api.readonly allows running the queries of an rpc call in readonly mode, on a replicate of the database, in order to better spread the load. So far, accounting reports didn't use them because, in some cases, their computation requires the creation of a temporary table. We improve that by introducing a new option key telling whether the report can run in readonly mode or not, depending on the fact such temporary table is in use or not. The value of this option key then influences which end point is called to compute the report between the regular one, or an api.readonly version of it. Forward-Port-Of: odoo/enterprise#75053