Friday, October 13, 2023
24 changes · master
Enhancements to existing features
The domain selector now handles a wider range of filter rules and gives clearer guidance when a field, operator, or value is invalid. Users benefit from easier editing of advanced filter conditions, cleaner selection controls, and a more consistent interface across related screens.
Original PR description
### Main goals - Make the domain selector be able to display all domains accepted by the class Domain (domain.js) - Improve the edition/selection of values, e.g. for the operators in/not in - Improve…
### Main goals - Make the domain selector be able to display all domains accepted by the class Domain (domain.js) - Improve the edition/selection of values, e.g. for the operators in/not in - Improve the style/dom ### Changes/Specification **Edition of conditions** We call _condition_ a triple (_path_, _operator_, _value_). Each component can be edited via a dedicated _editor_. **Path editor** - a _valid_ path (a string or 0/1) is accepted by the path editor and edited via the model field selector. - an _invalid_ path is displayed with an error message "Invalid field chain" and a clear button. The button clear reset the path to a valid default path (e.g. ID). **Operator editor** - displays a selection of operators determined by the path field type (if any) - a _valid_ operator (see TERM_OPERATORS in expression.py) is added temporarily to the selection if missing - an __invalid_ operator is displayed with an error message "Invalid operator" and a clear button. The button clear reset the operator to a valid default operator (determined by the path field type) **Value editors** - the value editor used is determined by the path field type (if any) and the operator - each value editor has a set of supported value types - a value not supported is displayed with an error message, e.g. "Value not supported", and a clear button. The clear button reset the value to a default value accepted by the editor - (_basic editor_) In general, a supported value is edited via an input or a select/autocomplete dropdown when appropriate or a datetime picker. - editor for _in/not in_ operators: the current value is displayed as a list of tags (removable) and a value can be added via the suitable basic editor. - editor for _between_: two suitable basic editors are displayed **DOM/Style** - The dom has been refactored and now contains less elements/custom classes - The stylesheet has been almost emptied - Bootstrap is used intensively Task IDs: 3507123, 3508940
Event registrations are now confirmed by default, while unpaid sale-linked registrations no longer reserve seats until payment or order confirmation. This simplifies event management, removes redundant payment tracking, and improves registration views and seat availability handling.
Original PR description
We remove the is_paid field and based the logic on the payment_status as these two fields are a bit redundant. It is also in preparation to the removal of the field auto_confirm on the event.event model. The goal is to ease and simplify the management of registrations. Remove autoconfirm logic and simplify the flow of event registrations. Now a registration is by default considered as confirmed and the draft state is not used anymore by default. It is used in combination with sales before a registration is considered as paid. It allows to avoid blocking seats in an event while registration fees are not paid. task-3061849
This update prepares the file insertion experience for upcoming improvements in Knowledge. It makes shared file viewing and media dialog behavior easier to customize, helping future enhancements integrate more smoothly across Odoo apps.
Original PR description
Preparations for the rework of the Knowledge `/file` command (see [enterprise PR]) - Extract basic props needed by the `FileViewer` for `files` instances in a reusable `Mixin`. - Allow providing a custom `MediaDialog` class through `openMediaDialog` to allow Knowledge custom behaviors. - Export the rendering part of `save` for the `MediaDialog` so it can be overridden. [enterprise PR]: https://github.com/odoo/enterprise/pull/43488 task-3172056
Odoo has removed older background web service and environment components, replacing related notification handling with newer mechanisms. This helps simplify the platform and reduce maintenance risk, with changes mainly affecting internal web behavior rather than day-to-day business workflows.
This update makes the checkout country selection logic easier to extend in future customizations. It helps developers build on the online shop checkout flow more reliably without changing the customer-facing experience.
Original PR description
Changed _onChangeCountry and _changeCountry from website_sale.js to make them inheritable by returning the value of the promise instead of returning nothing. [RELATED PR](https://github.com/odoo/odoo/pull/130155#discussion_r1342821487) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Financial reports can now omit lines that have no value when reporting options request it. This makes reports cleaner and easier to review by keeping only lines with meaningful amounts or visible child lines.
Original PR description
In the enterprise PR, we allow to have a new options on reports that can hide line that are equals to zero under certain condition. A line should be visible depending on its value and the ones of its children. For parent lines, it's visible if there is at least one child with a value different from zero or if a child is visible, indicating it's a parent line. For leaf nodes, it's visible if the value is different from zero. This commit add the filter in the account_reports model. task: 3359936 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update streamlines generated styling across Calendar, Mail, Portal, Project, and Web areas by reducing duplicated CSS rules and using more direct style definitions. It helps keep the interface code easier to maintain without introducing visible functional changes for users.
Original PR description
task-3546717 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Tracked links now count each click separately, even when repeated from the same device. This gives businesses more accurate engagement metrics for campaigns and shared links.
Original PR description
This PR removes filter on ip so that each click should count as one. previously multiple clicks from the same device only counted as one, but now because of the ip removal, they are being counted as many times as you go to the link. task-3328661 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
Project screens now show customer ratings as a clearer score out of 5 instead of a percentage, making feedback easier to understand at a glance. The update also adds helpful placeholders for project stages and task types and reduces unnecessary clickable fields in task lists for a smoother user experience.
Original PR description
The purpose of this commit is to do generic improvements to the project.
In Commit, made the following changes:
- replace the rating % by the value out of 5 in the project kanban card.
- replace the rating % by the value out of 5 and satisfaction by average rating in the
project update right-side panel.
- project field should not be clickable in the task list view.
- add the placeholder in project stages and project task type.
task-2962386This update streamlines how on-screen pop-ups, menus, and guided tour pointers are positioned across Odoo. It makes these interface elements more consistent and easier to maintain, reducing the risk of display issues in future changes.
Website editors can now move images by dragging directly from anywhere on the image instead of using a separate move handle. This makes page editing more intuitive while preventing the browser's default image dragging from interfering with Odoo's own editor tools.
Original PR description
This commit permits to drag and drop images without using the `o_move_handle`. The user can directly drag the image in edit mode by grabbing the image itself. --- Before this commit when the user was dragging an image in the editor, the image was always dragged from the top middle of the image. Now the user can drag the image from anywhere on it. --- By default, images on websites can be dragged and dropped in browsers. As we have a custom drag & drop system, this commit removes the default drag & drop behavior during the edition of a website page. --- task-3369600
Payment methods are now configured and presented more consistently across checkout, customer portals, and provider settings. This helps customers better understand available payment options and gives businesses clearer payment configuration across sales, invoices, and delivery flows.
Original PR description
task-3516670
Employees can now analyze their own timesheets using pivot and graph views in the Timesheets app. This makes it easier to review time spent across projects and spot patterns without needing custom reports.
Original PR description
Improve added pivot view for my timesheet in the timesheet app. - Before this commit there was no pivot view for my timseet in timesheet app. - In this commit pivot view is added or my timseet in timesheet app. Task-3479322
Website pages must now have a URL, preventing pages from being created or kept without a web address. This simplifies website search behavior and avoids special handling for incomplete page records.
Original PR description
Commit [1] was made to avoid that the search snippet fails when there are pages without URLS. In master this can be reverted and the URL field can be made mandatory. [1]: https://github.com/odoo/odoo/commit/f75ec6131eff9165b06d42d27a49dd756387f4a0 task-3443119
Product label printing now lets users select a pricelist before generating labels. This helps businesses print labels with the correct customer, store, or promotional pricing instead of always using the default product price.
Original PR description
before this commit, on printing product labels there is no option to select the price list, always the printed price is the default product price after this commit, in the label printing wizard the price list field is introduced and user can select the price list before printing the labels  --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The project form now prevents users from creating new worksheet templates directly from the worksheet template field. This helps keep template management controlled and reduces accidental or duplicate template creation during field service project setup.
Original PR description
In Commit, made the following changes:
- disable the creation for the 'worksheet template' field in the project form view.
task-2962386Financial reports can now hide rows with zero values when appropriate, making reports easier to read and focus on meaningful figures. The option is enabled by default for tax reports and can be configured for other reports, with related filter layout improvements.
Original PR description
This PR allow to have a new options on reports that can hide line that are equals to zero under certain conditions. A line should be visible depending on its value and the ones of its children. For parent lines, it's visible if there is at least one child with a value different from zero or if a child is visible, indicating it's a parent line. For leaf nodes, it's visible if the value is different from zero. The option is by default put on tax report but can be applied in the settings of the report Also correcting a indentation problem task: 3359936
Odoo Studio templates are now loaded only when Studio is opened instead of being included in the main application load. This should make the regular backend lighter and faster, while Studio may take slightly more resources when first accessed.
Original PR description
Before this commit, the xml's of all the studio components, that is, used only in the StudioClientAction environment were included into the main `web.assets_backend` bundle. This was because many studio templates inherit from some template in web,mail and web_enterprise. After this commit, we resolve these dependencies the other way around: the relevant dependencies in xml are included in the `web_studio.studio_assets` that is lazy loaded when first entering studio. This is supposed to lighten the main assets bundle, while making the studio assets a bit heavier. Some more granularity is possible by cherry picking which templates are to be effectively included in the studio lazy loaded assets.
The signature request wizard now labels the employee email option as Work instead of Public, making the choice clearer for users. When only one employee is selected, the selected email address is shown underneath so users can confirm where the request will be sent.
Original PR description
One of selection possibilities in mail_to field of signature request changes from 'Public' to 'Work'. Also, mail value is displayed below but only if there's one mail (= one employee selected). task-3530707
This update removes older internal service layers and updates related notification displays to use the newer approach. It helps keep the platform easier to maintain and reduces reliance on outdated infrastructure, with minimal expected user-facing impact.
The Avatax connection test now shows its response in a popup titled "Test Result" instead of "User Error". This avoids confusing users by making it clear that the popup is an informational test outcome, not necessarily a problem.
Original PR description
"Testing" the Avatax connection opens a pop-up titled "User Error" and the detail of the Avatax response. It is not an error and the wording is therefore not coherent. We therefore replace the title by "Test Result". task-3540749
The domain selector has been updated across Enterprise apps to match recent platform improvements in editing, layout, and styling. This should make configuration screens and related workflows more consistent and easier to use, with supporting test updates to keep key business flows reliable.
Original PR description
Adapt the code to the changes brought in the domain selector by the corresponding community PR. Task IDs: 3507123, 3508940
Knowledge articles now offer a more flexible file block: users can preview files, rename how files appear in an article, and download or view them from public pages. The update also prevents unsaved article content from being lost when related files are deleted from the chatter.
Original PR description
Rework the `/file` command to add more flexibility and features: - Allow a file preview with the FileViewer - Allow to rename the file in the article (not the attachment itself) (that name will be used when downloading the file). In a technical point of view: - Store the attachment information as an object (`FileModel`) that is directly usable by the `FileViewer` and more detailed than the limited props that were available before. - Improve the custom `MediaDialog` used with the command so that it directly renders the `Behavior` block. - Fixes some minor issues related to this `Behavior`. see commits for a more detailed overview task-3172056
The WhatsApp event integration no longer includes an unused automatic confirmation setting, reducing configuration clutter. Related event sales status wording was also aligned, helping keep event workflows clearer and more consistent.
Original PR description
Remove auto_confirm option that is no longer used. For more details: odoo/odoo#126431 task-3061849