Daily updates from Odoo
Monday, September 23, 2024
12 changes · master
Enhancements to existing features
Automated walkthroughs were adjusted to match the updated message composer, where sending can now appear as a dropdown to support scheduled messages. This keeps business process tests for field service reports and Belgian payroll contracts aligned with the latest interface behavior.
Original PR description
\* = industry_fsm_report, test_l10n_be_hr_payroll_account Purpose: -------- In the community counterpart, the "send" button of the mail composer is replaced by a dropdown button when the composer is in mono-comment mode, to add an option that allows users to schedule the posting of messages. This commit adapts selectors in tours accordingly. Task-3877073
Studio approval settings now provide clearer help text and better aligned approval information, making the feature easier to understand and use. Approval groups can also be selected more flexibly because a technical identifier is no longer required.
Spreadsheet list insertions now apply formatting separately and use table styling instead of fixed borders. This makes inserted Odoo lists more consistent, easier to maintain, and better aligned with spreadsheet table behavior.
Original PR description
We currently insert lists with hardcoded borders and styles. This revision adds a new UI command to: - Split the style addition from the list datasource insertion - replace the current style by a table Task: 4178740
The Helpdesk team form now shows a placeholder in the company field to clarify what information users should enter. This small usability improvement helps reduce uncertainty when setting up or editing support teams.
Original PR description
This PR adds a placeholder in the company field on helpdesk teams to help users understand what kind of information is expected there. Task-3903387
Odoo Studio now warns when a deprecated Kanban configuration approach is used. This helps teams avoid adding setups that will no longer be supported after version 18.0, reducing future upgrade risk.
Original PR description
This will ensure that we do not introduce legacy kanban anymore, as they are deprecated and their support will be dropped after 18.0. Task~3992107
Users can now unschedule or delete planning slots directly from the Gantt popover, avoiding the extra step of opening the full form view. The update also standardizes how the unschedule action is defined, making the interface easier to maintain across planning and project views.
Original PR description
_*=planning, project_enterprise - In this PR add a new 'Unschedule and Delete' button to the gantt popover, which enables unscheduling or deletion of a slot directly from the popover without opening the form view. - in this PR remove the unschedule button code from javaScript and implement it in xml. task-3475452
Company-specific settings and values are now stored directly in a more structured database format, improving consistency and making reporting easier. This change also updates related accounting, payroll, documents, reporting, and data-cleaning areas to work with the new storage approach.
Original PR description
[IMP] core: jsonb company dependent fields use jsonb for company dependent fields 1. field type before: company dependent fields were non-stored and computed now: company dependent fields are stored…
[IMP] core: jsonb company dependent fields
use jsonb for company dependent fields
1. field type
before: company dependent fields were non-stored and computed
now: company dependent fields are stored fields whose column type is
jsonb with the format like '{"1": val1}'::jsonb
2. fallback
before: fallbacks of company dependent fields were stored in
ir_property.value_xxx `WHERE res_id IS NULL`
now: fallbacks are stored in ir_default.json_value in the format of
jsonfied write format
3. many2one
a. field.ondelete
before: only field.ondelete='set null'
now: support field.ondelete='set null' and field.ondelete='restrict'
b. field.index
before: no index
now: default 'btree_not_null' which index (col IS NOT NULL) for all
NOT NULL rows
c. reference exists
before: checked when get data from ir_property
now: cleaned when orm `unlink`. As a side effect, if a model is
referenced by a many2one company dependent field, this model
cannot have any field.ondelete='cascade' field. The developer
must override the `unlink` method to do the logical on delete
cascade in the ORM
4. _field_to_sql
before: not supported for company dependent fields
now: can be used by company dependent fields like normal fields to
generate reports
https://github.com/odoo/odoo/pull/175627
task: 3954610Several spreadsheet dashboards were updated to improve readability and business relevance. Changes include refreshed scorecard colors and layout, added accounting borders, and a subscription chart now showing MRR by product category instead of individual products.
Original PR description
some scorecards colors have a changed a graph in Subscriptions has changed (MRR by products -> MRR by Product Category) Some scorecard reorganisation Addition of borders in Accounting Task: 4195987
Helpdesk screens now better respect user permissions across related apps, reducing unnecessary access error messages. Buttons and information that users cannot access are hidden, making the support experience clearer and less confusing.
Original PR description
*= account,repair,loyalty,sale_loyalty,sale_timesheet,stock,timesheet. Improvement by restricting access errors for the user and hiding some stat buttons with no rights task-3912377
Access permission checks now use an existing user cache instead of repeated server lookups. This should make related actions in Documents and Knowledge slightly faster and more efficient without changing what users are allowed to do.
Original PR description
We replace some orm calls to has_access by calls to user.checkAccessRight in order to benefit from the cache available in user.
Subscription plans can now define whether a cancellation closes the subscription immediately or at the end of the current billing period. This gives businesses more control over cancellation policies and helps align subscription handling with customer commitments.
Original PR description
Before this PR, subscription plans lacked an option to specify whether the subscription should close immediately or at the end of the subscription period. After this PR, a new field has been added to subscription plans, allowing users to choose whether a subscription should close immediately or at the end of it's period. task-4035347
Tax closing is now managed separately for each tax report, so closing entries better match the specific report and company context. This improves accuracy, supports report-specific rounding needs, and prevents manual changes from being overwritten when closing moves are posted for branches or tax units.
Original PR description
This commit aim to improve the tax closing. - One tax closing per report - Closing values are now based on the report and not the move lines anymore - Custom expression on the tax report to compute the closing amount - Handling rounding difference out of the box - Use settings per report per companies to set the account for the closing -> removed from `account.tax.group` - Support Tax Rounded value for specific reports such as l10n_fr tax report - [TODO] Handle special cases such as oss report - [TODO] Rewrite a bunch of tests thats use the old system Fixes: - When posting a closing move in a branch or tax unit as the main company, all the move would be refreshed. So any manual modification would be lost Task-4019571 Related Community: https://github.com/odoo/odoo/pull/174001