Thursday, March 13, 2025
41 changes · saas-18.2
Resolved issues and error corrections
Fixed an issue where additional product images added in the website editor could fail to appear in the product page carousel. This ensures shoppers can see all non-video product media as intended, improving product presentation and confidence while browsing.
Original PR description
Versions -------- - saas-18.2+ Steps ----- 1. Go to a front-end product page; 2. open editor; 3. add extra product image; 4. save; 5. try to view extra image in carousel. Issue ----- Image doesn't get displayed. Cause ----- Commit 2bcff9dda3e45 added support for adding videos as extra media. To decide whether an object is a video, it currently just checks if it has a `video_url` key, but not whether it has an actual value. Solution -------- The intended code suggested in a review (https://github.com/odoo/odoo/pull/189396#discussion_r1914977614) was added in a `t-elif` branch instead of replacing the `t-if` code. Using this branch would fix the issue. opw-4625008
This change adds an automated check to help ensure the live chat support page continues to load correctly in standalone scenarios. It reduces the risk that future dependency changes silently break live chat for visitors using that setup.
Original PR description
Maintaing several bundles can be error prone. Live chat tests exist for external and backend bundles but not for the CORS one. This is an issue as adding a new dependency can break the CORS live chat without any way to notice it (e.g. adding a dependency in mail that is loaded in the website_livechat context but not in the standalone one). This PR adds a simple sanity check tour to the support page, forcing the CORS bundle. While it's not a fully realistic CORS scenario it will be enough to catch simple dependenc mistakes. 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
Miscellaneous changes
To reproduce: ============= - create a contact with customer location : Partners/Customer/test - enable 2 steps delivery on warehouse - create SO for the contact and confirm it - validate first step of delivery - check second step of delivery -> the destination location is Partners/Customer instead of Partners/Customer/test Problem: ======== Now that we are creating moves step by step we are not passing the destination location to the second move and using the one set on the rule.
Original PR description
To reproduce: ============= - create a contact with customer location : Partners/Customer/test - enable 2 steps delivery on warehouse - create SO for the contact and confirm it - validate first step of delivery - check second step of delivery -> the destination location is Partners/Customer instead of Partners/Customer/test Problem: ======== Now that we are creating moves step by step we are not passing the destination location to the second move and using the one set on the rule. Solution: ========= when creating second move and it's last step we set destination to final destination location. opw-4374075 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#199278
**Issue:** When printing labels in Dymo format, product reference numbers longer than 10 digits are truncated, resulting in incomplete information. **Steps to Reproduce:** 1. Install the Sales app 2. Navigate to Sales > Products 3. Select or create a product with a reference number longer than 10 digits 4. Click Print Labels > Dynamo format > Confirm 5. Notice that the reference number is cut off after 10 digits Expected Behavior: The full reference number should be visible on the pr
Original PR description
**Issue:** When printing labels in Dymo format, product reference numbers longer than 10 digits are truncated, resulting in incomplete information. **Steps to Reproduce:** 1. Install the Sales app 2.…
**Issue:** When printing labels in Dymo format, product reference numbers longer than 10 digits are truncated, resulting in incomplete information. **Steps to Reproduce:** 1. Install the Sales app 2. Navigate to Sales > Products 3. Select or create a product with a reference number longer than 10 digits 4. Click Print Labels > Dynamo format > Confirm 5. Notice that the reference number is cut off after 10 digits Expected Behavior: The full reference number should be visible on the product label, regardless of length Actual Behavior: Reference numbers longer than 10 digits are truncated, showing only the first 10 digits. **Root Cause** The issue arises from a override(https://github.com/odoo/odoo/commit/2b32d1431a33dea9052be3be4f9668a92cd0422e) to the font size of the <small> tag added to Bootstrap. Previously, the font size was set to 0.875em, but it has been updated to 0.8125rem. This change affects text rendering and causes a smaller number of digits to be displayed compared to previous versions. **Fix** To maintain consistency with Odoo 17.0, the font size of the <small> tag is explicitly overridden to ensure the same number of digits is displayed as before. Opw-4578147 Opw-4568804 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#198142
steps to reproduce the bug: - install inventory and invoicing app - change the user access right of the inventory app to `User` - access any of the serial number you have in any of the apps having it Problem: Error is raised because no access right for the `stock.valuation.layer` model to the user group. new attribute `stock_valuation_layer_ids` was added to the `stock.lot`model on the stock_account module, and hence no access right for that model for the user group so now anyone with
Original PR description
steps to reproduce the bug: - install inventory and invoicing app - change the user access right of the inventory app to `User` - access any of the serial number you have in any of the apps having it…
steps to reproduce the bug: - install inventory and invoicing app - change the user access right of the inventory app to `User` - access any of the serial number you have in any of the apps having it Problem: Error is raised because no access right for the `stock.valuation.layer` model to the user group. new attribute `stock_valuation_layer_ids` was added to the `stock.lot`model on the stock_account module, and hence no access right for that model for the user group so now anyone with user access to inventory app won't be able to access the serial numbers or edit them opw-4466042 opw-4551745 Description of the issue/feature this PR addresses: Current behavior before PR: users with `user access right to inventory app` can't access the serial numbers Desired behavior after PR is merged: users with `user access right to inventory app` can access the serial numbers --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#196951
Use case: When sending stock ewaybill with no taxes at that time government API is expecting the taxes values as `0`. Issue: When there is no tax applied we get an empty list due to which it doesn't set the default taxes to `0` Fix: We make sure if there no taxes then return a default taxes as `0` opw-4639009 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#201492 Forward-Port-Of: odoo/odoo#201118
Original PR description
Use case: When sending stock ewaybill with no taxes at that time government API is expecting the taxes values as `0`. Issue: When there is no tax applied we get an empty list due to which it doesn't set the default taxes to `0` Fix: We make sure if there no taxes then return a default taxes as `0` opw-4639009 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#201492 Forward-Port-Of: odoo/odoo#201118
Steps: Go to a pivot view with: - either a predefined sort on the action/filter. - sort by a measure then uncheck the measure. We can't keep the sorting because the sorting is done client-side. If the field is not part of the measures, we don't have the data to sort... Task: 4467262 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.
Original PR description
Steps: Go to a pivot view with: - either a predefined sort on the action/filter. - sort by a measure then uncheck the measure. We can't keep the sorting because the sorting is done client-side. If the field is not part of the measures, we don't have the data to sort... Task: 4467262 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#201030 Forward-Port-Of: odoo/odoo#193739
When the last operator of a live chat closes the discussion, the live chat is closed. Technically, this is done with an override of the `_action_unfollow` method. However, this method can be called even when users are not members (e.g. channel pinned locally). The override does not take this into account which can lead to the chat being closed while an operator is still present. This PR fixes the issue. Description of the issue/feature this PR addresses: Current behavior before PR: Desi
Original PR description
When the last operator of a live chat closes the discussion, the live chat is closed. Technically, this is done with an override of the `_action_unfollow` method. However, this method can be called even when users are not members (e.g. channel pinned locally). The override does not take this into account which can lead to the chat being closed while an operator is still present. This PR fixes the issue. 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#201346
to reproduce 1) install l10n_dk with minor version 1.2 in 18.0 2) delete tax `K-EU-Momsfritaget` from taxes while selecting l10n_dk company. 3) bump minor version and update. 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#201134
Original PR description
to reproduce 1) install l10n_dk with minor version 1.2 in 18.0 2) delete tax `K-EU-Momsfritaget` from taxes while selecting l10n_dk company. 3) bump minor version and update. 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#201134
After commit 2d4be3a1111451c67c69c016676c935be956c981 the override is no longer needed. Forward-Port-Of: odoo/odoo#201143 Forward-Port-Of: odoo/odoo#200920
Original PR description
After commit 2d4be3a1111451c67c69c016676c935be956c981 the override is no longer needed. Forward-Port-Of: odoo/odoo#201143 Forward-Port-Of: odoo/odoo#200920
Steps to reproduce: - create a new quotation - select a customer with another langage than the current user - add a product - add a discount using the discount button (select "global amount" or "fixed amount") Problem: Inside "order lines" from the quotation, the "description" column in the line created for the discount product is not translated. https://github.com/odoo/odoo/blob/c62e8d90db481fb7ba28e888431b6a7dc5ed03cd/addons/sale/wizard/sale_order_discount.py#L126 opw-4534846 Fo
Original PR description
Steps to reproduce: - create a new quotation - select a customer with another langage than the current user - add a product - add a discount using the discount button (select "global amount" or "fixed amount") Problem: Inside "order lines" from the quotation, the "description" column in the line created for the discount product is not translated. https://github.com/odoo/odoo/blob/c62e8d90db481fb7ba28e888431b6a7dc5ed03cd/addons/sale/wizard/sale_order_discount.py#L126 opw-4534846 Forward-Port-Of: odoo/odoo#200688 Forward-Port-Of: odoo/odoo#197892
Before this commit, a traceback is occurred when the user would like to see the raw data of a specific project and the project stage feature is disabled. This commit adds a group on `duration_tracking` field definition to be sure this field will only be computed when the project stage feature is enabled. opw-3709542 Closes #197321 Forward-Port-Of: odoo/odoo#201313
Original PR description
Before this commit, a traceback is occurred when the user would like to see the raw data of a specific project and the project stage feature is disabled. This commit adds a group on `duration_tracking` field definition to be sure this field will only be computed when the project stage feature is enabled. opw-3709542 Closes #197321 Forward-Port-Of: odoo/odoo#201313
In order to comply with the EU Measuring Instruments Directive, the code for weighing products must be verified with a checksum to ensure it has not been modified. This PR refactors both the IoT driver and the POS code, with the goal of removing dead code and making the amount of code that needs to be certified as small as possible. Enterprise PR: https://github.com/odoo/enterprise/pull/75269 task-3929839 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.
Original PR description
In order to comply with the EU Measuring Instruments Directive, the code for weighing products must be verified with a checksum to ensure it has not been modified. This PR refactors both the IoT driver and the POS code, with the goal of removing dead code and making the amount of code that needs to be certified as small as possible. Enterprise PR: https://github.com/odoo/enterprise/pull/75269 task-3929839 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#199605 Forward-Port-Of: odoo/odoo#189846
This commit implements two changes: - On the IoT box homepage, a small icon is added for each device indicating if it is connected via USB/Network/Bluetooth etc. - On the IoT box status page, additional explanation has been added for the use of the QR codes. task-4642274   --- I c
Original PR description
This commit implements two changes: - On the IoT box homepage, a small icon is added for each device indicating if it is connected via USB/Network/Bluetooth etc. - On the IoT box status page, additional explanation has been added for the use of the QR codes. task-4642274   --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#201290
Before this commit, the default hostname of an IoT box was 'raspberrypi'. After this commit, the default hostname is now 'iotbox'. task-4642516 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#201310
Original PR description
Before this commit, the default hostname of an IoT box was 'raspberrypi'. After this commit, the default hostname is now 'iotbox'. task-4642516 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#201310
Before this PR, a request was sent for each character typed inside the search of the invite to the channel panel. This PR introduces a debounce to avoid spamming the server with useless requests. Part of Task-4637517 Forward-Port-Of: odoo/odoo#201373
Original PR description
Before this PR, a request was sent for each character typed inside the search of the invite to the channel panel. This PR introduces a debounce to avoid spamming the server with useless requests. Part of Task-4637517 Forward-Port-Of: odoo/odoo#201373
back port of #198336 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#198799
Original PR description
back port of #198336 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#198799
Oversight of odoo/odoo@8a5019c5e576a4bd9ef745768de47bfab8d31a49 The previous versions of the code were using jQuery, which was compliant with the view element not existing. However, the FW to version 18.0 now uses native JavaScript. When switching to native JavaScript, we have to adapt the code to account for the selected block not existing to avoid a crash. Forward-Port-Of: odoo/odoo#201299
Original PR description
Oversight of odoo/odoo@8a5019c5e576a4bd9ef745768de47bfab8d31a49 The previous versions of the code were using jQuery, which was compliant with the view element not existing. However, the FW to version 18.0 now uses native JavaScript. When switching to native JavaScript, we have to adapt the code to account for the selected block not existing to avoid a crash. Forward-Port-Of: odoo/odoo#201299
Some live chat tours rely on the presence of the first message after chat creation to assume the thread was properly created which is not enough as the message is first posted in the temporary thread for seamless transition. fixes runbot-135255 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/
Original PR description
Some live chat tours rely on the presence of the first message after chat creation to assume the thread was properly created which is not enough as the message is first posted in the temporary thread for seamless transition. fixes runbot-135255 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#201396
Forward-Port-Of: odoo/odoo#199345 Forward-Port-Of: odoo/odoo#197127
Original PR description
Forward-Port-Of: odoo/odoo#199345 Forward-Port-Of: odoo/odoo#197127
To reproduce: 1) install with any chart of accounts. 2) delete account with account_type equity_unaffected(Current Year Earnings). 3) add custom account with type equity_unaffected. 4) load chart of templates by bumping minor version with a local upgrade script. we should only have one account with equity_unaffected per company, otherwise we violate `_check_account_type_unique_current_year_earning` constraint. Description of the issue/feature this PR addresses: Current beh
Original PR description
To reproduce: 1) install with any chart of accounts. 2) delete account with account_type equity_unaffected(Current Year Earnings). 3) add custom account with type equity_unaffected. 4) load chart of templates by bumping minor version with a local upgrade script. we should only have one account with equity_unaffected per company, otherwise we violate `_check_account_type_unique_current_year_earning` constraint. 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#201300 Forward-Port-Of: odoo/odoo#201073
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#201246 Forward-Port-Of: odoo/odoo#200033
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#201246 Forward-Port-Of: odoo/odoo#200033
Steps to reproduce: - Create a payment - Confirm - Edit and change date - Check associated move Issue: move date is not updated opw-4598423 Forward-Port-Of: odoo/odoo#201213
Original PR description
Steps to reproduce: - Create a payment - Confirm - Edit and change date - Check associated move Issue: move date is not updated opw-4598423 Forward-Port-Of: odoo/odoo#201213
…lled in the test The test was failing when the module was not installed because it was trying to access the auto_batch field but AttributeError: 'stock.picking.type' object has no attribute 'auto_batch' , because we need to install the module to have the field available which is stock_picking_batch module. so I conditionally check if stock_picking_batch module is installed build_error-115361 Forward-Port-Of: odoo/odoo#200964
Original PR description
…lled in the test The test was failing when the module was not installed because it was trying to access the auto_batch field but AttributeError: 'stock.picking.type' object has no attribute 'auto_batch' , because we need to install the module to have the field available which is stock_picking_batch module. so I conditionally check if stock_picking_batch module is installed build_error-115361 Forward-Port-Of: odoo/odoo#200964
### Steps to reproduce * install `mass_mailing` * send an email with the "Training" template You will see that the "unsubscribe" link does not appear in the email that is sent opw-4615170 Forward-Port-Of: odoo/odoo#201422 Forward-Port-Of: odoo/odoo#200342
Original PR description
### Steps to reproduce * install `mass_mailing` * send an email with the "Training" template You will see that the "unsubscribe" link does not appear in the email that is sent opw-4615170 Forward-Port-Of: odoo/odoo#201422 Forward-Port-Of: odoo/odoo#200342
Add a reference VAT number for Japan using the format of a "Qualified Invoice Issuer Registration Number". This will appear as placeholder for the VAT field on the company and partner settings. Also implement the dynamic placeholder system for the company registry field in order to allow filling in placeholders for countries in which it would make sense to do so. Finally, add a placeholder for the company registry for japanese companies and partners. task-4366584 --- I confirm I
Original PR description
Add a reference VAT number for Japan using the format of a "Qualified Invoice Issuer Registration Number". This will appear as placeholder for the VAT field on the company and partner settings. Also implement the dynamic placeholder system for the company registry field in order to allow filling in placeholders for countries in which it would make sense to do so. Finally, add a placeholder for the company registry for japanese companies and partners. task-4366584 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#201339 Forward-Port-Of: odoo/odoo#196347
**Current behavior before PR:** When a user edited a posted message and cleared its body, a confirmation dialog appeared for deletion. After confirming, the message was deleted, but `exitEditMode` was not called. This caused the message to take the full width of the composer. **Desired behavior after PR is merged:** `exitEditMode` is now called when an empty message is deleted, ensuring the composer resets properly and the message bubble maintains the correct width. Task-4642532
Original PR description
**Current behavior before PR:** When a user edited a posted message and cleared its body, a confirmation dialog appeared for deletion. After confirming, the message was deleted, but `exitEditMode` was not called. This caused the message to take the full width of the composer. **Desired behavior after PR is merged:** `exitEditMode` is now called when an empty message is deleted, ensuring the composer resets properly and the message bubble maintains the correct width. Task-4642532 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#201370
Steps to reproduce: 1. Create a user partner without an email address. 2. Assign the newly created user as the salesperson of another user. 3. Log in with the user to trigger the traceback. Issue: Attempting to concatenate `False` with a string (`'mailto:'`) in the portal contact template caused a `TypeError`. Fix: Added `t-if="sales_user.email"` to ensure the email field is present before rendering the link. task-4458848 --- I confirm I have signed the CLA and read the PR gu
Original PR description
Steps to reproduce: 1. Create a user partner without an email address. 2. Assign the newly created user as the salesperson of another user. 3. Log in with the user to trigger the traceback. Issue: Attempting to concatenate `False` with a string (`'mailto:'`) in the portal contact template caused a `TypeError`. Fix: Added `t-if="sales_user.email"` to ensure the email field is present before rendering the link. task-4458848 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#197587
We support sending credit transfers using ISO 20022 to accommodate non SEPA bank transfers (any party having no IBAN number). However when generating the XML file, we assumed that our company always had an IBAN number and put it in an IBAN node. For non IBAN numbers however we need to put it in another node. This commit fixes that. [opw-4585994](https://www.odoo.com/odoo/project.task/4585994) Forward-Port-Of: odoo/enterprise#81102 Forward-Port-Of: odoo/enterprise#80757
Original PR description
We support sending credit transfers using ISO 20022 to accommodate non SEPA bank transfers (any party having no IBAN number). However when generating the XML file, we assumed that our company always had an IBAN number and put it in an IBAN node. For non IBAN numbers however we need to put it in another node. This commit fixes that. [opw-4585994](https://www.odoo.com/odoo/project.task/4585994) Forward-Port-Of: odoo/enterprise#81102 Forward-Port-Of: odoo/enterprise#80757
To reproduce: - create two repeating planning.slot records, Shift A and Shift B - delete Shift A and all of its repeats - delete only the last repeat of Shift B - run the "Planning: generate next recurring shifts" scheduled action - Cron fails with "record is missing or deleted" error Problem: The function to create the repeat shifts (planning.recurrency _repeat_slot) iterates over recurrences and deletes them if there are 0 existing shifts linked to them (i.e. Shift A's reccurency). On
Original PR description
To reproduce: - create two repeating planning.slot records, Shift A and Shift B - delete Shift A and all of its repeats - delete only the last repeat of Shift B - run the "Planning: generate next recurring shifts" scheduled action - Cron fails with "record is missing or deleted" error Problem: The function to create the repeat shifts (planning.recurrency _repeat_slot) iterates over recurrences and deletes them if there are 0 existing shifts linked to them (i.e. Shift A's reccurency). On a subsequent loop iteration, an attempt is made to access the company_id field of the recordset (self) which will now contain a deleted planning.recurrency record, causing the missing record error. Solution: Access the company_id field on the current iterated planning.recurrency record instead of the 'self' recordset. opw-4457844 X-original-commit: b3742b576e67f0391db0e5fcf138950c6275e770 Forward-Port-Of: odoo/enterprise#81301
Steps: Go to a pivot view with: - either a predefined sort on the action/filter. - sort by a measure then uncheck the measure. We can't keep the sorting because the sorting is done client-side. If the field is not part of the measures, we don't have the data to sort... Task: 4467262 Forward-Port-Of: odoo/enterprise#81074 Forward-Port-Of: odoo/enterprise#76882
Original PR description
Steps: Go to a pivot view with: - either a predefined sort on the action/filter. - sort by a measure then uncheck the measure. We can't keep the sorting because the sorting is done client-side. If the field is not part of the measures, we don't have the data to sort... Task: 4467262 Forward-Port-Of: odoo/enterprise#81074 Forward-Port-Of: odoo/enterprise#76882
Before the PR: As could be experienced, the SII sometimes sends responses that are not encoded properly, or instead of responding with an XML, the response is an HTML instead. As a consequence of this, a bug was discovered in the response after uploading an AEC file (stands for electronic yielding file in Spanish). After the PR: We added a special parser method, that before transforming the response to a parsed XML, analyzes the encoding, and concludes in an html parsing and posting it to th
Original PR description
Before the PR: As could be experienced, the SII sometimes sends responses that are not encoded properly, or instead of responding with an XML, the response is an HTML instead. As a consequence of this, a bug was discovered in the response after uploading an AEC file (stands for electronic yielding file in Spanish). After the PR: We added a special parser method, that before transforming the response to a parsed XML, analyzes the encoding, and concludes in an html parsing and posting it to the chatter to inform the user. This is difficult to debug since the possible undocumented responses are not easy to reproduce in an SII test environment, so we applied this method only to a particular case, found in some situations for some users. Forward-Port-Of: odoo/enterprise#80002
When a receipt was generated on a german company the tss information where not displayed on it. Steps to reproduce: ------------------- * Set up fiskaly on german company * Make a sale on the PoS * Go to the receipt screen > Observation: No tss information is displayed opw-4581169 Forward-Port-Of: odoo/enterprise#81070
Original PR description
When a receipt was generated on a german company the tss information where not displayed on it. Steps to reproduce: ------------------- * Set up fiskaly on german company * Make a sale on the PoS * Go to the receipt screen > Observation: No tss information is displayed opw-4581169 Forward-Port-Of: odoo/enterprise#81070
In order to comply with the EU Measuring Instruments Directive, the code for weighing products must be verified with a checksum to ensure it has not been modified. This commit adds an endpoint for retrieving the checksum of the relevant scale code, as well as refactoring of the code to make it as simpler and to reduce the amount of code that needs to be certified. Community PR: https://github.com/odoo/odoo/pull/189846 task-3929839 Forward-Port-Of: odoo/enterprise#80374 Forward-Port-
Original PR description
In order to comply with the EU Measuring Instruments Directive, the code for weighing products must be verified with a checksum to ensure it has not been modified. This commit adds an endpoint for retrieving the checksum of the relevant scale code, as well as refactoring of the code to make it as simpler and to reduce the amount of code that needs to be certified. Community PR: https://github.com/odoo/odoo/pull/189846 task-3929839 Forward-Port-Of: odoo/enterprise#80374 Forward-Port-Of: odoo/enterprise#75269
back port of #79694 Forward-Port-Of: odoo/enterprise#79943
Original PR description
back port of #79694 Forward-Port-Of: odoo/enterprise#79943
Outgoing emails now contain more message IDs in references to help thread formation. This is notably due to parent_id being the first thread message, hence often technical, and this cause issues in multi odoo communications. This increases a bit query counters when sending emails. Indeed when preparing outgoing emails we now have to search for messages, and check for subtype details, which means additional queries. See community PR for more details. Task-4559249 Forward-Port-Of: odoo/e
Original PR description
Outgoing emails now contain more message IDs in references to help thread formation. This is notably due to parent_id being the first thread message, hence often technical, and this cause issues in multi odoo communications. This increases a bit query counters when sending emails. Indeed when preparing outgoing emails we now have to search for messages, and check for subtype details, which means additional queries. See community PR for more details. Task-4559249 Forward-Port-Of: odoo/enterprise#80190 Forward-Port-Of: odoo/enterprise#79048
### Steps to reproduce: - install l10n_ec_edi_pos - Create a new POS in the EC Company. - With a use without inventory adminstrator access rights: - Open a pos session, select any product and a custome linked to the EC localisation. - Try to validate the POS order that is invoiced using the cash payment method. #### > An access error is raised with respect to the `stock_valuation_layer_ids` fields of the account.move model ### Cause of the issue: Clicking on validate will launch a
Original PR description
### Steps to reproduce: - install l10n_ec_edi_pos - Create a new POS in the EC Company. - With a use without inventory adminstrator access rights: - Open a pos session, select any product and a…
### Steps to reproduce: - install l10n_ec_edi_pos - Create a new POS in the EC Company. - With a use without inventory adminstrator access rights: - Open a pos session, select any product and a custome linked to the EC localisation. - Try to validate the POS order that is invoiced using the cash payment method. #### > An access error is raised with respect to the `stock_valuation_layer_ids` fields of the account.move model ### Cause of the issue: Clicking on validate will launch a call of the `syncAllOrders` method. During this call, missing records will be fetched recursisvely here: https://github.com/odoo/odoo/blob/2108ad3f7c851eeceb84d7459485a18e1574fa64/addons/point_of_sale/static/src/app/store/pos_store.js#L1271 (Note that this call does not exist prior to 18.0). However, as the data contains a pos order that is related to account moves and since the `account.move` model of the localisation inherit from the `pos.load.mixin`: https://github.com/odoo/enterprise/blob/efa1853cf1f9bbd945a91971ffe40c6906482063/l10n_ec_edi_pos/models/account_move.py#L6-L8 the account move will be fetched as a related record to the pos order and we will launch a `read` for the `fields=[]`: https://github.com/odoo/odoo/blob/2108ad3f7c851eeceb84d7459485a18e1574fa64/addons/point_of_sale/static/src/app/models/data_service.js#L513-L515 https://github.com/odoo/odoo/blob/2108ad3f7c851eeceb84d7459485a18e1574fa64/addons/point_of_sale/models/pos_load_mixin.py#L9-L11 However, a read performed with a false value in the `fields` tries to read the value of each field on the records: https://github.com/odoo/odoo/blob/2108ad3f7c851eeceb84d7459485a18e1574fa64/odoo/models.py#L3792-L3798 This includes protected fields such as the `stock_valuation_layer_ids` that can only be read by user's with administrator stock access rights. opw-4498024 Forward-Port-Of: odoo/enterprise#80156
A potential access right issue appears in the case a simple HR user accessed the employee view without payroll rights since source-tax mutations are restricted to payroll users. opw-4607112 Forward-Port-Of: odoo/enterprise#81200
Original PR description
A potential access right issue appears in the case a simple HR user accessed the employee view without payroll rights since source-tax mutations are restricted to payroll users. opw-4607112 Forward-Port-Of: odoo/enterprise#81200
In case of having two lines with the same product, the cfdi field `ValorUnitarioAduana` is wrong, it is set as the total of the two lines. With this commit, we set it as the average of the lines. Steps (with demo data, company `ESCUELA ...`): - Partner "Azure Interior" -> change `Tax ID` from `US12345677` to `123456779` - Product `[E-COM06]` -> - `UNSPC Catgegory`: `01010101` - `Tariff Fraction`: `0101290200` - `UMT Aduana`: `Units` - Make an invoice: - Currency: USD - Two lines for pro
Original PR description
In case of having two lines with the same product, the cfdi field `ValorUnitarioAduana` is wrong, it is set as the total of the two lines. With this commit, we set it as the average of the lines. Steps (with demo data, company `ESCUELA ...`): - Partner "Azure Interior" -> change `Tax ID` from `US12345677` to `123456779` - Product `[E-COM06]` -> - `UNSPC Catgegory`: `01010101` - `Tariff Fraction`: `0101290200` - `UMT Aduana`: `Units` - Make an invoice: - Currency: USD - Two lines for product `[E-COM06]` - Incoterm: `[EXW] EX WORKS` - External Trade: `Definitive` - Confirm and sent to cfdi -> Error opw-4596628 Forward-Port-Of: odoo/enterprise#81205 Forward-Port-Of: odoo/enterprise#80660
Forward-Port-Of: odoo/enterprise#81135
Original PR description
Forward-Port-Of: odoo/enterprise#81135
In this commit: === - Integrated Rappi as a provider in pos_urban_piper. task-4632154 Forward-Port-Of: odoo/enterprise#80923
Original PR description
In this commit: === - Integrated Rappi as a provider in pos_urban_piper. task-4632154 Forward-Port-Of: odoo/enterprise#80923