Tuesday, November 5, 2024
23 changes · master
Enhancements to existing features
Point of Sale notes are now more consistent: customer notes can be added at order level when no product line is selected, and internal notes are also available for the whole order. This reduces confusion for staff and makes notes clearer across preparation displays and related integrations.
Original PR description
- Remove "General note" button and use it as a "Customer note" when no order line is selected: - For this, I've used the existing "general_note" field in PosOrder and rename it as "general_customer_note" for clarity. - Make "Internal note" active even if no order line is selected: - For this I've added a field "internal_note" in PosOrder. - Refactor the previous "OrderLineNoteButton" that was previously used for "order.general_note", "orderline.customer_note" and "orderline.note" into a new "NoteButton" component that is now used for: - Order notes: - "general_customer_note" and "internal_note" - Orderline notes: - "customer_note" and "note" task-ids: 4247230, 4167563
This update simplifies how the manufacturing work order quality view is customized, making it easier to maintain alongside community changes. It also improves avatar alignment in the kanban view for a cleaner visual presentation.
Original PR description
In the `mrp_workorder_view_kanban_inherit_quality`, both `after` and `attributes` xpath can be replaced by a single `replace` xoath. Also, target the field `last_working_user_id` to reflect community changes on the view, and remove the `mt-1` class because it out-centered the avatar image. Community PR: odoo/odoo#184339
This update removes outdated custom logic in online rental and UPS delivery flows now handled by the core system. It also updates subscription-related tests so the sales website features stay aligned and reliable after recent platform changes.
Original PR description
See odoo/odoo#186260
New restaurant tables are now named using a floor-specific prefix and the next available number for that floor. This helps prevent duplicate table numbers across floor plans and makes restaurant layout management clearer for staff.
Original PR description
*: l10n_de_pos_res_cert, pos_restaurant_appointment, pos_restaurant_preparation_display Before, the table system was very basic and not very convenient for the user. When he wanted to create new table between floor plan, sometime several tables where created with the same number. This was due to the fact that the system was not able to detect the last table number between all floor plan. Now each floor plan has a prefix and the system will name new table with the next number of the last table of the same floor plan. taskId: 4283519
Public Knowledge pages can now show the toggle content block correctly. This improves the visitor experience by ensuring content created with this component appears as intended outside the editor.
Original PR description
This commit adds the new toggle embedded component to the embedding sets for the public version of knowledge. This way the component is correctly displayed on the frontend. task-2796594
The subscription payment process was simplified for cases where only one transaction is handled at a time. This is an internal cleanup that should help keep the invoicing code easier to maintain without changing the user experience.
Original PR description
_create_or_link_to_invoice is only called on single tx records. It can be simplified to be self.ensure_one(). task-id: 4138204
The update improves developer-facing documentation in the messaging area, making the code easier to understand and maintain. This is an internal quality improvement with no expected change to how users work in Odoo.
Resolved issues and error corrections
The subscription portal page now uses a clearer, more user-friendly title. This helps customers better understand where they are when viewing subscription information online.
Original PR description
Before this commit, the title on the subscription portal page wasn't clear. This commit makes the title more user-friendly and easier to understand. task:4226567
This fix prevents customers on Mexican and Chilean e-commerce sites from being blocked at order confirmation by a missing shipping method. Checkout now follows the normal delivery selection step, improving successful online order completion for affected localizations.
Original PR description
In Mexican (or Colombian) e-commerce websites, a customer may face an issue where they are unable to confirm an order because no delivery method is selected. ### Steps to reproduce - Install…
In Mexican (or Colombian) e-commerce websites, a customer may face an issue where they are unable to confirm an order because no delivery method is selected. ### Steps to reproduce - Install `l10n_mx_edi_website_sale` - Ensure the website is configured with a Mexican company - Enable 'Automatic Invoice' in website settings - As a public user, proceed through checkout and try to confirm the order The issue occurs if the user is prompted to fill in delivery information and hasn't previously provided an address. This can be consistently reproduced using a new incognito session. Upon attempting to confirm the order, the following error is shown: "No shipping method is selected." ### Cause The delivery information form (`/shop/address/submit`) normally redirects to `/shop/checkout`, where the user selects a delivery method. However, the `_get_extra_billing_info_route` hook can alter the redirect, bypassing the checkout step and causing the delivery method to remain unset. ### Fix The extra billing info flow is already handled in the checkout steps. Therefore, `_get_extra_billing_info_route` is no longer necessary. opw-4205135 opw-4222398
Code cleanup and technical improvements
Point of Sale-related code files were reorganized so similar internal helper files are grouped together in a dedicated folder. This does not change customer-facing behavior, but it should make future maintenance and updates easier for development teams.
Original PR description
Reorganization of all `hook` files into a specific folder. task-id: 4290514
This update removes obsolete module markers from JavaScript files across accounting-related screens and tests. It does not change business functionality, but keeps the codebase cleaner and easier to maintain for future updates.
Original PR description
see related PR https://github.com/odoo/odoo/pull/186147
Miscellaneous changes
- Added 'post_install' and '-at_install' tags to ensure the test is executed after all modules are installed, necessary for `test_skill_search_on_ocr_results` to run fully. - Fixed the test to detect when no skills were being added to the applicant, even though some should have been. - Updated the skills search regex: replaced `\s` tags with `\b` tags to correctly detect the first and last words in `ocr_tokens`. Forward-Port-Of: odoo/enterprise#73218 Forward-Port-Of: odoo/enterprise#70862
Original PR description
- Added 'post_install' and '-at_install' tags to ensure the test is executed after all modules are installed, necessary for `test_skill_search_on_ocr_results` to run fully. - Fixed the test to detect when no skills were being added to the applicant, even though some should have been. - Updated the skills search regex: replaced `\s` tags with `\b` tags to correctly detect the first and last words in `ocr_tokens`. Forward-Port-Of: odoo/enterprise#73218 Forward-Port-Of: odoo/enterprise#70862
Before this PR: - POS order lines were matched without sorting `tax_ids`, which could cause mismatches when the tax IDs were in a different order between `details_pos_line` and `account_move_line`. After this PR: - POS order lines are matched by comparing `tax_ids` in sorted order, ensuring consistent matching regardless of the order of tax IDs. Forward-Port-Of: odoo/enterprise#73268
Original PR description
Before this PR: - POS order lines were matched without sorting `tax_ids`, which could cause mismatches when the tax IDs were in a different order between `details_pos_line` and `account_move_line`. After this PR: - POS order lines are matched by comparing `tax_ids` in sorted order, ensuring consistent matching regardless of the order of tax IDs. Forward-Port-Of: odoo/enterprise#73268
after this [FIX](https://github.com/odoo/enterprise/commit/ffcc8c425b53df94d79ace17fb444504df8acd52), the access to answers of feedbacks is restricted to the manager of appraisals, but the officer should have access too. this commit fixes this issue. opw-4128638 Forward-Port-Of: odoo/enterprise#72357
Original PR description
after this [FIX](https://github.com/odoo/enterprise/commit/ffcc8c425b53df94d79ace17fb444504df8acd52), the access to answers of feedbacks is restricted to the manager of appraisals, but the officer should have access too. this commit fixes this issue. opw-4128638 Forward-Port-Of: odoo/enterprise#72357
The error Avalara returns for this is too generic to be useful: Rejeição: Evento não atende o Schema XML específico We found out by contacting Avalara support that the error in this case was a reason that was too short. Let's prevent this from re-occuring. opw-4298175 Forward-Port-Of: odoo/enterprise#73258 Forward-Port-Of: odoo/enterprise#73209
Original PR description
The error Avalara returns for this is too generic to be useful: Rejeição: Evento não atende o Schema XML específico We found out by contacting Avalara support that the error in this case was a reason that was too short. Let's prevent this from re-occuring. opw-4298175 Forward-Port-Of: odoo/enterprise#73258 Forward-Port-Of: odoo/enterprise#73209
Disable double-click action for folders in Trash to prevent unnecessary redirection and inform the user with a valid reason. Task-4231365 Forward-Port-Of: odoo/enterprise#71727
Original PR description
Disable double-click action for folders in Trash to prevent unnecessary redirection and inform the user with a valid reason. Task-4231365 Forward-Port-Of: odoo/enterprise#71727
Steps to reproduce: 1. Install only appointments without having a website. 2. Create or use already existing appointments and share them. 3. Go to the share URL 4. Here we will see a dropdown and the description text of the appointment, try to change the value on the dropdown and see the text. The issue arises because `replaceChildren` treats strings as plain text, so HTML in `message_intro` is displayed as text rather than rendered as HTML. To resolve this, we use DOMParser to conv
Original PR description
Steps to reproduce: 1. Install only appointments without having a website. 2. Create or use already existing appointments and share them. 3. Go to the share URL 4. Here we will see a dropdown and the description text of the appointment, try to change the value on the dropdown and see the text. The issue arises because `replaceChildren` treats strings as plain text, so HTML in `message_intro` is displayed as text rather than rendered as HTML. To resolve this, we use DOMParser to convert the `message_intro` string into HTML elements. This allows `replaceChildren` to insert actual HTML nodes instead of plain text, preserving the intended formatting. This issue was introduce in this commit https://github.com/odoo/enterprise/commit/9e38975d3f1e9dc87a3061c06ce9df7cf562949c. opw-4250366 Forward-Port-Of: odoo/enterprise#73021
The term "Spreadsheet" isn't translated in the spreadsheet nav bar Task: 4300455 Forward-Port-Of: odoo/enterprise#73135
Original PR description
The term "Spreadsheet" isn't translated in the spreadsheet nav bar Task: 4300455 Forward-Port-Of: odoo/enterprise#73135
In-use leave type allocation cannot be changed recently. Cause the unit test failed here. Also validate payslip common method is refactor into hr_payroll_account. However it is slightly different behavior than the original util method, which caused the unit test failed as well. runbot-101710 Forward-Port-Of: odoo/enterprise#72655
Original PR description
In-use leave type allocation cannot be changed recently. Cause the unit test failed here. Also validate payslip common method is refactor into hr_payroll_account. However it is slightly different behavior than the original util method, which caused the unit test failed as well. runbot-101710 Forward-Port-Of: odoo/enterprise#72655
The error occurs because we are setting ``Working Time`` to empty in ``Resources`` and then attempting to add leave from the ``Gantt`` view in the Time Off section. Steps to reproduce: --- - Install ``hr_holidays_gantt`` module(without demo data) - Go to resource and from ``Administrator`` remove ``Working Time`` - Now Time Off > Management > Time Off - Go to ``Gantt`` view > Create New and Click on ``Save & Close`` ``Traceback: KeyError: 6`` At [1], we are facing an error because
Original PR description
The error occurs because we are setting ``Working Time`` to empty in ``Resources`` and then attempting to add leave from the ``Gantt`` view in the Time Off section. Steps to reproduce: --- - Install ``hr_holidays_gantt`` module(without demo data) - Go to resource and from ``Administrator`` remove ``Working Time`` - Now Time Off > Management > Time Off - Go to ``Gantt`` view > Create New and Click on ``Save & Close`` ``Traceback: KeyError: 6`` At [1], we are facing an error because ``leaves_mapping`` is empty and we are trying to access this dictionary using a key that doesn't exist. [1]- https://github.com/odoo/enterprise/blob/d4608a66f164940fe4383507e23eed9f54bf60df/hr_holidays_gantt/models/hr_leave.py#L181 sentry-6010228921 Forward-Port-Of: odoo/enterprise#72463
Prevent being able to drag an appointment type when kanban is grouped by Type (category field) as this changes the appointment type category and messes up the fields display. Setting the category as readonly on the kanban view to remove the possibility to change it on groupby via drag and drop. Task-4282969 Forward-Port-Of: odoo/enterprise#72694
Original PR description
Prevent being able to drag an appointment type when kanban is grouped by Type (category field) as this changes the appointment type category and messes up the fields display. Setting the category as readonly on the kanban view to remove the possibility to change it on groupby via drag and drop. Task-4282969 Forward-Port-Of: odoo/enterprise#72694
Before this commit, email templates in sign are not responsive in mobile which can cause inconvenience to user. After this commit, make sign email templates responsive for mobile so users will have a better experience with email templates on their mobile devices task-4034697 Forward-Port-Of: odoo/enterprise#73043
Original PR description
Before this commit, email templates in sign are not responsive in mobile which can cause inconvenience to user. After this commit, make sign email templates responsive for mobile so users will have a better experience with email templates on their mobile devices task-4034697 Forward-Port-Of: odoo/enterprise#73043
It's not always required to send a full customer address for service invoices [1] and users don't want to add unnecessary friction in their sales process. Although service invoice legislation happens on the level of the city, all cities we know of operate this way. If they don't it's ok, Avatax will then return the error instead of us. opw-4281020 [1] For Sao Paulo: Artigo 84 e do parágrafo 3º do Decreto 53.151/2012: https://legislacao.prefeitura.sp.gov.br/leis/decreto-53151-de-17-de-ma
Original PR description
It's not always required to send a full customer address for service invoices [1] and users don't want to add unnecessary friction in their sales process. Although service invoice legislation happens on the level of the city, all cities we know of operate this way. If they don't it's ok, Avatax will then return the error instead of us. opw-4281020 [1] For Sao Paulo: Artigo 84 e do parágrafo 3º do Decreto 53.151/2012: https://legislacao.prefeitura.sp.gov.br/leis/decreto-53151-de-17-de-maio-de-2012 Forward-Port-Of: odoo/enterprise#73208