Saturday, November 4, 2023
28 changes · 17.0
Enhancements to existing features
The self-ordering flow now shows a loading screen while orders or menu data are being processed, helping customers understand that the system is working. Search is also easier to use because the input is focused automatically, and restaurant demo data now includes a combo menu for better examples.
Original PR description
- Add loading when rpc in progress. - Auto focus input search when button clicked
Website editors now have access to refreshed text highlight designs for page content. This gives marketing and content teams more visual options to emphasize key messages and improve page presentation without custom development.
Original PR description
task-3285817
Website input fields now use a standard white background with borders by default, making forms look cleaner and more predictable across themes. A new customization option lets designers choose a different input background color when a non-standard palette is needed.
Original PR description
This PR refactor the "inputs design system" by reverting the correlation `$input-bg == $light == color-3` initially introduced by https://github.com/odoo/odoo/pull/120302. Beside ensuring…
This PR refactor the "inputs design system" by reverting the correlation `$input-bg == $light == color-3` initially introduced by https://github.com/odoo/odoo/pull/120302. Beside ensuring color-consistency, the former system aimed to simplify palette edition by clarifying how `color-3` was used (simply all the UI elements...). While the former system was responsive to user customization and color-presets, it didn't necessarily delight everyone's discerning taste, at least not with default settings/palette. This commit enforces a classic "white with borders" design that's independent from the color palette and doesn't adapt to color-presets. The rationale behind this decision is that the need for non-white inputs is nonexistent and exceptional cases should be addressed using the SCSS editor. As a workaround for users that still wants to challenge themselves with the creation of "not standard" palettes/designs, this commit introduce a colorPicker option assigned to `$input-bg`. The hope is that this new controller help users finding a "compromise color" that could work with any color-presets. Embracing flexibility and open collaboration. task-3568806 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The tax usage check now looks at smaller relationship data instead of scanning large accounting tables, reducing delays on large databases. This helps accounting, purchasing, expenses, and point-of-sale workflows stay responsive when many tax records exist.
Original PR description
Problem --------- The compute_is_used function currently parses through a huge amount of data using the _read_group ORM function. Which causes some performance issues in large databases. Objective --------- Improve performance of the said function. Solution --------- Instead of reading the data on whole tables (ex.account_move_line), we read the relation table between the modules and the taxes. This is done using SQL queries with the EXISTS statement. Furthermore, the code logic is modified so that if all the taxes for which we compute `is_used` have been found, we don't look further in other modules since doing this cannot add any new relevant information and actually slows down the computation. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Account reports now clearly display which companies are being used in the report, making it easier for users working with multiple companies, branches, and tax units to understand the scope of their data. This improvement reduces confusion when generating reports across different organizational entities.
Original PR description
When having multi company (with branches and tax units) it may sometimes be a bit difficult for the user to realize what companies are currently used by the report. This commit adds under the filters, on top of the report the names of the companies present in the options dict with the key companies under certain conditions. task: 3573675
This update improves how pivot table data is processed and displayed in Odoo spreadsheets. The enhancement refines the ODOO.PIVOT.TABLE function to provide better data accuracy and consistency, ensuring that spreadsheet reports pull and display information more reliably from your business data.
Original PR description
Adat tests following the changes of https://github.com/odoo/odoo/pull/140674 Task: 3580153
This update improves the accounting reports experience by adding a quick configuration button directly on reports and enhancing how menu items are managed. Users can now easily access report settings, while the system automatically prevents duplicate menus, refreshes after manual menu creation, and properly handles menu cleanup when reports are deleted or archived.
Original PR description
This PR contains twos commits, one is an improvement on the composite reports and the second is a backport of this pr: https://github.com/odoo/enterprise/pull/49443. The goal of the first commit is to add a button on the reports next to the filters that will redirect to the configuration page of the report. On this page we have changed a placeholder and hide the use_section field in case the report has lines. While the backport adds the following improvements: - Automatic reload after manual menuitem creation. - A UserError is raised when trying to create a duplicate menuitem. - Any existing menuitem is removed when deleting a report, or archived when archiving the report. task: 3569038 and 3422314
This update adds tax letter identifiers to each line item on point-of-sale receipts in Belgium and Sweden. Tax letters help customers and auditors quickly identify the tax category applied to each product, improving receipt clarity and compliance documentation.
Original PR description
In this commit we add the tax letters corresponding to each orderline in the receipt. https://github.com/odoo/odoo/pull/140974
Resolved issues and error corrections
This update fixes issues in the Website editor, including a Safari problem that could prevent users from typing in menu URL fields and occasionally crash the browser. It also removes an unwanted white bar at the bottom of edited pages, making the editing experience smoother and cleaner.
Original PR description
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
Popovers opened inside dialogs now receive focus correctly, including fields that should be focused automatically. This improves keyboard navigation and avoids confusing cases where users cannot interact with the expected popover content.
Original PR description
This PR also includes `[IMP] web: soften the UI active element takeover` This is needed in order to make possible `[FIX] web: fix popover in dialog with useAutofocus`
This fix keeps employee org chart display changes limited to the HR org chart, avoiding unintended effects on other hierarchy views. It also prevents users from creating circular manager relationships by dragging a manager under one of their own subordinates, protecting the org chart from disappearing or becoming unusable.
Original PR description
## [FIX] web_hierarchy,hr_org_chart: move specific changes in hr_org_chart Before this commit, some recent changes altered the generic view for Org Chart view of `hr.employee` model. The problem is…
## [FIX] web_hierarchy,hr_org_chart: move specific changes in hr_org_chart Before this commit, some recent changes altered the generic view for Org Chart view of `hr.employee` model. The problem is those changes also altered the other hierarchy view used in others models. This commit moves the recent specific changes to hierarchy view of `hr.employee` model to be sure to alter only the org chart view of that model. ## [FIX] web_hierarchy: detect cyclic before altering the parent field Before this commit, the user could drag the first employee displayed in the gantt and drop him on one of his subordinate. By doing that, the manager of that employee will be his subordinate and a cyclic will occur and no record will appear when the org chart will be reloaded because no employee will have no manager set. This commit fixes the issue by improving the cyclic detection when the user uses the drag and drop feature. That is, the action will be blocking when the system detects the user tries to drag and drop a manager to one of his subordinates.
The spreadsheet component was updated to the latest compatible version. This fixes an issue where some spreadsheet calculations could use outdated results, helping users see more reliable data in Odoo spreadsheets.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/3184728ea [REL] 17.0.2 https://github.com/odoo/o-spreadsheet/commit/74e28e1c9 [FIX] evaluation: fix incorrect invalidation
Time off balances now ignore future leave requests tied to accrual allocations when showing current availability. This prevents employees or managers from seeing misleading warnings that suggest someone has exceeded their currently available leave.
Original PR description
Before this commit, leaves linked to accrual allocations taken in the future would still be takin into account in the display, resulting in a warning if the leave excessed the amount that the employee currently had allocated. This leave removes any future leave to be taken into account if the leave type has any accrual allocation set for the employee.
Generating or importing serial numbers now replaces the matching old stock lines instead of leaving them behind. This prevents completed quantities from being overstated and saves users from manually deleting outdated lines.
Original PR description
When generating serial numbers or importing them, the old lines are still present and the quantity done gets raised by the quantity of the added lines. This forces the user to manually remove each old line one by one. This ensures that old lines are removed by the amount of newly created lines. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes several issues that could block or confuse leave request creation. It ensures leave can be created when French holiday localization is installed, supports requests for multiple employees, and shows clearer error messages for different leave creation scenarios.
Original PR description
This commits fixes 3 issues: - Traceback on the creation of a new leave: If the french holidays l10n is installed, creating a new leave was impossible due to an override of a method was not adapted to a change on the base method `_get_duration` - Impossibility to create a leave for more than 1 employee: the validity check was only done for the employee set in employee_id, which was resulting in a traceback if the leave was created for more than one employee. - Wrong error message: Before this commit, the error message given to the employee if the leave isn't possible to create was directed to an employee creating is own leave. As this is not the only way to create a leave, the message has been adapted to reflect every situation.
Manufacturing order overviews now calculate readiness using the same reserved component quantities shown to users, including quantities reserved during multi-step manufacturing flows. This avoids confusing cases where components appeared reserved but the order still showed as not ready, and restores clearer wording in the PDF overview.
Original PR description
Previous to this commit, the qty reserved was only considering the currently reserved quantities in the MO, not the ones calculated and displayed in the MO Overview (i.e. including the quantities reserved in the picking during 2 step mrp). This would lead to showing reserved quantities but a "Not Ready" status, which is confusing and inconsistent. Now we pass the calculated component quantities to the method that calculates this state and ensure the calculation is consistent. Steps to reproduce: - enable 2 or 3 step mrp - create an MO with a component that is in stock at the stock loc - confirm MO and open "Overview" Also change "Quantity" back to "Reserved" in the pdf version of the MO Overview. This was a mistake change since this column name already exists and "Reserved" will be hopefully less confusing for users. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Validating time off now creates the related timesheet entries as expected, even when the time off type has no company set. This helps keep employee time records accurate and avoids missing timesheet data after leave approvals.
Original PR description
Befre this commit: timesheets are not being generated when validating time off After this commit: leave type form: in the absence of a company, we display the 'generate timesheets' boolean (in debug mode) and hide the project/task fields When generating timesheets from leave validation, we refer to the project/task set in the company of the employee if no company is set in the leave type
This update fixes several issues introduced by the recent calendar redesign, improving layout, spacing, scrolling, and clickability across desktop, tablet, and mobile views. It also restores smoother use of calendar-related features such as homeworking location buttons, event forms, sidebar filters, and sync controls.
Original PR description
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 restores the delete button (trash can icon) that appears when users select a time slot during the "Share your availabilities" action in the appointment scheduling feature. The button had disappeared after a recent calendar redesign and is now working again, allowing users to easily remove unwanted time slots.
Original PR description
Before this commit, during the "Share you availabilities" action, when you select a time-window, the trash can overlay which suggests the time-window deletion was not shown. After this commit, the trash can overlay is back suggesting this deletion. Task-id: 3570053
This update fixes display issues in the Aged Receivable report where amounts weren't showing correctly, and improves the audit functionality for both Aged Payable and Aged Receivable reports. The changes use a cleaner, more maintainable audit system that makes financial reporting more reliable and auditable for accounts teams.
Original PR description
This PR contains two commits each of which has a different purpose : --- The first commit is a cleanup of the Aged Payable audit as it can be improved a lot by using the new "action_audit_cell"…
This PR contains two commits each of which has a different purpose : --- The first commit is a cleanup of the Aged Payable audit as it can be improved a lot by using the new "action_audit_cell" method callable on any report. It is also done in order to fix an unwanted behavior on the Aged Receivable report where no amounts would appear in the different cells of the report. Find more information about it in the first commit's message --- The second commit makes the Aged Receivable report auditable as well. The current behavior of the Aged Receivable is not to be auditable but the way the audit of the Aged Payable has been made makes it easy for the Aged Receivable to be auditable as well so let's do it. Find more information about it in the second commit's message. --- After both these commits are merged, the Aged Receivable report's cells show the amounts they are supposed to at every time, the Aged Payable report's audit system is cleaner and the Aged Receivable is now auditable.
This update improves the visual appearance and design consistency of the room booking application. The team reviewed and refined the user interface styling, layout, and form elements to ensure a more polished and cohesive user experience across the app.
Original PR description
This commit reviews the UI of the app and fixes issues related to the design consistency. task-3570261
This fix resolves a system error that occurred when users tried to view helpdesk tickets after changing a product's type in a related sales order. The issue happened because the system couldn't find the expected product information. We've updated the code to handle this situation gracefully, preventing the error and allowing users to access their tickets without interruption.
Original PR description
When a user changes product type of a service type product which is used in a sale order and then try to access helpdesk ticket linked to that sale order, the error is generated. Steps to reproduce:…
When a user changes product type of a service type product which is used in a sale order and then try to access helpdesk ticket linked to that sale order, the error is generated.
Steps to reproduce:
- Install helpdesk_sale_timesheet module.
- Create a sale order by selecting a customer and adding product 'Customer Care (Prepaid Hours)' (which is a service type product) and click on confirm button.
- Now create a helpdesk ticket in VIP SUPPORT and select the same customer and sale order which you have created.
- Now again go to same sale order and click on 'Customer Care (Prepaid Hours)' product and change its type to 'consumable' from 'service', a warning will occur close it and click on save button.
- Now click on helpdesk ticket smart button, the error will occur.
Error:
```
File "odoo/http.py", line 2139, in __call__
response = request._serve_db()
File "odoo/http.py", line 1715, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 133, in retrying
result = func()
File "odoo/http.py", line 1742, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1943, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 191, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 717, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 34, in call_button
action = self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 26, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 466, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "odoo/api.py", line 453, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "home/odoo/src/enterprise/saas-16.4/helpdesk_sale_timesheet/models/sale_order.py", line 37, in action_view_tickets
default_sale_line = next(sol for sol in sorted_line if sol.product_id.detailed_type == 'service')
StopIteration: null
```
The error is occurring because the iterable has reached to its end in next function when condition in it is getting False over here - https://github.com/odoo/enterprise/blob/1188db8cba436b887331bef8e07f6f1fafbe1982/helpdesk_sale_timesheet/models/sale_order.py#L37
To solve this error we are giving default value to next function.
sentry-4560590481
Forward-Port-Of: odoo/enterprise#49593This fix resolves an issue where visitors could not be opened directly from the station view in the kanban interface. Users can now properly access and view visitor information from the front desk station, improving the workflow efficiency for reception staff managing visitor check-ins.
Original PR description
task-3577104
This fix resolves an access error that was preventing users from placing drink orders through the frontdesk module. The issue has been corrected in the order processing system, allowing employees to complete drink orders without encountering permission errors.
Fixed an issue where hovering over milestones in the Project Gantt view caused an error when viewing the timeline in yearly format. The problem was that deadline data wasn't being properly formatted as a date, which only became apparent in the year view. This fix ensures milestones display correctly regardless of the selected time period.
Original PR description
**Steps:** - Open Project - Select any project - Add a milestone in a task - Switch to its Gantt View - Now in the view, change from month to year - on the mouseover, the error appears **Issue:** - On the hover of the mouse, an error appears when we are viewing in 'year', but it's working perfectly fine when it is displayed in days, 'week', or 'month'. **Cause:** - The 'deadline' is having the string data type hence we do not get the output. **Fix:** - Formatting the data type of 'deadline' correctly and converting it to DateTime. **Task:** 3422009 Forward-Port-Of: odoo/enterprise#44251
This fix ensures that resources with no scheduled shifts are properly displayed as empty lines when searched in the planning view. Previously, these resources would not appear in search results, making it difficult for users to see all available resources. The fix adds a missing configuration setting to the planning view in the sales planning and project forecast modules.
Original PR description
- impacted modules:
- sale_planning
- sale_project_forecast
Steps
=====
- Install module sale_planning
- Create a resource with no shift associated to it
- In the main planning view, search the name of this resource
Issue
=====
No empty line is displayed for this resource.
Cause
=====
The main action of planning is overridden in sale_planning and sale_project_forecast to change is context. The context key 'planning_expand_resource' was not present in those overridden contexts.
Fix
===
The context key is simply added in the context of the main action in those two modules.
Forward-Port-Of: odoo/enterprise#50034
Forward-Port-Of: odoo/enterprise#49993This fix resolves an issue where the customer (partner) field was missing when creating tasks directly from the Kanban board view in Field Service. Additionally, tasks were not being created in the correct stage. The fix restores the customer field visibility while keeping the project field hidden but functional for proper stage assignment.
Original PR description
Steps: - Open Field service - Select All task - Create task from kanban view - The partner_id field is missing and - Task isn't being created in the selected stage Issue: - When trying to create a…
Steps: - Open Field service - Select All task - Create task from kanban view - The partner_id field is missing and - Task isn't being created in the selected stage Issue: - When trying to create a task from the Kanban view using quick create, the 'partner_id' field is missing in the Kanban box - In quickcreate the task isn't being created in the selected stage Cause: - In the QuickCreate form view, replace the project_id field with regard to the raised issues Fix: - The partner_id field is already mentioned in the parent view, but project_id replaced that field in this view. After removing project_id, the parent view will be restored, and the partner_id will be visible - Before that the project_id is replaced from form view, it means we skip that field from the form view,it will not be considered as the project_id. But, we need the project_id for setting the default_stage_id in the Kanban view, But We don't need it to be visible in the form view, That's why project_id is invisible. task-3522178 Forward-Port-Of: odoo/enterprise#48653
This fix resolves an error that occurred when enabling Batch Transfers in Inventory settings with Mexican EDI Stock installed. Required fields were being lost when the system replaced the view header during batch transfer operations. The fix relocates these critical fields outside the header to ensure they remain available and functional.
Original PR description
To reproduce ============ - install Inventory then `l10n_mx_edi_stock` - on Inventory settings enable Batch Transfers -> Error Problem ======= the view can't find some fields added by `l10n_mx_edi_stock`, these fields were added on the header of the view but when enabling Batch Transfers, the header is remplaced in `stock_picking_batch.picking.form`, so these fields are lost. Solution ======== put these fields out of the header to avoid loosing them. opw-3562995 Forward-Port-Of: odoo/enterprise#49569