Friday, June 6, 2025
30 changes · saas-18.1
Resolved issues and error corrections
This fix lets an IoT Box connect to databases that expect different device identifiers. It sends the right identifier for the database version, reducing setup issues when linking detected devices before an update.
Original PR description
Currently we cannot call send_all_devices to send the detected device of the IoT Box to the database before doing git checkout. The reason for this is the mac address being replaced by the serial number in master as the iot box identifier To still allow to quickly connect the iot box we now choose to send either the mac address or the serial number based on the database version we are trying to connect to Related PR: https://github.com/odoo/odoo/pull/210065 task-4852274
The IoT box homepage and status screen now show the “Pairing code expired” message only when the pairing code has actually expired. This avoids confusing users during device setup and helps them understand when they need to request a new code.
Original PR description
This PR fixes the condition used to show "Pairing code expired" on the iot box homepage and the status screen task-4852692
A restaurant point-of-sale certification test was corrected to choose the intended table during its automated checks. This helps keep quality checks reliable and reduces the risk of false test failures during releases.
Original PR description
Before this commit: === - The test incorrectly attempted to click on table "5" instead of the intended table "105" in the tour. After this commit: === - The test now correctly selects table "105" to ensure consistency. runbot-112696
Miscellaneous changes
**Current behavior before PR:** Steps to reproduce the issue: - Upload an external image. - Click on it to open the toolbar. - Try to open image cropper. - Clicking on "Apply" button leads to traceback. This issue happens because after merging this commit [1] `closeCropper` method closes the cropper only if `cropperOpen` flag is true. In case of external image, cropper should be closed before it gets fully mounted as such images are uncroppable. In this case `cropperOpen` flag is fa
Original PR description
**Current behavior before PR:** Steps to reproduce the issue: - Upload an external image. - Click on it to open the toolbar. - Try to open image cropper. - Clicking on "Apply" button leads to…
**Current behavior before PR:** Steps to reproduce the issue: - Upload an external image. - Click on it to open the toolbar. - Try to open image cropper. - Clicking on "Apply" button leads to traceback. This issue happens because after merging this commit [1] `closeCropper` method closes the cropper only if `cropperOpen` flag is true. In case of external image, cropper should be closed before it gets fully mounted as such images are uncroppable. In this case `cropperOpen` flag is false and `closeCropper` fails to close cropper which results in traceback later. **Desired behavior after PR is merged:** Cropper gets closed in case of external image and there is a toaster notification at the top-right showing "This type of image is not supported for cropping". [1]: https://github.com/odoo/odoo/commit/df64afb4e9504413f966a153772c568b625a5e13 task-4677287 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#203688
Description of the issue/feature this PR addresses: Issue: if only one line is edited/added and it's account is not of type off-balance, the check will fail to raise the warning Steps to reproduce the error: 1. Create entry 2. Account move line 1 with account off balance 3. Account move line 2 with account off balance 4. Save move 5. Edit line 2, change the account to an asset type account. 6. Save move. The system does not give a warning. Current behavior before PR: Desired beha
Original PR description
Description of the issue/feature this PR addresses: Issue: if only one line is edited/added and it's account is not of type off-balance, the check will fail to raise the warning Steps to reproduce the error: 1. Create entry 2. Account move line 1 with account off balance 3. Account move line 2 with account off balance 4. Save move 5. Edit line 2, change the account to an asset type account. 6. Save move. The system does not give a warning. 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#213046 Forward-Port-Of: odoo/odoo#211811
Steps to reproduce =================== 1. Open a record with chatter, and open the full composer. 2. Add a custom subject and add a body. 3. Schedule message to send in the future. 4. Click on send now from chatter. => Subject is not propagated to the mail After this commit ================= This commit propagate subject to mail. Task-4845440 Forward-Port-Of: odoo/odoo#213093
Original PR description
Steps to reproduce =================== 1. Open a record with chatter, and open the full composer. 2. Add a custom subject and add a body. 3. Schedule message to send in the future. 4. Click on send now from chatter. => Subject is not propagated to the mail After this commit ================= This commit propagate subject to mail. Task-4845440 Forward-Port-Of: odoo/odoo#213093
Forward-Port-Of: odoo/odoo#212951
Original PR description
Forward-Port-Of: odoo/odoo#212951
Problem: When trying to align a separator to the left or right in the email editor using `ms-auto` or `me-auto`, it remains centered instead of aligning as intended. Cause: A global `margin: auto` rule was applied to all `hr` elements, overriding the directional margin utilities (`ms-auto`, `me-auto`), preventing correct alignment. Solution: Restrict `margin: auto` to only apply on `hr` elements that do *not* have `ms-auto` or `me-auto` classes. This preserves default centering while al
Original PR description
Problem: When trying to align a separator to the left or right in the email editor using `ms-auto` or `me-auto`, it remains centered instead of aligning as intended. Cause: A global `margin: auto` rule was applied to all `hr` elements, overriding the directional margin utilities (`ms-auto`, `me-auto`), preventing correct alignment. Solution: Restrict `margin: auto` to only apply on `hr` elements that do *not* have `ms-auto` or `me-auto` classes. This preserves default centering while allowing explicit left or right alignment. Steps to reproduce: - Open Email Marketing and add a "Separator" to an email. - Try to align the separator to the left or right. → The separator remains centered instead of aligning properly. opw-4805194 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#212496
Commit [1] added the use of the portal user in test_01_donation. Its forward-port at [2] was adapted so that it works without demo data, and more, as it became the new default in that version. But [1] still made our test fail in some custom non-demo runbot builds. This commit fixes that by backporting the relevant parts of [2]. [1]: https://github.com/odoo/odoo/commit/4229a3f68e17f05b75bd13347589497682575bd0 [2]: https://github.com/odoo/odoo/commit/c4418cdbf82627fa7c0dc43087de790d61c01208
Original PR description
Commit [1] added the use of the portal user in test_01_donation. Its forward-port at [2] was adapted so that it works without demo data, and more, as it became the new default in that version. But [1] still made our test fail in some custom non-demo runbot builds. This commit fixes that by backporting the relevant parts of [2]. [1]: https://github.com/odoo/odoo/commit/4229a3f68e17f05b75bd13347589497682575bd0 [2]: https://github.com/odoo/odoo/commit/c4418cdbf82627fa7c0dc43087de790d61c01208 runbot-223118 Forward-Port-Of: odoo/odoo#213198
### Description of the issue/feature this PR addresses: - When pasting formatted content (like `<strong>` or `<font>`) into a region that already had same formatting, it caused nested identical tags, leading to exaggerated styling (e.g., "double bold"). ```html <!-- User pastes <strong>text</strong> inside <strong> --> <p><strong>text []</strong></p> <!-- Resulting HTML --> <p><strong>text <strong>text</strong>[]</strong></p> ``` ### Desired behavior after PR is merged: - Prev
Original PR description
### Description of the issue/feature this PR addresses: - When pasting formatted content (like `<strong>` or `<font>`) into a region that already had same formatting, it caused nested identical tags, leading to exaggerated styling (e.g., "double bold"). ```html <!-- User pastes <strong>text</strong> inside <strong> --> <p><strong>text []</strong></p> <!-- Resulting HTML --> <p><strong>text <strong>text</strong>[]</strong></p> ``` ### Desired behavior after PR is merged: - Prevents unwanted style amplification by unwrapping nested identical formatting tags. ```html <!-- Resulting HTML --> <p><strong>text text[]</strong></p> ``` task-4715409 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#206258
Before this commit, when a Many field has a One inverse, assigning on the many field in a specific index lead to a crash. The crash was fixed by https://github.com/odoo/odoo/pull/212963 But the resulting relations were still incorrect: the old record still was linked in the relation, and the new record was not properly linked in the inverse field. This was happening due to similar typo in the inner code of JS models: deletion and addition of respectively old and new records were done with
Original PR description
Before this commit, when a Many field has a One inverse, assigning on the many field in a specific index lead to a crash. The crash was fixed by https://github.com/odoo/odoo/pull/212963 But the…
Before this commit, when a Many field has a One inverse, assigning on the many field in a specific index lead to a crash. The crash was fixed by https://github.com/odoo/odoo/pull/212963 But the resulting relations were still incorrect: the old record still was linked in the relation, and the new record was not properly linked in the inverse field. This was happening due to similar typo in the inner code of JS models: deletion and addition of respectively old and new records were done with respectively `recordList.delete(recordList)` and `recordList.add(recordList)`. The error comes from passing `recordList` instead of `recordList._.owner`, i.e. the old/new records. The typo comes from `RecordUses` that also have methods `add` and `delete` and have `recordList` as 1st param. FYI, `RecordUses` is used for very-low level internal links of record being used by other records. Semantically this is like a relational field but the shape differs for improved computational complexity. Forward-Port-Of: odoo/odoo#213203
**Patch description:** - This commit addresses a perf issue in the `_compute_previous_order` compute of the `pos.order` model, which is particularly noticeable during db upgrade from `v17.0` to `v18.0` because field `previous_order_id` got introduced in `v18.0` or when installing the `l10n_fr_pos_cert` module on an existing db with many POS orders in `v18.0`. - In both cases, the compute method is triggered for all `pos.order` records to assign the `previous_order_id`, causing significant de
Original PR description
**Patch description:** - This commit addresses a perf issue in the `_compute_previous_order` compute of the `pos.order` model, which is particularly noticeable during db upgrade from `v17.0` to…
**Patch description:** - This commit addresses a perf issue in the `_compute_previous_order` compute of the `pos.order` model, which is particularly noticeable during db upgrade from `v17.0` to `v18.0` because field `previous_order_id` got introduced in `v18.0` or when installing the `l10n_fr_pos_cert` module on an existing db with many POS orders in `v18.0`. - In both cases, the compute method is triggered for all `pos.order` records to assign the `previous_order_id`, causing significant delay due to per-record lookups. **Example from a real DB with ~113k orders:** ```sql apan_2840187=> select count(*) from pos_order; count -------- 113342 (1 row) ``` **Observation:** - Before the fix (compute took nearly 50 minutes): ```py 2025-05-29 06:31:12,587 28 INFO apan_2840187_18.0 odoo.modules.registry: module l10n_fr_pos_cert: creating or updating database tables 2025-05-29 06:31:12,799 28 INFO apan_2840187_18.0 odoo.models: Prepare computation of pos.order.previous_order_id 2025-05-29 07:17:37,855 28 INFO apan_2840187_18.0 odoo.modules.loading: loading l10n_fr_pos_cert/views/pos_views.xml ``` - After the fix (completed within 1 min): ```py 2025-05-30 06:56:59,510 24 INFO apan_2840187_18.0 odoo.modules.registry: module l10n_fr_pos_cert: creating or updating database tables 2025-05-30 06:56:59,584 24 INFO apan_2840187_18.0 odoo.models: Prepare computation of pos.order.previous_order_id 2025-05-30 06:57:12,531 24 INFO apan_2840187_18.0 odoo.modules.loading: loading l10n_fr_pos_cert/views/pos_views.xml ``` **Note:** The issue reported in the OPW was not originally about perf, but it was clearly exposed during the upgrade of the mentioned db. opw-4812874 upg-2840187 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#212339
Ensure that automatically generated discount lines inherit the analytic distribution from the original invoice lines. This allows consistent reporting and accurate profitability analysis in analytic accounting. 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#211073 Forward-Port-Of: odoo/odoo
Original PR description
Ensure that automatically generated discount lines inherit the analytic distribution from the original invoice lines. This allows consistent reporting and accurate profitability analysis in analytic accounting. 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#211073 Forward-Port-Of: odoo/odoo#208279
Steps to reproduce ================== - Go to project - Open a project - Open a task - Click on the deadline field - Go to the previous page using the browser back button => The datepicker stays open Cause of the issue ================== `datetimePicker.create` was called using three parameters. But since bb1f912f04fbc4b1efe57847bceffce5895ced9b, it only accepts two. Solution ======== `createPopover` should be added to the `hookParams` This allows the popover to be cl
Original PR description
Steps to reproduce ================== - Go to project - Open a project - Open a task - Click on the deadline field - Go to the previous page using the browser back button => The datepicker stays open Cause of the issue ================== `datetimePicker.create` was called using three parameters. But since bb1f912f04fbc4b1efe57847bceffce5895ced9b, it only accepts two. Solution ======== `createPopover` should be added to the `hookParams` This allows the popover to be closed when the owner component is destroyed. https://github.com/odoo/odoo/blob/bb1f912f04fbc4b1efe57847bceffce5895ced9b/addons/web/static/src/core/popover/popover_hook.js#L65 opw-4811594 Forward-Port-Of: odoo/odoo#212580
Versions -------- - 18.0+ Steps ----- 1. Enable Demo express checkout; 2. pay with Demo Express checkout in eCommerce. Issue ----- Validation error: No delivery method is available. Cause ----- Commit bf8d08cd22b5 changed the express checkout delivery method RPC API. Instead of an array, `availableCarriers` is now an object with a `delivery_methods` attribute. Because it checks the length of an object, which is `undefined`, Demo express checkout incorrectly believes no deliv
Original PR description
Versions -------- - 18.0+ Steps ----- 1. Enable Demo express checkout; 2. pay with Demo Express checkout in eCommerce. Issue ----- Validation error: No delivery method is available. Cause ----- Commit bf8d08cd22b5 changed the express checkout delivery method RPC API. Instead of an array, `availableCarriers` is now an object with a `delivery_methods` attribute. Because it checks the length of an object, which is `undefined`, Demo express checkout incorrectly believes no delivery methods are available. Solution -------- Check the length of `delivery_methods` instead of `availableCarriers`. Forward-Port-Of: odoo/odoo#213240
Problem: In Chrome, when focused on the first input inside the link popover, pressing `Ctrl+Z` (undo) triggers `beforeinput` and `input` events on the editable element, even though the selection is within the popover input, not the editable area. This leads to `addStep` being incorrectly triggered, adding DOM changes like the `a` tag to the history stack and resulting in unintended undo behavior. Note: This issue doesn't occur in saas-18.2+ where the `a` tag is only added upon confirming
Original PR description
Problem: In Chrome, when focused on the first input inside the link popover, pressing `Ctrl+Z` (undo) triggers `beforeinput` and `input` events on the editable element, even though the selection is…
Problem: In Chrome, when focused on the first input inside the link popover, pressing `Ctrl+Z` (undo) triggers `beforeinput` and `input` events on the editable element, even though the selection is within the popover input, not the editable area. This leads to `addStep` being incorrectly triggered, adding DOM changes like the `a` tag to the history stack and resulting in unintended undo behavior. Note: This issue doesn't occur in saas-18.2+ where the `a` tag is only added upon confirming the change, thus no mutation is pushed to history while editing. Solution: Intercept the `beforeinput` event on the editable and call `preventDefault()` if the selection is not currently within the editable, thereby stopping history pollution. Steps to reproduce: 1. Type `/Link` and open the link popover. 2. Focus is automatically set on the first input. 3. Press `Ctrl+Z`. 4. Click on the editable area to close the popover. 5. Repeatedly press `Ctrl+Z` → the `a` tag is added/removed, corrupting undo history. opw-4800278 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#210743
## Background In Mexico, all accounts need to follow a pattern XXX.XX.XX or XXX.XX.XXX where additionally the first five digits must belong to a list of prefixes published by the SAT. At the moment, several accounts created by default don't match the CoA pattern: - 999000001 Cash Difference Gain - 999000002 Cash Difference Loss. - 999300000 Cash Discount Loss - 999400000 Cash Discount Gain - 999999 Undistributed Profits/Losses ## Fix Given correct codes to the existing accou
Original PR description
## Background In Mexico, all accounts need to follow a pattern XXX.XX.XX or XXX.XX.XXX where additionally the first five digits must belong to a list of prefixes published by the SAT. At the moment,…
## Background In Mexico, all accounts need to follow a pattern XXX.XX.XX or XXX.XX.XXX where additionally the first five digits must belong to a list of prefixes published by the SAT. At the moment, several accounts created by default don't match the CoA pattern: - 999000001 Cash Difference Gain - 999000002 Cash Difference Loss. - 999300000 Cash Discount Loss - 999400000 Cash Discount Gain - 999999 Undistributed Profits/Losses ## Fix Given correct codes to the existing accounts and modifying data for some records:. | Account | New code | New name | New Account type | |-------------------------------------|-----------|------------------------------------------------------------------------------|------------------| | 999000001 Cash Difference Gain | 403.01.01 | Other Income | ~ | | 999000002 Cash Difference Loss | 601.84.02 | ~ | ~ | | 999300000 Cash Discount Loss | 402.01.01 | Returns, discounts or bonuses over sales and/or services at the general rate | other income | | 999400000 Cash Discount Gain | 503.01.01 | Returns, discounts or bonuses over purchases | ~ | | 999999 Undistributed Profits/Losses | 305.01.01 | Uncut Result | ~ | --- opw-4288080 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#204019 Forward-Port-Of: odoo/odoo#196852
Versions -------- - 18.0 Fixed in 18.1+ via 752fdb2d2718 Steps ----- 1. Create a quotation; 2. click "Send by Email"; 3. schedule the message to get sent at a later time; 4. wait for the message to send, or click "Send Now" in the chatter; 5. refresh the page. Issue ----- Quotation state did not get set to `sent`. Cause ----- Before this commit, marking the quotation as `sent` happened via a context value. This worked for earlier versions, but with the introduction of sch
Original PR description
Versions -------- - 18.0 Fixed in 18.1+ via 752fdb2d2718 Steps ----- 1. Create a quotation; 2. click "Send by Email"; 3. schedule the message to get sent at a later time; 4. wait for the message to send, or click "Send Now" in the chatter; 5. refresh the page. Issue ----- Quotation state did not get set to `sent`. Cause ----- Before this commit, marking the quotation as `sent` happened via a context value. This worked for earlier versions, but with the introduction of scheduled messaging, the context is no longer available when the scheduled message gets sent. Solution -------- Add the `mark_so_as_sent` context value to the `notification_parameters` field of `mail.scheduled.message`, and check for this value in the `_post_message` method that gets called when sending the message. If present, re-introduce the context value in the call to `super`. opw-4794010 Forward-Port-Of: odoo/odoo#211659
### Steps to reproduce: - Create a storable product P with 10 units in stock. - Inventory > Configuration > Warehouse Management > Operation Types - Change the reservation Method of Delivery orders to Manual - Create confirm and manually assign a delivery order for 3 units of P - Process the DO in the barcode app, scan 1 unit of P > The line should be 1/3 - Leave and come back #### > The line is now at 1/1 Cause of the issue: Leaving the barcode app launch a call of the `split_un
Original PR description
### Steps to reproduce: - Create a storable product P with 10 units in stock. - Inventory > Configuration > Warehouse Management > Operation Types - Change the reservation Method of Delivery orders…
### Steps to reproduce: - Create a storable product P with 10 units in stock. - Inventory > Configuration > Warehouse Management > Operation Types - Change the reservation Method of Delivery orders to Manual - Create confirm and manually assign a delivery order for 3 units of P - Process the DO in the barcode app, scan 1 unit of P > The line should be 1/3 - Leave and come back #### > The line is now at 1/1 Cause of the issue: Leaving the barcode app launch a call of the `split_uncompleted_moves` in order to keep track of the initial reservation in the barcode app: https://github.com/odoo/enterprise/blob/577cb4b74a614d2dd472375b325706525ae591d7/stock_barcode/models/stock_move.py#L9-L11 However, one of the issue of the current system is that these new moves are expected to be assigned by the `_action_confirm`: https://github.com/odoo/enterprise/blob/577cb4b74a614d2dd472375b325706525ae591d7/stock_barcode/models/stock_move.py#L37 But they are not in certain cases and we should therefore force re-assignation in that case: https://github.com/odoo/odoo/blob/bf0461552effe806fdaa8f85f088be3c3f3be09d/addons/stock/models/stock_move.py#L1427-L1432 Enterprise: https://github.com/odoo/enterprise/pull/86394 opw-4798349 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#212438 Forward-Port-Of: odoo/odoo#211616
### Steps to reproduce: - Create a storable product P with 10 units in stock. - Inventory > Configuration > Warehouse Management > Operation Types - Change the reservation Method of Delivery orders to Manual - Create confirm and manually assign a delivery order for 3 units of P - Process the DO in the barcode app, scan 1 unit of P > The line should be 1/3 - Leave and come back #### > The line is now at 1/1 ### Cause of the issue: Leaving the barcode app launch a call of the `spli
Original PR description
### Steps to reproduce: - Create a storable product P with 10 units in stock. - Inventory > Configuration > Warehouse Management > Operation Types - Change the reservation Method of Delivery orders…
### Steps to reproduce: - Create a storable product P with 10 units in stock. - Inventory > Configuration > Warehouse Management > Operation Types - Change the reservation Method of Delivery orders to Manual - Create confirm and manually assign a delivery order for 3 units of P - Process the DO in the barcode app, scan 1 unit of P > The line should be 1/3 - Leave and come back #### > The line is now at 1/1 ### Cause of the issue: Leaving the barcode app launch a call of the `split_uncompleted_moves` in order to keep track of the initial reservation in the barcode app: https://github.com/odoo/enterprise/blob/577cb4b74a614d2dd472375b325706525ae591d7/stock_barcode/models/stock_move.py#L9-L11 However, one of the issue of the current system is that these new moves are expected to be assigned by the `_action_confirm`: https://github.com/odoo/enterprise/blob/577cb4b74a614d2dd472375b325706525ae591d7/stock_barcode/models/stock_move.py#L37 But they are not in certain cases and we should therefore force re-assignation in that case: https://github.com/odoo/odoo/blob/bf0461552effe806fdaa8f85f088be3c3f3be09d/addons/stock/models/stock_move.py#L1427-L1432 Community: https://github.com/odoo/odoo/pull/211616 opw-4798349 Forward-Port-Of: odoo/enterprise#86727 Forward-Port-Of: odoo/enterprise#86394
#Description A total of 6 test were broken after changes(add/removal) in the accounts of the mexican localization in odoo community, the new expected values for the assesments were updated. Related PR #196852. Forward-Port-Of: odoo/enterprise#82467 Forward-Port-Of: odoo/enterprise#81270
Original PR description
#Description A total of 6 test were broken after changes(add/removal) in the accounts of the mexican localization in odoo community, the new expected values for the assesments were updated. Related PR #196852. Forward-Port-Of: odoo/enterprise#82467 Forward-Port-Of: odoo/enterprise#81270
Fixed onboarding document tours which was not working properly. Task-4210376 Forward-Port-Of: odoo/enterprise#72952 Forward-Port-Of: odoo/enterprise#70900
Original PR description
Fixed onboarding document tours which was not working properly. Task-4210376 Forward-Port-Of: odoo/enterprise#72952 Forward-Port-Of: odoo/enterprise#70900
The `MoveArticleDialog` component uses the display name to indicate which article will be moved. However, this field is not loaded on the record object, resulting in an undefined value. As a result, the modal incorrectly displays the article as untitled. Steps to reproduce the issue: 1. Open an article in Knowledge 2. Make sure that the article has a title 3. Click on the "Move To" option from the kebab menu => The modal says "Move the untitled article under:" TO BE: The modal should
Original PR description
The `MoveArticleDialog` component uses the display name to indicate which article will be moved. However, this field is not loaded on the record object, resulting in an undefined value. As a result, the modal incorrectly displays the article as untitled. Steps to reproduce the issue: 1. Open an article in Knowledge 2. Make sure that the article has a title 3. Click on the "Move To" option from the kebab menu => The modal says "Move the untitled article under:" TO BE: The modal should say: "Move <display_name> under:" To fix the issue, we will add the `display_name` field to the field dependencies of the `KnowledgeTopbar` component. Task-4636494 Forward-Port-Of: odoo/enterprise#87026 Forward-Port-Of: odoo/enterprise#86059
Before this commit:- - In GST Return Return Period 'Push to GSTN' button triggers a cron to send GSTR-1 data, but on UI there is no information about whether the cron is running in backend or not? After this commit:- - Raise ValidationError if that required cron is disabled. - Show acknowledgement notification(ir.actions.client) after the cron is triggered. task-4653538 Forward-Port-Of: odoo/enterprise#87133 Forward-Port-Of: odoo/enterprise#84125
Original PR description
Before this commit:- - In GST Return Return Period 'Push to GSTN' button triggers a cron to send GSTR-1 data, but on UI there is no information about whether the cron is running in backend or not? After this commit:- - Raise ValidationError if that required cron is disabled. - Show acknowledgement notification(ir.actions.client) after the cron is triggered. task-4653538 Forward-Port-Of: odoo/enterprise#87133 Forward-Port-Of: odoo/enterprise#84125
Runbot error: https://runbot.odoo.com/odoo/error/160977 This commit fixes the tour by moving the steps related to the contract management in the python part of the test. Also fixes the formatting of the tour file. Forward-Port-Of: odoo/enterprise#86106 Forward-Port-Of: odoo/enterprise#83686
Original PR description
Runbot error: https://runbot.odoo.com/odoo/error/160977 This commit fixes the tour by moving the steps related to the contract management in the python part of the test. Also fixes the formatting of the tour file. Forward-Port-Of: odoo/enterprise#86106 Forward-Port-Of: odoo/enterprise#83686
**Steps to reproduce:** - Install accountant and l10n_be_intrastat - Switch to a Belgian company (e.g. BE Company CoA) - Create a "Goods" product: * Product Type: Goods * Commodity Code: [any] * Country of Origin: [any] - Create a "Service" product: * Product Type: Service * Commodity Code: [any] * Country of Origin: [any] - Create an invoice: * Customer: [an European customer (not from Belgium)] * Invoice Lines: 1 line with the goods and 1 line with the service
Original PR description
**Steps to reproduce:** - Install accountant and l10n_be_intrastat - Switch to a Belgian company (e.g. BE Company CoA) - Create a "Goods" product: * Product Type: Goods * Commodity Code: [any] *…
**Steps to reproduce:**
- Install accountant and l10n_be_intrastat
- Switch to a Belgian company (e.g. BE Company CoA)
- Create a "Goods" product:
* Product Type: Goods
* Commodity Code: [any]
* Country of Origin: [any]
- Create a "Service" product:
* Product Type: Service
* Commodity Code: [any]
* Country of Origin: [any]
- Create an invoice:
* Customer: [an European customer (not from Belgium)]
* Invoice Lines: 1 line with the goods and 1 line with the service
- Confirm the invoice
- Go to "Accounting / Reporting / Audit Reports / Intrastat Reports"
- Select "Intrastat (Goods)" as Report
- Select the correct date to display the created invoice
- Click on the "XML" or "CSV" button to export the report
**Issue:**
In the exported file, the service product is also included. Only the goods should be in the exported file.
**Cause:**
Since a previous fix for "l10n_be_intrastat", "product_type_condition" condition is overridden with `SQL("AND (account_move_line.product_id IS NOT NULL)")` (https://github.com/odoo/enterprise/commit/1108467dcaedfacc28bf1751f6f8f4fc10f84043)
The original condition was:
`SQL("AND (account_move_line.product_id IS NULL OR prodt.type != 'service')")`
The part excluding the service products is removed by the overriding condition.
opw-4824257
Forward-Port-Of: odoo/enterprise#86919Before this commit the opening balance in the iras audit export was always at 0. This was caused because it would call _query_values which was not returning the initial balances. The fix was to instead call _get_initial_balance_values. With this we could finally get the opening balances. task-4826744 Forward-Port-Of: odoo/enterprise#86907 Forward-Port-Of: odoo/enterprise#86600
Original PR description
Before this commit the opening balance in the iras audit export was always at 0. This was caused because it would call _query_values which was not returning the initial balances. The fix was to instead call _get_initial_balance_values. With this we could finally get the opening balances. task-4826744 Forward-Port-Of: odoo/enterprise#86907 Forward-Port-Of: odoo/enterprise#86600
**Problem:** When internal transfer operation type has a manadatory destination in barcode, the transfer can still be validated without destination location scanned if it's a package **Steps to reproduce:** - In settings, enable the "packages" settings - Navigate to Inventory/Configuration/Warehouse Management/ Operations Types - Select "Internal Transfers", in the "Barcode App" page for Source Location, select Mandatory Scan - for "Destination Location" select "after each product"
Original PR description
**Problem:** When internal transfer operation type has a manadatory destination in barcode, the transfer can still be validated without destination location scanned if it's a package **Steps to…
**Problem:** When internal transfer operation type has a manadatory destination in barcode, the transfer can still be validated without destination location scanned if it's a package **Steps to reproduce:** - In settings, enable the "packages" settings - Navigate to Inventory/Configuration/Warehouse Management/ Operations Types - Select "Internal Transfers", in the "Barcode App" page for Source Location, select Mandatory Scan - for "Destination Location" select "after each product" - create a new storable product - Navigate to Inventory/Operations/Physical Inventory - Create a new line and select stock as the location - Select your product - In the package column, create a package and give it a name - Set a quantity > Apply - Open the barcode app, select operations and then internal transfers - Click on New and then Scan WH-Stock and the package name: PACK **Current behavior:** The validate button is higlighted in green and clickable **Expected behavior:** Because we didn't scan a destination location it shouldn't be green and clickabel **Cause of the issue:** When a package barcode is scanned, when _processBarcode calls _processPackage https://github.com/odoo/enterprise/blob/a60aea84d68587b1dfe1b6bfd20cb4fced0f7d46/stock_barcode/static/src/models/barcode_model.js#L1007 Inside _processPackage barcodeData.stopped is set to true (1) and this.selectedLineVirtualId is set to false (2) https://github.com/odoo/enterprise/blob/a60aea84d68587b1dfe1b6bfd20cb4fced0f7d46/stock_barcode/static/src/models/barcode_picking_model.js#L1532-L1533 Because of (1) _processBarcode returns here https://github.com/odoo/enterprise/blob/a60aea84d68587b1dfe1b6bfd20cb4fced0f7d46/stock_barcode/static/src/models/barcode_model.js#L1008-L1011 and doesn't reach the part of the method where _selectLine is called https://github.com/odoo/enterprise/blob/a60aea84d68587b1dfe1b6bfd20cb4fced0f7d46/stock_barcode/static/src/models/barcode_model.js#L1181-L1182 (Inside _selectLine the value of selectedLineVirtualId is defined https://github.com/odoo/enterprise/blob/a60aea84d68587b1dfe1b6bfd20cb4fced0f7d46/stock_barcode/static/src/models/barcode_model.js#L1269-L1274 ) So as a consequence of (1) and (2) the value of this.selectedLineVirtualID is false when a package is scanned When the validate method is called when the user clicks on validate, the method uses the value of this.selectedLine https://github.com/odoo/enterprise/blob/a60aea84d68587b1dfe1b6bfd20cb4fced0f7d46/stock_barcode/static/src/models/barcode_picking_model.js#L777-L779 Because this.selectedLineVirtualID is false, get selectedLine returns false https://github.com/odoo/enterprise/blob/a60aea84d68587b1dfe1b6bfd20cb4fced0f7d46/stock_barcode/static/src/models/barcode_model.js#L307-L309 So the if condition is false, the method is allowed to run and the error notification is not triggered **Fix:** After scanning a package there is no selectedLine so we need another condition opw-4590345 Forward-Port-Of: odoo/enterprise#86540 Forward-Port-Of: odoo/enterprise#83710
In this commit: ========== - We will display the provider's order ID in the order receipt header. Before this commit: ----------  After this commit: ----------  task-4840924 Forward-Port-Of: odoo/enterprise#86790
Original PR description
In this commit: ========== - We will display the provider's order ID in the order receipt header. Before this commit: ----------  After this commit: ----------  task-4840924 Forward-Port-Of: odoo/enterprise#86790
Currently, if there is an error while generation print reports the use of the IoT will return the generic error `Failed to send to printer' which does not lead to understand there is a hidden issue to begin with. Steps to reproduce: ------------------- 1. Set up the iot and like the product labels report to a zebra printer 2. Modify the view of the product labels (`label_product_product_view`) to ensure there is an error during rendering (mistype a field name) 3. Go to a product and print
Original PR description
Currently, if there is an error while generation print reports the use of the IoT will return the generic error `Failed to send to printer' which does not lead to understand there is a hidden issue…
Currently, if there is an error while generation print reports the use of the IoT will return the generic error `Failed to send to printer' which does not lead to understand there is a hidden issue to begin with. Steps to reproduce: ------------------- 1. Set up the iot and like the product labels report to a zebra printer 2. Modify the view of the product labels (`label_product_product_view`) to ensure there is an error during rendering (mistype a field name) 3. Go to a product and print labels > Observation: Notification: Failed to send to printer Why the fix: ------------ In the example given an error occurs when trying to render the label here: https://github.com/odoo/enterprise/blob/968bf16c65a67791efd5fb94f5c95eaf09a47107/iot/static/src/iot_report_action.js#L50-L57 Technically the error makes it so that we fall into this catch block https://github.com/odoo/enterprise/blob/968bf16c65a67791efd5fb94f5c95eaf09a47107/iot/static/src/iot_report_action.js#L81-L88 We will now make a distinction between the RPC error and generic iot related error. If any error occur while making the RPC call we will now show the traceback. This should help anyone debugging. opw-4571350 Forward-Port-Of: odoo/enterprise#84589