Tuesday, September 17, 2024
28 changes · master
Enhancements to existing features
The timesheet timer start and stop buttons now regain focus when appropriate, making keyboard actions more reliable. This helps users and guided onboarding flows start or stop timers consistently without disrupting typing in input fields.
Original PR description
Before this commit when we try to get the focus off the start button and stop button and tried pressing ENTER key to start or stop the timer. It works fine as it is handled by onClick.But all key press are not taken into consideration(key strokes recorded in input or text-area fields). During the step in onboarding tour of using Stop Button we are out of focus of stop_timer button as we have clicked on input field before this step. In tour every button has events both click and Enter but the target must the source of the element(given in tour trigger). After this commit the start and stop button will be in focus when no modal is displayed or the element focused is not an input and textarea. task-3997245
The rental ecommerce product editing screen now uses the updated “tags” wording instead of the older “shop” label. This keeps the rental workflow aligned with the broader website sales interface, reducing confusion for staff managing online rental products.
Original PR description
task-4011651
The timesheet Kanban view no longer shows the status field on each card. This simplifies the display so users can scan timesheet entries more easily without extra visual clutter.
Original PR description
After this commit: - remove the status from kanban view of timesheets task-3996705 COM PR: odoo/odoo#170251
Barcode batch transfer cards now show the description field, giving warehouse teams more context directly in the kanban view. This helps users identify and prioritize batch or wave transfers without opening each record.
Original PR description
The description field added in odoo/odoo#157869 is added to the barcode batch transfers kanban view. Task-3724421
The social app and related social channel integrations now use simpler, more consistent kanban card layouts. This makes the underlying screens easier to maintain while preserving the same day-to-day user experience.
Original PR description
\* = [social_facebook, social_crm, social_instagram, social_sale, social_twitter, social_youtube] In this commit we have simplified the kanban arch for the social and its related modules. The goal is to simplify them, make them easier to read, and use bootstrap utility classnames. - Previously, we used `kanban-box`, but now we are using `kanban-card` instead. - Deprecated `oe_kanban_global_click` and `oe_kanban_global_click_edit`. - More use of `<field/>` tags - Removed the `oe_kanban_colorpicker` class and replaced it with the `kanban_color_picker` widget. - Changed type='edit' to type='open' to open records. since version 16, records always open in edit mode by default. - `kanban_image` from rendering context, is deprecated so we use `<field name=... widget=image/>` instead Task-3992107
The manufacturing maintenance kanban views were cleaned up to use newer layout standards and simpler building blocks. This makes the screens easier to maintain while preserving the existing user experience for maintenance teams.
Original PR description
In this commit we have simplified the kanban arch for the mrp_maintenance module. The goal is to simplify them, make them easier to read, and use bootstrap utility classnames. - Previously, we used `kanban-box`, but now we are using `kanban-card` instead. - Deprecated `oe_kanban_global_click` and `oe_kanban_global_click_edit`. - More use of `<field/>` tags - Removed the `oe_kanban_colorpicker` class and replaced it with the `kanban_color_picker` widget. - Changed type='edit' to type='open' to open records. since version 16, records always open in edit mode by default. - `kanban_image` from rendering context, is deprecated so we use `<field name=... widget=image/>` instead Task-3992107
The push notification visitor views were simplified to use newer, standard kanban layout patterns. This makes the screens easier to maintain and helps keep the user interface consistent with current Odoo behavior.
Original PR description
In this commit we have simplified the kanban arch for the website and their related modules.the goal is to simplify them, make them easier to read and use bootstrap utility classnames. - Previously, we used kanban-box, but now we are using kanban-card instead. - Deprecated oe_kanban_global_click and oe_kanban_global_click_edit. - More use of `<field/>` tags - Removed the oe_kanban_colorpicker class and replaced it with the kanban_color_picker widget. - Changed type='edit' to type='open' to open records. since version 16, records always open in edit mode by default. - kanban_image from rendering context, is deprecated so we use <field name="..." widget="image"/> instead - kanban_color, kanban_getcolor and kanban_getcolorname are deprecated use new attribute highlight_color="color_field_name" on root node Task-3992107
The German point-of-sale certification dashboard has been cleaned up to use newer interface building blocks. This makes the screen easier to maintain and helps keep the dashboard aligned with current Odoo design standards, with little expected change for day-to-day users.
Original PR description
In this commit we have simplified the kanban arch for the point_of_sale module dashboard. the goal is to simplify them, make them easier to read and use bootstrap utility classnames. - Previously, we used kanban-box, but now we are using kanban-card instead. - Deprecated oe_kanban_global_click and oe_kanban_global_click_edit. - More use of `<field/>` tags - Removed the oe_kanban_colorpicker class and replaced it with the kanban_color_picker widget. - Changed type='edit' to type='open' to open records. since version 16, records always open in edit mode by default. - kanban_image from rendering context, is deprecated so we use `<field name=... widget=image/>` instead - kanban_color, kanban_getcolor and kanban_getcolorname are deprecated use new attribute highlight_color=color_field_name on root node Task-3992107
Resolved issues and error corrections
The rental eCommerce pages were updated to stay aligned with recent website shop layout changes. This helps prevent display or configuration issues when rental products appear in the online shop.
Original PR description
Follow the changes made in community which introduced the `shop_grid_header` template. task-3986938 part of task-3986921 Community PR: https://github.com/odoo/odoo/pull/177034
Miscellaneous changes
Open a partner contact Go to Accounting tab Try to set 'DateV Vendor' field Issue: Traceback will raise ''' psycopg2.errors.UndefinedColumn: column "l10n_de_datev_identifier" does not exist LINE 3: WHERE l10n_de_datev_identifier != 0 ''' This occurs because l10n_de_datev_identifier is set as comapny_dependant, so its value isn't stored on the model table, but it is registered as `ir.property`. opw-4163804 Forward-Port-Of: odoo/enterprise#69900
Original PR description
Open a partner contact Go to Accounting tab Try to set 'DateV Vendor' field Issue: Traceback will raise ''' psycopg2.errors.UndefinedColumn: column "l10n_de_datev_identifier" does not exist LINE 3: WHERE l10n_de_datev_identifier != 0 ''' This occurs because l10n_de_datev_identifier is set as comapny_dependant, so its value isn't stored on the model table, but it is registered as `ir.property`. opw-4163804 Forward-Port-Of: odoo/enterprise#69900
This change prevents an error that appeared when activating test asset debugging with the Colombian electronic invoicing website sales module installed. It removes an unsupported setting so the debugging mode can be enabled normally, improving reliability for testing and development workflows.
Original PR description
version: ----------- - master Steps to reproduce: --------------------------- - Install module l10n_co_edi_website_sale - Enable debug mode. - Click on Activate tests assets debugging. Issue: --------- - A traceback occurs when activating test assets debugging. Cause: --------- - The error occurs because the system does not recognize the stepDelay key. Solution: ------------ - the fix is to remove the stepDelay key from the tour setup to prevent the error. task-3628329
This fix restores intended customizations on the point of sale login screen and receipt header by correcting where the system applies them. It helps ensure employees and customers see the right branded and operational information in affected point of sale flows.
Original PR description
The login screen overrides were not working as expected. This commit fixes the issue by updating the file paths. Also, override target wasn't set correctly. This commit fixes the override target for the receipt_header.xml file.
[This commit] added in a new Carta Porte 3.0 PDF for Mexico in version saas-17.3 that inherits from the standard delivery slip, by removing all the tables related to the products etc. (for security reasons: the driver doesn't need to know what's in the cargo) and adding in some new required fields. This commit backports the report from saas-17.3 with the following changes: - We improved the layout a bit to make the report even clearer. - We corrected the "Num Reg ID Trib" and "Residencia Fi
Original PR description
[This commit] added in a new Carta Porte 3.0 PDF for Mexico in version saas-17.3 that inherits from the standard delivery slip, by removing all the tables related to the products etc. (for security reasons: the driver doesn't need to know what's in the cargo) and adding in some new required fields. This commit backports the report from saas-17.3 with the following changes: - We improved the layout a bit to make the report even clearer. - We corrected the "Num Reg ID Trib" and "Residencia Fiscal" of the "Figura"'s to use the right value and show them per figura. - We corrected the departure and arrival date (they were swapped). These changes will be forward-ported again to the upper versions. [This commit]: https://github.com/odoo/enterprise/commit/af14612ec5942acdc06584ec8ff9d8bf26998ae7 task-3990042 Forward-Port-Of: odoo/enterprise#69853 Forward-Port-Of: odoo/enterprise#65337
With a CO Company setup with missing VAT (NIT) number Have a partner with missing Country Create an invoice to the partner Confirm, Send&Print with option 'DIAN' checked Issue: The system will raise a traceback for each one of the missing info. We need to safely provide a fallback and then generate the corresponding error message so that user may take action opw-4148661 Forward-Port-Of: odoo/enterprise#69937
Original PR description
With a CO Company setup with missing VAT (NIT) number Have a partner with missing Country Create an invoice to the partner Confirm, Send&Print with option 'DIAN' checked Issue: The system will raise a traceback for each one of the missing info. We need to safely provide a fallback and then generate the corresponding error message so that user may take action opw-4148661 Forward-Port-Of: odoo/enterprise#69937
When making an order paid with customer account, the total due of the customer where not updated correctly until the session is closed. Steps to reproduce: ------------------- * Make sure pos_settle_due module is installed * Open PoS make an order and pay with customer account and Customer A * Open Customer list > Observation: Check the total due of Customer A, it's still 0 Why the fix: ------------ When computing the total due we take into account the pos orders that are still in a
Original PR description
When making an order paid with customer account, the total due of the customer where not updated correctly until the session is closed. Steps to reproduce: ------------------- * Make sure pos_settle_due module is installed * Open PoS make an order and pay with customer account and Customer A * Open Customer list > Observation: Check the total due of Customer A, it's still 0 Why the fix: ------------ When computing the total due we take into account the pos orders that are still in an open session opw-4094546 Forward-Port-Of: odoo/enterprise#69754 Forward-Port-Of: odoo/enterprise#69080
Steps ----- On runbot: 1. Enable Time Billing for a Helpdesk team. 2. Create a ticket for Deco Addict. 3. Remove the "Sales Order Item". 4. Try to search a "Sales Order Item". ** No results appear ** Change ----- Correct domain, `commercial_partner_id` needs to be unquoted or it will be interpreted as a string. opw-4177705 Forward-Port-Of: odoo/enterprise#69950
Original PR description
Steps ----- On runbot: 1. Enable Time Billing for a Helpdesk team. 2. Create a ticket for Deco Addict. 3. Remove the "Sales Order Item". 4. Try to search a "Sales Order Item". ** No results appear ** Change ----- Correct domain, `commercial_partner_id` needs to be unquoted or it will be interpreted as a string. opw-4177705 Forward-Port-Of: odoo/enterprise#69950
Before this commit: - In the project update, budgets in the 'Confirmed', 'Revised' and 'Done' state are visible in the project update panel. After this commit: - In the project update, only budgets in the 'Confirmed' or 'Done' state are visible in the project update panel. Task-4180079 Forward-Port-Of: odoo/enterprise#70020
Original PR description
Before this commit: - In the project update, budgets in the 'Confirmed', 'Revised' and 'Done' state are visible in the project update panel. After this commit: - In the project update, only budgets in the 'Confirmed' or 'Done' state are visible in the project update panel. Task-4180079 Forward-Port-Of: odoo/enterprise#70020
This commit is checking that we have a value before checking it with the today's date. no task id Forward-Port-Of: odoo/enterprise#70103
Original PR description
This commit is checking that we have a value before checking it with the today's date. no task id Forward-Port-Of: odoo/enterprise#70103
Problem: Auto-vacuum is incorrectly archiving reformatted spreadsheet documents that were generated from unsupported file uploads. Specifically, when an .xlsx file is uploaded, Odoo creates a new, compatible spreadsheet document. However, this newly generated document is mistakenly deleted during the auto-vacuum process if it is older than 24 hours. Purpose: Add a domain to prevent Odoo created spreadsheets from uploads being caught by autocron vacuum from improvement to 17.0 last year S
Original PR description
Problem: Auto-vacuum is incorrectly archiving reformatted spreadsheet documents that were generated from unsupported file uploads. Specifically, when an .xlsx file is uploaded, Odoo creates a new, compatible spreadsheet document. However, this newly generated document is mistakenly deleted during the auto-vacuum process if it is older than 24 hours. Purpose: Add a domain to prevent Odoo created spreadsheets from uploads being caught by autocron vacuum from improvement to 17.0 last year Steps to reproduce bug: 1.) Upload an xlsx file 2.) Click on the xlsx file 3.) It will generate an Odoo file of the same type 4.) Set the date of the new file to older than 24 hours 5.) The formatted file will be deleted when the autocron hits opw-4087851 Forward-Port-Of: odoo/enterprise#68581
## Description: Previously, attempting to reinsert a pivot with an invalid range resulted in a traceback error. This commit resolves the issue by hiding the menu item when the specified pivot range is invalid. Task: [4137926](https://www.odoo.com/odoo/project/2328/tasks/4137926) Forward-Port-Of: odoo/enterprise#69838
Original PR description
## Description: Previously, attempting to reinsert a pivot with an invalid range resulted in a traceback error. This commit resolves the issue by hiding the menu item when the specified pivot range is invalid. Task: [4137926](https://www.odoo.com/odoo/project/2328/tasks/4137926) Forward-Port-Of: odoo/enterprise#69838
Before this commit, the is_zero attribute was not recomputed correctly when updating the columns. task: 4188758 Forward-Port-Of: odoo/enterprise#70097
Original PR description
Before this commit, the is_zero attribute was not recomputed correctly when updating the columns. task: 4188758 Forward-Port-Of: odoo/enterprise#70097
Currently, an error occurs when enabling 'Email Alias' in the helpdesk team and helpdesk team name is not available. Step to produce: - Install the 'helpdesk' module. - Navigate to Helpdesk / Configuration / Helpdesk Teams. - Open any record remove a name and disable 'Email Alias'. - Then enable 'Email Alias'. ```AttributeError: 'bool' object has no attribute 'replace'``` An error occurs when the system tries to replace a helpdesk team name at [1] but it is not available. Link
Original PR description
Currently, an error occurs when enabling 'Email Alias' in the helpdesk team and helpdesk team name is not available. Step to produce: - Install the 'helpdesk' module. - Navigate to Helpdesk / Configuration / Helpdesk Teams. - Open any record remove a name and disable 'Email Alias'. - Then enable 'Email Alias'. ```AttributeError: 'bool' object has no attribute 'replace'``` An error occurs when the system tries to replace a helpdesk team name at [1] but it is not available. Link [1]: https://github.com/odoo/enterprise/blob/f9b1be600825651c9a893920d7532b9b95e3dc02/helpdesk/models/helpdesk_team.py#L574 To resolve the issue, add a condition that calls the '_alias_get_creation_values' method if the helpdesk team name is available. Sentry-5831429098 Forward-Port-Of: odoo/enterprise#69921
When the customer creates a helpdesk ticket and the user of helpdesk team is deleted, a traceback will appear. Steps to reproduce the error: - Go to Settings > Users & Companies > Users > Create a user - Go to Helpdesk > Configuration > Helpdesk Teams > Open Team A Select Assignment Method: Random > Select that user in the members > Save - Delete that user - Go to Helpdesk > All Tickets > Create a ticket > Select Team A Traceback: ``` IndexError: list index out of range File "
Original PR description
When the customer creates a helpdesk ticket and the user of helpdesk team is deleted, a traceback will appear. Steps to reproduce the error: - Go to Settings > Users & Companies > Users > Create a…
When the customer creates a helpdesk ticket and
the user of helpdesk team is deleted, a traceback will appear.
Steps to reproduce the error:
- Go to Settings > Users & Companies > Users > Create a user
- Go to Helpdesk > Configuration > Helpdesk Teams > Open Team A
Select Assignment Method: Random > Select that user in the members > Save
- Delete that user
- Go to Helpdesk > All Tickets > Create a ticket > Select Team A
Traceback:
```
IndexError: list index out of range
File "odoo/http.py", line 2248, in __call__
response = request._serve_db()
File "odoo/http.py", line 1823, in _serve_db
return self._transactioning(_serve_ir_http, readonly=ro)
File "odoo/http.py", line 1843, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 134, in retrying
result = func()
File "odoo/http.py", line 1821, in _serve_ir_http
return self._serve_ir_http(rule, args)
File "odoo/http.py", line 1828, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2053, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 220, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 756, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 38, in call_kw
return self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 34, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 458, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "addons/web/models/models.py", line 866, in onchange
defaults = self.default_get(missing_names)
File "home/odoo/src/enterprise/saas-17.2/helpdesk/models/helpdesk_ticket.py", line 40, in default_get
result['user_id'] = team._determine_user_to_assign()[team.id].id
File "home/odoo/src/enterprise/saas-17.2/helpdesk/models/helpdesk_team.py", line 959, in _determine_user_to_assign
result[team.id] = self.env['res.users'].browse(member_ids[index])
```
https://github.com/odoo/enterprise/blob/947b6ab9447aa069fd5edd150c932d9a0884a3cb/helpdesk/models/helpdesk.py#L502 When the related user is deleted, "member_ids" will be an empty list.
so when it tries to access the index of "member_ids",
it will lead to the above traceback.
behavior after the commit:
It will ensure that at least one user is selected in "member_ids".
sentry-5630888721
Forward-Port-Of: odoo/enterprise#70085
Forward-Port-Of: odoo/enterprise#67240Purpose ======= Fix the inactive records fetching in the gantt view. Specification ============= When fetching the records to display in the gantt view from their ids, we don't specify if the inactive records need to be included in the search. This is an issue as further down the execution flow, the '_where_calc' method by default excludes inactive records except if they are explicitly asked for. => This means that filtering on inactive records doesn't display any records. Fixing that
Original PR description
Purpose ======= Fix the inactive records fetching in the gantt view. Specification ============= When fetching the records to display in the gantt view from their ids, we don't specify if the inactive records need to be included in the search. This is an issue as further down the execution flow, the '_where_calc' method by default excludes inactive records except if they are explicitly asked for. => This means that filtering on inactive records doesn't display any records. Fixing that by setting the 'active_test' key in the context to 'False' to be sure we search records with these ids both in active and inactive records. Related commit: 836909419893b522890776d3ec2f16476ae21108 Forward-Port-Of: odoo/enterprise#70100 Forward-Port-Of: odoo/enterprise#70032
Before this commit: - When the achieved amount exceeds the budgeted amount, it is displayed in red. This indicates an over-budget status, which is misleading for `revenue` and `both` budget types where exceeding the budget is actually a positive sign. After this commit: - When the achieved amount exceeds the budgeted amount, the red color will be applied only to the expense budget. Task-4167662 Forward-Port-Of: odoo/enterprise#69699
Original PR description
Before this commit: - When the achieved amount exceeds the budgeted amount, it is displayed in red. This indicates an over-budget status, which is misleading for `revenue` and `both` budget types where exceeding the budget is actually a positive sign. After this commit: - When the achieved amount exceeds the budgeted amount, the red color will be applied only to the expense budget. Task-4167662 Forward-Port-Of: odoo/enterprise#69699