Friday, July 23, 2021
32 changes · master
New functionality added to Odoo
Adds sample project and sales timesheet data so the yearly burndown chart is populated in demo environments. This helps users preview how the chart looks and understand project progress reporting without needing to create a full year of task data first.
Original PR description
Before this commit- Burndown chart for a year was nearly blank due to lack of data of task. After this commit- In this commit, Demo data for the burndown chart is added in different spans of time duration for a year. So burndown chart is filled with the kindred project app task's data. Task - 2504119 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
Enhancements to existing features
Odoo's web interface now allows developers to register Tab and Delete keyboard shortcuts through the hotkey system. This enables more consistent keyboard navigation and shortcut handling in future web features, with minimal direct impact on end users today.
Original PR description
Description of the issue/feature this PR addresses:
This PR adds ability to track Tab & Delete shortcuts via hotkey_service.
Current behavior before PR:
Developers can't use hooks `useHotkey("Tab", ...)` or `useHotkey("Delete", ...)`
Desired behavior after PR is merged:
Developers can use hooks `useHotkey("Tab", ...)` or `useHotkey("Delete", ...)`
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prResolved issues and error corrections
This update fixes several visual and usability issues introduced after recent interface changes. Users should see more consistent dropdowns, input fields, date pickers, calendars, and dashboard elements across affected Odoo apps.
Original PR description
Solves several post-merge owl design issues pad: https://pad.odoo.com/p/wowl-bugs task: 2579123 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Features or functions removed from Odoo
The message search option in Discuss has been removed because it produced unreliable results and did not scale well in large conversations. This avoids confusing search outcomes for users while the team considers a better approach for searching discussion content in the future.
Original PR description
It is a feature we would like to have, but it currently doesn't work well. - Search is text based, but messages are HTML based, which means a lot of result make no sense because they match HTML tags, attributes, ... Inversely when searching for multiple words that do exist together but are separated by tags, it will fail to find them. - Content of messages is actually not indexed, which means the search doesn't scale in big channel or with long messages. Indexing it is not trivial and has a huge cost in terms of storage and dependencies (trigram index for example). - The search of the control panel is great for business documents but it does not fit the kind of searching UI that we would like inside discussions. It is therefore decided to remove the feature until we are able to do it well. Part of task-2369636 More information also on task-2359037
Miscellaneous changes
makes raw a bit more expensive than necessary on creation Forward-Port-Of: odoo/odoo#73948
Original PR description
makes raw a bit more expensive than necessary on creation Forward-Port-Of: odoo/odoo#73948
The accounting tax summary widget has been modernized using Odoo's newer interface framework. This should make the tax breakdown area easier to maintain and more consistent, while preserving the business workflow for invoices and tax reporting.
Original PR description
Refactor the tax group widget with the new JavaScript Odoo Framework: OWL. This widget has 2 different components, one representing a tax group and one representing the list of tax groups. **Task ID:** #2312900 **Initial Task ID:** #1986412 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Contact tag management now includes a color picker in both list and form views, making it easier for users to visually organize and distinguish tags. The update also improves field wording and guidance when creating or editing tags.
Original PR description
Description of the issue/feature this PR addresses: This PR applies some minor changes to the 'Contact' module: It will (1) add a color picker to the 'Contact Tags' sections, (2) update the placeholder of the field `name` and (3) update the label of the field `color`. Current behavior before PR: The list view and the form view of the 'Contact Tags' sections do not have a color picker. Desired behavior after PR is merged: The list view and the form view of the 'Contact Tags' sections have a color picker. Task id: 2608410 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Project app receives usability improvements across project, task, timesheet, sales, calendar, and rating screens. These changes make day-to-day project management workflows smoother and easier for users to navigate.
Original PR description
Generic UX improvements for the project app. task-2501760 See odoo/enterprise#18819
The Project app received general usability improvements to make planning and task management smoother. These updates refine the interface, including task views and Gantt styling, helping users work more comfortably and efficiently.
Original PR description
Generic UX improvements for the project app. task-2501760 See odoo/odoo#71232
Planning users can now unpublish multiple selected shifts at once and receive a clear notification about whether any shifts were unpublished. The public-facing message for unavailable or updated open shifts was also clarified so employees know to contact their manager.
Original PR description
Purpose of the commit is to do the generic improvements in planning app. So in this commit, done the following changes: - Add an 'unpublish' action that should unpublish the selected shifts display green notification "The shifts have successfully been unpublished." else, display yellow notification "There are no shifts to unpublish.". - change the view helper on the front-end to: "This open shift is no longer available, or the planning has been updated in the meantime. Please contact your manager for further information.". **TaskID**: 2582175
Standalone labels in forms now correctly appear muted when their related field is empty, including cases where the label loads before the field itself. This improves visual consistency and helps users more clearly distinguish empty read-only form values, including signature fields.
Original PR description
PURPOSE When standalone label is rendered in form view class o_form_label_empty is not added due to which label text is not muted. SPEC When standalone label is rendered, label is sometime rendered before field widget is rendered due to which o_form_label_empty class is not added to label, with this commit we postprocess labels so that o_form_label_empty is added on all field labels. TASK 2523197 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 fix restores normal scrolling in reports, so users can view longer report content without being blocked. Scrolling remains disabled only in report preview, preserving the intended preview behavior.
Original PR description
Description of the issue/feature this PR addresses: task-2355704 introduced a bug which prevented scrolling in reports, instead of only in report preview. This PR fixes this bug. task-2586245 Current behavior before PR: Scroll in reports was disabled. Desired behavior after PR is merged: Scroll in reports are enabled, but scrolling is disabled in report preview. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes minor design issues introduced after recent interface changes. Form buttons and list borders now display more cleanly, and the website apps switcher can scroll vertically so users can access all options more easily.
Original PR description
Solve owl post-merge design issues task-2604186 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The command palette now avoids showing actions that belong to a different active page element. This helps users see only relevant commands, reducing confusion and preventing accidental use of the wrong action.
Original PR description
This commit avoids displaying commands associated with the wrong active element in the palette command. 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 fixes an issue where website pages created by the configurator could display special characters incorrectly. Business users benefit from cleaner, correctly rendered website content without needing manual corrections.
Original PR description
Before this commit, some snippets that contains special charactere like –
was wrongly displayed, since we removed the call to pycompat that did a
decode('utf-8') in previous version.
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-prThis fixes how the Live Chat module declares the files it depends on, helping ensure the feature loads reliably. It is a minor internal correction that reduces the risk of broken chat assets after recent related changes.
Original PR description
Follow up on https://github.com/odoo/odoo/pull/73500 Follow up on https://github.com/odoo/odoo/pull/73201
Manufacturing users can now add components to a production order even when no bill of materials is set. This prevents an unexpected error and keeps manual production order setup moving smoothly.
Original PR description
Usecase: - Create a production order without BoM - Add a component -> Traceback precision_rounding should be different than 0 It's due to a compute that try to access the UoM rounding while the UoM is not yet set in this case
Demo helpdesk tasks are now created in the team's own project instead of the unrelated Office Design project. This keeps demo burndown chart data accurate, making sample reporting easier to understand and evaluate.
Original PR description
Currently, the task is created in `office design` project and due to that burndown chart demo data was broken. so this commit, create a task in team's project instead of `office design` Related community PR: https://github.com/odoo/odoo/pull/73426 TaskID: 2504119
This update fixes several visual issues introduced after recent interface changes, improving readability and alignment across menus, forms, and touch devices. Users should see clearer text, more consistent input fields, and better spacing on mobile screens, especially in the Enterprise web interface and Appraisals demo content.
Original PR description
Solves several post-merge owl design issues pad: https://pad.odoo.com/p/wowl-bugs task: 2579123
Steps to reproduce the bug: Enable Multi Currency > Accounting > Create Customer Invoice in USD > Pay Invoice in EUR > click on payment and print payment receipt Bug: The currency symbol next to "Amount Paid" was in $ instead € opw:2506868 Forward-Port-Of: odoo/odoo#73685
Original PR description
Steps to reproduce the bug: Enable Multi Currency > Accounting > Create Customer Invoice in USD > Pay Invoice in EUR > click on payment and print payment receipt Bug: The currency symbol next to "Amount Paid" was in $ instead € opw:2506868 Forward-Port-Of: odoo/odoo#73685
Previously, the button Sale Order in a Project form could only be seen when the sale_timesheet module (installed automatically with the Timesheet, Sales and Project apps) is installed. Now, only the Sales and Project apps are needed to be able to display the Sale Order button. opw-2530161 Forward-Port-Of: odoo/odoo#73794 Forward-Port-Of: odoo/odoo#73239
Original PR description
Previously, the button Sale Order in a Project form could only be seen when the sale_timesheet module (installed automatically with the Timesheet, Sales and Project apps) is installed. Now, only the Sales and Project apps are needed to be able to display the Sale Order button. opw-2530161 Forward-Port-Of: odoo/odoo#73794 Forward-Port-Of: odoo/odoo#73239
Before this commit branding was removed only from nodes using t-esc and t-raw. This caused problems such as the ribbon preview rendering being propagated across all products because the oe-model/id/xpath fields were referencing the product card view itself. This appeared because of the conversion from t-esc/t-raw to t-out. The branding used to be removed from nodes using t-esc and t-raw, but it was not removed for t-out. After this commit the branding is also removed from nodes using t
Original PR description
Before this commit branding was removed only from nodes using t-esc and t-raw. This caused problems such as the ribbon preview rendering being propagated across all products because the oe-model/id/xpath fields were referencing the product card view itself. This appeared because of the conversion from t-esc/t-raw to t-out. The branding used to be removed from nodes using t-esc and t-raw, but it was not removed for t-out. After this commit the branding is also removed from nodes using t-out. This restores the old way the ribbon preview was rendered, and therefore also fixes the issue described in the related task. task-2527056 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 Forward-Port-Of: odoo/odoo#73503
Fixes taking a half day outside of working hours counting as half a day instead of nothing. See odoo/odoo#68977 Manual fw-port of https://github.com/odoo/odoo/pull/71135 cc @tivisse Forward-Port-Of: odoo/odoo#74086
Original PR description
Fixes taking a half day outside of working hours counting as half a day instead of nothing. See odoo/odoo#68977 Manual fw-port of https://github.com/odoo/odoo/pull/71135 cc @tivisse Forward-Port-Of: odoo/odoo#74086
Before this commit, it could happen that the test fails. We may be waiting too long on the second click in the test and so the form switches to edit mode too early. Now, we don't await the click to keep sync. Forward-Port-Of: odoo/odoo#74140
Original PR description
Before this commit, it could happen that the test fails. We may be waiting too long on the second click in the test and so the form switches to edit mode too early. Now, we don't await the click to keep sync. Forward-Port-Of: odoo/odoo#74140
Use Case ------------- The cron run perfectly well when there is no concurrent transaction. But in real life users may interact with leads modified in the cron. This leads to two different issues Concurrent update ----------------- If a lead is modified in another transaction during a the transaction where the lead is modified. The parameter crm.assignment.commit.bundle allow to reduce the size of the transaction but before this commit the first transaction was always way longe
Original PR description
Use Case ------------- The cron run perfectly well when there is no concurrent transaction. But in real life users may interact with leads modified in the cron. This leads to two different issues…
Use Case ------------- The cron run perfectly well when there is no concurrent transaction. But in real life users may interact with leads modified in the cron. This leads to two different issues Concurrent update ----------------- If a lead is modified in another transaction during a the transaction where the lead is modified. The parameter crm.assignment.commit.bundle allow to reduce the size of the transaction but before this commit the first transaction was always way longer because it took the time to handle the bundle + the fetching of all the data at the begining of the cron. The solution: start a new transaction after the preparation of the data is done Missing record -------------- If the a lead is deleted in another transaction before the transaction that modified the lead starts. The code will then try to access a record which does not exist anymore in the database causing a Cache Miss and Missing record error. The solution: Make sure a record exists in the current transaction before using it. It reduce a little bit the performance of the cron but avoiding the crashes is at this price. Discussion ---------- This commit does not remove completely the risk of crash due to concurrent update but reduce its probability a lot. To remove the risk of crash, a proper exception management should be implement in a further commit task [2575277](https://www.odoo.com/web#id=2575277&action=333&active_id=250&model=project.task&view_type=form&cids=1%2C2%2C3%2C4%2C5%2C14&menu_id=4720) -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72676
New system of ir.asset doesn't clear specific website asset on uninstall. Now when we delete a website, we delete relate ir.asset. task-2611030 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 Forward-Port-Of: odoo/odoo#74153
Original PR description
New system of ir.asset doesn't clear specific website asset on uninstall. Now when we delete a website, we delete relate ir.asset. task-2611030 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 Forward-Port-Of: odoo/odoo#74153
https://github.com/odoo/odoo/issues/71842 Anonymous website users do not have access to the Customize menu obviously, but the `website.set_view_track` widget still attempts to extend the CustomizeMenu. The dependency can just be flipped around with the CustomizeMenu depending on the `website.set_view_track module` instead. It's the only place that the module is currently being referenced so it's only a single change. **Current behavior before PR:** The JavaScript from Odoo fails
Original PR description
https://github.com/odoo/odoo/issues/71842 Anonymous website users do not have access to the Customize menu obviously, but the `website.set_view_track` widget still attempts to extend the…
https://github.com/odoo/odoo/issues/71842
Anonymous website users do not have access to the Customize menu
obviously, but the `website.set_view_track` widget still attempts to
extend the CustomizeMenu.
The dependency can just be flipped around with the CustomizeMenu
depending on the `website.set_view_track module` instead. It's the only
place that the module is currently being referenced so it's only a
single change.
**Current behavior before PR:**
The JavaScript from Odoo fails if you're not logged in:
**Desired behavior after PR is merged:**
There's no missing dependencies issues causing parts of the JS to crash.
**Technical changes:**
- Moved the `TrackPage` widget to load only in editor assets.
- Included the `_attachTrackPage` functionality directly in the customize menu. No specific reason to have that split into 2 places, keeps the `TrackPage` widget a little more pure, dependencies a little less messy.
- Renamed `set_track_page.js` to `track_page.js` and `website.set_track_page` to `website.trackPage` because it is now only a standalone widget named `TrackPage`. It makes more sense to developers when importing `let TrackPage = require("website.trackPage");` instead of `set_track_page`.
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#74156
Forward-Port-Of: odoo/odoo#73805**PURPOSE** when you add a link in any of the buttons on the website with non HTML/XML page, it will raise the traceback as we fetch the content to find id to propose as a list of anchors. Reproduction Steps: 1) Add a button on the website using the editor. 2) Add link in URL (i.e. /robots.txt) 3) Traceback **SPECIFICATION** We are handling the catch if it will raise the traceback. task-2596392 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/subm
Original PR description
**PURPOSE** when you add a link in any of the buttons on the website with non HTML/XML page, it will raise the traceback as we fetch the content to find id to propose as a list of anchors. Reproduction Steps: 1) Add a button on the website using the editor. 2) Add link in URL (i.e. /robots.txt) 3) Traceback **SPECIFICATION** We are handling the catch if it will raise the traceback. task-2596392 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#74080
How to reproduce the problem: - Install sale_timesheet. - Create 2 service products: one with "Create a task in sales order's project" (e.g. Product X), and the other with "Don't create task" (e.g. Product Y), in the Service Tracking field. Both with "Milestones" as Service Invoicing Policy. - Create a Sale Order with these 2 products (with e.g. quantity of 10 for both). Confirm the SO. - Edit the SO. Put 5 in the "Delivered" column of the Product Y. Create Invoice and confirm it. - Go to t
Original PR description
How to reproduce the problem: - Install sale_timesheet. - Create 2 service products: one with "Create a task in sales order's project" (e.g. Product X), and the other with "Don't create task" (e.g. Product Y), in the Service Tracking field. Both with "Milestones" as Service Invoicing Policy. - Create a Sale Order with these 2 products (with e.g. quantity of 10 for both). Confirm the SO. - Edit the SO. Put 5 in the "Delivered" column of the Product Y. Create Invoice and confirm it. - Go to the Project app -> Overview (of the newly created project). - The "Other Revenues" is missing/not correctly filled Cause of the problem : the query to fetch the value would not take the invoiced Product Y into account, it should now work correctly. opw-2540624 Forward-Port-Of: odoo/odoo#74154 Forward-Port-Of: odoo/odoo#73506
Forward-Port-Of: https://github.com/odoo/odoo/pull/73405 Forward-Port-Of: odoo/enterprise#19783
Original PR description
Forward-Port-Of: https://github.com/odoo/odoo/pull/73405 Forward-Port-Of: odoo/enterprise#19783
Steps to follow to reproduce the bug: - Go accounting > configuration > Follow-up Levels - Enable 'Manual Action' for the first reminder - Go to the "Manual action" tab - Select any entry in the "Manual Action Type" field - Add any name in the "action to do" field - Go to any customer having invoice “Due” - Go to the customer due - Run the action newly added - An error is triggered Problem : The Chatter widget was removed and so "reload_mail_fields" event doesn’t exist anymore : h
Original PR description
Steps to follow to reproduce the bug: - Go accounting > configuration > Follow-up Levels - Enable 'Manual Action' for the first reminder - Go to the "Manual action" tab - Select any entry in the "Manual Action Type" field - Add any name in the "action to do" field - Go to any customer having invoice “Due” - Go to the customer due - Run the action newly added - An error is triggered Problem : The Chatter widget was removed and so "reload_mail_fields" event doesn’t exist anymore : https://github.com/odoo/odoo/commit/3fea5b2136627c1d7e83b2a5e111952fe3eb10a1 opw-2439998 Forward-Port-Of: odoo/enterprise#17860
When odoo is used with `/web/ `instead of `/web` the studio icon is searched for in `/web/web_studio/static/src/img/studio_icon_small.png` instead of `/web_studio/static/src/img/studio_icon_small.png` and the studio icon is not shown as not found. Info: @wt-io-it Forward-Port-Of: odoo/enterprise#19724
Original PR description
When odoo is used with `/web/ `instead of `/web` the studio icon is searched for in `/web/web_studio/static/src/img/studio_icon_small.png` instead of `/web_studio/static/src/img/studio_icon_small.png` and the studio icon is not shown as not found. Info: @wt-io-it Forward-Port-Of: odoo/enterprise#19724