Thursday, May 19, 2022
17 changes · master
Enhancements to existing features
The mail app now manages channel member lists through a dedicated internal view model. This helps make chat and discussion interfaces easier to maintain and more reliable, with limited direct change for end users.
The Archive option is moved out of prominent form buttons and into the Actions menu, where archived records can be restored with a clearer Restore action. This reduces accidental archiving during onboarding and helps users understand where to recover records, with related updates so list and kanban views refresh correctly after archive-related actions.
Original PR description
In an onborading, poeple click on "Archive" -> they don't find the task anymore. Remove "Active" button from the stat bar and move it in the "Action" (only in form). The label is "Archive". When it is Archived, the button become "Restore" 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
This update adds a shared way for automated tests to simulate different screen sizes consistently across mail and web components. It reduces the risk of inconsistent test conditions, helping teams validate mobile and desktop behavior more reliably without affecting end users directly.
Original PR description
Until now, when we add to patch the ui size, we would have patched one of the following:
- config.device.{isMobile,size_class}
- env.isSmall / env.services.ui.{isSmall/size}
- browser.innerWidth / window.innerWidth
The issue is that patching one does not affect the others resulting in an incoherent state.
In order to ease ui size patching, the `patchUiSize` method has been introduced. This method
take either a size or a width as parameter (eg. SIZES.SM, 1920) and affect all the properties above.
task-2582313
enterprise: https://github.com/odoo/enterprise/pull/27428Learners can now manually mark eligible course lessons as done or not done, giving them more control over their progress tracking. Quizzes and certifications remain completion-based to preserve assessment integrity, while course pages and fullscreen views behave more consistently.
Original PR description
Purpose ======= Allow the users to themselves mark their course as "done" or "not done" Specifications ============== When the course is a "Training" in fullscreen or in non-fullscreen, or when the course is a "Documentation" in fullscreen mode, allow the user to click on the "done" button in the sidebar. When the course is a "Documentation" in non-fullscreen mode, add a button "Mark Not Done" when the slide is done. The quiz and the certification cannot be marked as done manually, the user has to complete the questions for that. A certification cannot be marked as "Not Done" (but a quiz can). Technical ========= As the fullscreen view and the non-fullscreen view will share a lot of code, make a common class to avoid redundancy. Task-2604792
The mailing list Kanban view has been redesigned to make ungrouped lists easier to scan in a full-width, list-style layout. Users also get faster actions to import contacts or send mailings directly from the list, while grouped views keep the familiar card layout.
Original PR description
Purpose ======= Replace the current "card style" Kanban design by a "list style" design. When the Kanban view is grouped, we use the old "card design". Task-2737782
The online shop now uses smaller product images in grid layouts when they are visually sufficient. This helps pages load faster and reduces bandwidth use without noticeably affecting image quality.
Original PR description
This should improve the page loading time. Now, setting 2 columns per line will use the 1024px picture 3 or more : 512px If the picture is set bigger (2x1 or more, the 1024px version will be used) task-id : 2823110 related : https://github.com/odoo/odoo/pull/86294 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves everyday usability in the Project app with clearer examples, better defaults, cleaner task views, and a new way to find tasks due today. It helps teams create project records faster, keep task accounting aligned, and navigate project information more easily.
Original PR description
Purpose of this commit to improve generic usage of project app. So, in this commit done following changes: -change the placeholder of the name to 'e.g. Monthly review' in project_update_view_form…
Purpose of this commit to improve generic usage of project app. So, in this commit done following changes: -change the placeholder of the name to 'e.g. Monthly review' in project_update_view_form -set the 'analytic account' of the project on the tasks by default -change the placeholder to 'e.g. Product Launch' in project_milestone_view_form -the 'cabinets' milestone should be linked to a milestone service, not a manual one so change data to milestone in demo data -rename the 'rating' stat button into 'last rating' in view_task_form2 -set another employee than Mitchell for the 'customer care (prepaid hours)' SOL field in sale_service_demo_data -display a separator on the right of the stat button so remove unwanted properties in project_rightpanel.scss -add the 'name' field to the 'fields to export' when 'i want to update data' is set to true -remove the 'Getting Things Done (GTD)' example from kanban examples wizard -add a 'tasks due today' filter that should return tasks whose deadline falls on today's date in view_task_search_form task-2809188
The population command now supports profiling and safer rollback options, helping teams inspect performance and repeat data generation without record conflicts. This mainly benefits internal testing and development workflows, especially for smaller datasets where profiling overhead is acceptable.
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
A new automated test checks that project cost balances update correctly when timesheets are recorded. This helps ensure project profitability and cost reporting stay reliable when employee time is logged.
Original PR description
This commit adds a unit test to check if the value of
`analytic_account_balance` field in a project is the one expected when a
timesheet is added into this project.
The analytic account balance value expected should be equal to
`timesheet_cost * timesheet_unit_amount * -1`, where:
- `timesheet_cost`: the employee cost or the cost set on an employee mapping
defined in the project.
- `timesheet_unit_amount`: the number of hours/days set on the timesheet.
task-2783686This update makes several Odoo forms easier to understand and edit by adding helpful placeholder text and improving longer text fields. Users working with surveys, activity types, mass emails, and action help text should have a smoother editing experience with less guesswork.
Original PR description
Improves UX by adding placeholders to clarify the purpose of some inputs and changing some field layout to ease the edition (with the use of multi-lined editor). Details: Some placeholders have been added: - description field of survey.question - default_note field of mail.activity.type - summary of mail_activity_type_view_form Some field layouts have been turned into multi-lined editor: - default_note field of mail.activity.type - write a message in mass mail mode (email_compose_message_wizard_form) Added border for field help of edit action (class oe-bordered-editor) Task-2766291 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
This update streamlines how some core system messages are translated, avoiding unnecessary translation work when only one message is shown. It also improves reliability by falling back to English text if a translation is incomplete, helping prevent confusing or broken error messages.
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Payroll reporting is improved with cleaner country-specific measures, more grouping options, and support for custom measures. Belgian payroll gains new employer tax redistribution rules, CO2 payroll reporting additions, and better collaboration tracking on payslip batches.
This update improves how automated tests simulate different screen sizes in the enterprise mail module. It helps keep test conditions consistent across mobile and desktop scenarios, reducing the risk of interface issues going unnoticed.
Original PR description
Until now, when we add to patch the ui size, we would have patched one of the following:
- config.device.{isMobile,size_class}
- env.isSmall / env.services.ui.{isSmall/size}
- browser.innerWidth / window.innerWidth
The issue is that patching one does not affect the others resulting in an incoherent state.
In order to ease ui size patching, the `patchUiSize` method has been introduced. This method
take either a size or a width as parameter (eg. SIZES.SM, 1920) and affect all the properties above.
task-2582313
community: https://github.com/odoo/odoo/pull/91540Appointment setup screens now show helpful placeholder text for introduction and confirmation message fields. This makes it easier for staff to understand what content to enter, reducing confusion during configuration.
Original PR description
Add placeholders to clarify the purpose of some inputs Details: Placeholders have been added in appointment_type_view_form for fields: - message_intro - message_confirmation Task-2766291
This update adds and improves automated checks for Field Service, sales, stock, reporting, worksheets, and timesheet timer behavior. It helps reduce the risk of regressions in common service workflows such as creating field service projects, preparing service reports, pricing materials, managing stock deliveries, and rounding timer entries.
Original PR description
Before these changes: - Many cases were not tested After these changes: ** industry_fsm: - Testing task_timer_min_duration_and_rounding - Testing auto_create_fsm_task when new company created ** industry_fsm_report: - Testing worksheet_without_studio_installed - Testing project_worksheet_template_propagation ** industry_fsm_sale: - Improve fsm_flow - Improve fsm_sale_pricelist - Add analytic_account_balance ** industry_fsm_sale_report: - Testing service_worksheet_template_propagation ** industry_fsm_stock: - Testing modify_quantity_for_tracked_product_by_lot_and_sn ** timesheet_grid: - Moving test_fsm_task_timer_min_duration_and_rounding to timesheet_grid Related PRs: community: https://github.com/odoo/odoo/pull/87405 Task-2783686
Odoo Studio now handles removed view elements more safely by hiding standard elements instead of deleting them outright. This makes it easier to preserve core view structure and avoid difficult-to-reverse customizations, while still allowing Studio-created elements to be removed.
Original PR description
[IMP] web_studio: hide non-studio elements instead of removing them When removing elements from views through Studio, the behavior was to create an xpath node with the attribute `position` set to `replace`. Removing elements this way can be problematic for non-custom, basic elements and the removed elements can't be reset easily, only by resetting the whole view. After this commit, the elements will be differentiated: - if they were previously created through Studio, they can be removed - if they are non-studio elements, they should be hidden
New spreadsheet pivot and list tables now include useful context in their names, such as the first grouping or sorting field. This helps users distinguish similar tables more easily and reduces confusion when several reports are inserted from the same menu.
Original PR description
### Description When inserting a new pivot/list in a spreadsheet, the name of the new table is only build according to the menu the table in included from, leading us to multiple list/pivot with the same name. The idea of this commit is to add some more information in the name, leading us to this kind of structure : 1. PIVOT VIEW: `<action name>` -> `<action name> by <first grouping>`, where 'first grouping' is the field label of the first group, giving priority to column over row 2. LIST VIEW: `<action name>` -> `<action name by <first sorting>`, where 'first sorting' is the field label of the first sorting ### Related Task - task-2832690