Thursday, October 31, 2024
92 changes
Resolved issues and error corrections
This update adds missing internal labels to a website building block used in the numbers list section. It helps the website editor correctly identify and handle that element, reducing small editing inconsistencies without changing the visible page design.
Original PR description
This commit adds missing `data-snippet` and `data-name` attributes to the `s_hr` snippet used in the structure. task-4223179 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Links to uploaded web addresses are no longer treated like downloadable documents in the editor. This keeps the link options consistent, while real document links continue to open in a new window as intended.
Original PR description
Since [1] documents can be uploaded in links. All these attachments are considered as documents, even if they are URLs. The "Open in New Window" option is available for any link, while it should be forced to a new window for documents. This commit introduces the distinction between URL and non-URL attachments: only the non-URL attachments are now considered as documents. In order to make that information available when switching between links: - missing steps of `start` are now included when updating props - sequence of updating props is forced by putting it in a method The "Open in New Window" option is only visible for non-documents. Upon link update, documents are always open in new window and non-document are never download links. [1]: https://github.com/odoo/odoo/commit/cec6ee74de4b904b590d41140d99ae844ed1f15d task-4208243
This fix removes an editor option that could break the layout of the website numbers snippet when changing its column count. It helps website editors avoid accidentally creating a visually broken section.
Original PR description
Changing the amount of columns of this snippet from the dropdown in the editor makes the layout break. This commit prevent the user from doing that. task-4223179 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes a flaky automated test for the website slides fullscreen editor by making it wait until the slide link is ready before clicking it. The change helps keep validation runs stable and reduces false failures during development.
Original PR description
The tour "full_screen_web_editor" is failing randomly on the runbot because the step that clicks on the "Home Gardening" slide doesn't open it in fullscreen (as seen in a screenshot of a failing runbot). It is very likely because the fullscreen parameter on the "Home Gardening" link is added afterward in javascript and is not yet present when it is clicked in the test (see function _updateHref of websiteSlidesCourseSlidesList widget). To solve the problem we change the selector that clicks on the "Home Gardening" link to ensure the fullscreen parameter is present in the link. Task-4222573
This fix prevents Point of Sale test tours from failing when a tour is not available in its specific asset bundle. It helps keep automated checks stable without changing day-to-day user behavior.
Original PR description
In Point of Sale module we didn't load all the javascript tour because this module use specific assets bundle. This commit fix the issue by verifying if the tour exist in the registry before trying to get it.
This update fixes an internal automated checkout test for Ecuador website sales after a recent platform change made one test setting invalid. It helps keep quality checks running correctly without changing the customer-facing shopping experience.
Original PR description
After odoo/odoo@45b90b8b7ce252e1558728f4fc03e52459817565 `test: true` is not a valid tour key anymore 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
When users add a link to an image while editing content inside a dialog, the link options now appear in front instead of being hidden behind the dialog. This prevents confusion and makes document layout editing smoother.
Original PR description
Problem: If a dialog is open and the link popover is triggered, it remains behind the dialog, creating further usability issues. Probem: The overlay items are displayed according to their `sequence` attribute, which determines their display order: https://github.com/odoo/odoo/blob/bb20a6d0b3c3a70edbc1f68f560be1f333379ede/addons/web/static/src/core/overlay/overlay_container.js#L65-L67 Solution: Increase the `sequence` value for the `LinkPopover` overlay, ensuring it appears on top of other overlays, including dialogs. Steps to reproduce: 1. Insert an image in the editor in Settings/Configure your document layout/Footer. 2. Click on the image and try to add a link. 3. Observe that the link popover is not visible. opw-4244308
Applying the stretch option to an image in the website editor no longer briefly shows an intermediate image. This creates a smoother editing experience and avoids visual distraction while content is being adjusted.
Original PR description
Before this PR: - An intermediate image was briefly visible when the stretch option was applied, causing a flickering effect. After this PR: - The intermediate image is no longer visible, eliminating the flickering issue. - A cloned image element is used during the processing of the actual image, ensuring that the intermediate image is hidden. task-4206947 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Code cleanup and technical improvements
This update reorganizes how automated web tours handle their steps so the underlying automation system is easier to maintain. It also improves completion, error, and timeout handling, which should make automated guided flows and tests more reliable.
Original PR description
In this commit, we move the methods from tour_step_automatic to tour_automatique so that it better responds to the macro.js API. In the latter, we add an onComplete method and use the onError and onTimeout methods to handle errors that could occur in a tour. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
*l10n_din5008, l10n_din5008_purchase, l10n_din5008_repair, l10n_din5008_sale, l10n_din5008_stock Related to: https://github.com/odoo/enterprise/pull/71710 Forward-Port-Of: odoo/odoo#184790 Forward-Port-Of: odoo/odoo#183268
Original PR description
*l10n_din5008, l10n_din5008_purchase, l10n_din5008_repair, l10n_din5008_sale, l10n_din5008_stock Related to: https://github.com/odoo/enterprise/pull/71710 Forward-Port-Of: odoo/odoo#184790 Forward-Port-Of: odoo/odoo#183268
Before this PR, pressing the `Escape` key in an open thread action within the chat window would close the entire chat window rather than just the thread action. This PR fixes the issue by ensuring `Escape` closes only the active thread action. task-4290661 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185874 Forward-Port-Of: odoo/odoo#185503
Original PR description
Before this PR, pressing the `Escape` key in an open thread action within the chat window would close the entire chat window rather than just the thread action. This PR fixes the issue by ensuring `Escape` closes only the active thread action. task-4290661 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185874 Forward-Port-Of: odoo/odoo#185503
Update the OWL lib. Release notes: https://github.com/odoo/owl/releases/tag/v2.4.1 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185965
Original PR description
Update the OWL lib. Release notes: https://github.com/odoo/owl/releases/tag/v2.4.1 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185965
On small images, the actions to delete image is barely usable. In mobile, these actions are always shown, so they could even prevent clicking on attachment to view in dialog. Also on big a image the 2 actions are far away, which is can be exhausting. This commit fixes the issue by using a dropdown when there is more than 1 action or when the image is considered very small. Images visual is at most 75px width and height, so smaller images now show a background, which ensures image actions and
Original PR description
On small images, the actions to delete image is barely usable. In mobile, these actions are always shown, so they could even prevent clicking on attachment to view in dialog. Also on big a image the 2 actions are far away, which is can be exhausting. This commit fixes the issue by using a dropdown when there is more than 1 action or when the image is considered very small. Images visual is at most 75px width and height, so smaller images now show a background, which ensures image actions and clicking on image for preview are both reachable with ease, also added the required changes accordingly. task-3563828 Backport of: https://github.com/odoo/odoo/pull/180671 Forward-Port-Of: odoo/odoo#185605 Forward-Port-Of: odoo/odoo#185219
*product, event_product, event_booth_sale In the Appointment app, when trying to select an "Up-front payment product," products configured to create a task in a project are not available in the dropdown list. Cause of the issue: In the `appointment_type` model definition within the `appointment_account_payment` module, a domain was applied on the `product_id` field, restricting the selectable products. The domain filtered out products with the `service_tracking` field set to values other
Original PR description
*product, event_product, event_booth_sale In the Appointment app, when trying to select an "Up-front payment product," products configured to create a task in a project are not available in the…
*product, event_product, event_booth_sale In the Appointment app, when trying to select an "Up-front payment product," products configured to create a task in a project are not available in the dropdown list. Cause of the issue: In the `appointment_type` model definition within the `appointment_account_payment` module, a domain was applied on the `product_id` field, restricting the selectable products. The domain filtered out products with the `service_tracking` field set to values other than `"no"`. As a result, products that create tasks in projects (which have `service_tracking` set to `"task_global_project"`) were excluded. The commit https://github.com/odoo/enterprise/commit/ff54ff6cbdf79b1c24c468b5238d8eeb91e85cb9 aim was to prevent `event` and `event_booth` product to be selectable. This commit allows other product whose `service_tracking != 'no'` to be selectable while not allowing `event` and `event_booth`. opw-4146731 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185123
Currently, sending a Bis 3 xml on Peppol raises errors if an early payment discount is set on the invoice (the Belgian one: "Always (upon invoice)", for instance: "2/7 Net 30"). An example xml can be found in the attachments. It raises the error: ``` [BR-E-01]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Exempt from VAT" shall contain exactly one VAT breakdo
Original PR description
Currently, sending a Bis 3 xml on Peppol raises errors if an early payment discount is set on the invoice (the Belgian one: "Always (upon invoice)", for instance: "2/7 Net 30"). An example xml can be found in the attachments. It raises the error: ``` [BR-E-01]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Exempt from VAT" shall contain exactly one VAT breakdown (BG-23) with the VAT category code (BT-118) equal to "Exempt from VAT" ``` Looking at the documentation on [1], we realize we lack an additional VAT breakdown in the xml. [1] https://einvoice.belgium.be/en/article/business-expert-group-overview task-4283933 Forward-Port-Of: odoo/odoo#185138
…creating accrued revenue entries Problem: When using the generate accrued revenue entries action on a sale/purchase order where the first order line is a section or note leads to an invalid account move being created. The move contains a line with not account set. Purpose of this PR: To make sure only product lines are taken into account when generating these entries How to reproduce: 1) Create and confirm a sale order where the first order line is a section or note and the next con
Original PR description
…creating accrued revenue entries Problem: When using the generate accrued revenue entries action on a sale/purchase order where the first order line is a section or note leads to an invalid account move being created. The move contains a line with not account set. Purpose of this PR: To make sure only product lines are taken into account when generating these entries How to reproduce: 1) Create and confirm a sale order where the first order line is a section or note and the next contains a product 2) Run the Accrued Revenue Entry contextual action 3) Fill the Accrual Account and Amount fields with arbitrary data and hit Create Entry 4) Error appears, a move line is generated with no account --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#183230
Currently, the invisible fields are considered in the export default fields. It doesn't make sense from a user perspective as those are generally technical fields used for computation. This wasn't the case prior to v17. The fix is to filter the invisible fields. task-4277023 Forward-Port-Of: odoo/odoo#185791 Forward-Port-Of: odoo/odoo#184719
Original PR description
Currently, the invisible fields are considered in the export default fields. It doesn't make sense from a user perspective as those are generally technical fields used for computation. This wasn't the case prior to v17. The fix is to filter the invisible fields. task-4277023 Forward-Port-Of: odoo/odoo#185791 Forward-Port-Of: odoo/odoo#184719
opw-3971513 Forward-Port-Of: odoo/odoo#181103
Original PR description
opw-3971513 Forward-Port-Of: odoo/odoo#181103
Have a parent company [PARENT] Create an invoice [INV1] Create a branch company [BRANCH] Create an invoice [INV2] for [BRANCH] company Go to invoice list view Select both companies Select both invoices Click 'Register Payment' Traceback ``` File "[...]/odoo/addons/base/models/res_company.py", line 405, in _accessible_branches return self.browse(self.__accessible_branches()) File "<decorator-gen-107>", line 2, in __accessible_branches File "[...]/odoo/tools/cache.py", lin
Original PR description
Have a parent company [PARENT]
Create an invoice [INV1]
Create a branch company [BRANCH]
Create an invoice [INV2] for [BRANCH] company
Go to invoice list view
Select both companies
Select both invoices
Click 'Register Payment'
Traceback
```
File "[...]/odoo/addons/base/models/res_company.py", line 405, in _accessible_branches
return self.browse(self.__accessible_branches())
File "<decorator-gen-107>", line 2, in __accessible_branches
File "[...]/odoo/tools/cache.py", line 97, in lookup
key = key0 + self.key(*args, **kwargs)
File "<string>", line 1, in <lambda>
File "[...]/odoo/fields.py", line 5154, in __get__
raise ValueError("Expected singleton: %s" % record)
ValueError: Expected singleton: res.company(2, 1)
```
opw-4027692
Forward-Port-Of: odoo/odoo#172792**Steps to reproduce:** - Install l10n_cl - Switch to a Chilean company (e.g. CL Company) - Activate a foreign currency (e.g. USD) - Make sure that the rate of the foreign currency is not 1 For example: * Unit per CLP: 0.001057876419 * CLP per Unit:945.29 - Create an invoice in USD with 2 lines having different amount: * 15.80 * 15.00 - Save the invoice - Print the invoice **Issue:** On the printed invoice, a slightly different currency rate is displayed for each invoice l
Original PR description
**Steps to reproduce:** - Install l10n_cl - Switch to a Chilean company (e.g. CL Company) - Activate a foreign currency (e.g. USD) - Make sure that the rate of the foreign currency is not 1 For…
**Steps to reproduce:** - Install l10n_cl - Switch to a Chilean company (e.g. CL Company) - Activate a foreign currency (e.g. USD) - Make sure that the rate of the foreign currency is not 1 For example: * Unit per CLP: 0.001057876419 * CLP per Unit:945.29 - Create an invoice in USD with 2 lines having different amount: * 15.80 * 15.00 - Save the invoice - Print the invoice **Issue:** On the printed invoice, a slightly different currency rate is displayed for each invoice line. **Cause:** The currency rate to display is computed for each invoice line, based on the following formula: `abs(self.balance) / self.price_subtotal` However, the value of balance is rounded to the unit because of the CLP currency and therefore it generates a different rate when trying to compute it. **Solution:** Compute the rate from the total values instead of the subtotal of each line. The real rate configured on the currency cannot be used because it can be modified after the creation of the invoice. opw-4242448 Linked enterprise PR: https://github.com/odoo/enterprise/pull/73035 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185230
Steps to reproduce (on runbot): 1. enable "extra hours" and add extra hours to an employee 2. as an admin go to management > time off 3. make a new time off and choose "extra hours" as the time off type 4. The duration of extra hours is duplicated The issue happens because the form view inherits two identical views. This commit removes the unnecessary view. task-4102491 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/o
Original PR description
Steps to reproduce (on runbot): 1. enable "extra hours" and add extra hours to an employee 2. as an admin go to management > time off 3. make a new time off and choose "extra hours" as the time off type 4. The duration of extra hours is duplicated The issue happens because the form view inherits two identical views. This commit removes the unnecessary view. task-4102491 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185070 Forward-Port-Of: odoo/odoo#176929
Problem: Certain `ir.actions.act_window` actions contain a context with `active_id`, which causes issues when set as home actions, as `active_id` will not be defined in that context. Solution: Prevent the selection of actions that include `active_id` in their context from being set as home actions. Steps to reproduce: 1. Enable debug mode. 2. Navigate to `Settings / Users & Companies / Users`. 3. Select the current user from the list. 4. Under Preferences / Menus Customization set "H
Original PR description
Problem: Certain `ir.actions.act_window` actions contain a context with `active_id`, which causes issues when set as home actions, as `active_id` will not be defined in that context. Solution: Prevent the selection of actions that include `active_id` in their context from being set as home actions. Steps to reproduce: 1. Enable debug mode. 2. Navigate to `Settings / Users & Companies / Users`. 3. Select the current user from the list. 4. Under Preferences / Menus Customization set "Home Action" to "Quotations and Sales." 5. After that: each time you go to backend homepage (/) you get a traceback error instead of the app dashboard opw-4283156 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185867 Forward-Port-Of: odoo/odoo#185319
**Description of the issue/feature this PR addresses:** It is needed to be able to create Factura B for a foreign customer. Legal reference: Here is some useful documentation : https://servicioscf.afip.gob.ar/publico/abc/ABCpaso2.aspx?id=8555970 https://www.afip.gob.ar/EspaciosdeDialogoInstitucional/documentos/Acta-15-Espacio-de-Dialogo-AFIP-Camaras-Empresariales-14-11.pdf **Current behavior before PR:** It is not possible to create Factura B for a foreign customer. **Desired b
Original PR description
**Description of the issue/feature this PR addresses:** It is needed to be able to create Factura B for a foreign customer. Legal reference: Here is some useful documentation : https://servicioscf.afip.gob.ar/publico/abc/ABCpaso2.aspx?id=8555970 https://www.afip.gob.ar/EspaciosdeDialogoInstitucional/documentos/Acta-15-Espacio-de-Dialogo-AFIP-Camaras-Empresariales-14-11.pdf **Current behavior before PR:** It is not possible to create Factura B for a foreign customer. **Desired behavior after PR is merged:** It is possible to create Factura B for a foreign customer. Task Adhoc side: 30008 Task latam side: 913 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185160 Forward-Port-Of: odoo/odoo#176604
The bus service uses a shared worker to reduce the number of connections to the server. However, debugging the worker state can be challenging. If the shared worker is opened later, the WebSocket does not appear in the network tab. Additionally, the worker manages multiple tab and network states, which are not easy to visualize. This commit adds debug logs to the WebSocket worker to track communication between the client and worker, as well as between the worker and server. The log i
Original PR description
The bus service uses a shared worker to reduce the number of connections to the server. However, debugging the worker state can be challenging. If the shared worker is opened later, the WebSocket does not appear in the network tab. Additionally, the worker manages multiple tab and network states, which are not easy to visualize. This commit adds debug logs to the WebSocket worker to track communication between the client and worker, as well as between the worker and server. The log is done by each tab because Safari does not provide devtools for the shared worker. As a result, logs would be unreachable. It's easier to access the logs from the tab devtools. Forward-Port-Of: odoo/odoo#185801
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 previ
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. opw-4205135 opw-4222398 Forward-Port-Of: odoo/odoo#184098