Thursday, August 8, 2024
22 changes · saas-17.1
Resolved issues and error corrections
Downpayment receipts in Point of Sale now show the names of the products linked to the sales order. This prevents confusing blank receipt lines and makes receipts clearer for customers and staff.
Original PR description
Currently, when making downpayment the name on the product concerned by the downpayment are not reflected on the receipt. Steps to reproduce: ------------------- * Go to the **Sale** App * Make a…
Currently, when making downpayment the name on the product concerned by the downpayment are not reflected on the receipt. Steps to reproduce: ------------------- * Go to the **Sale** App * Make a quotation with multiple products -> Save * Go to the **Point of Sale** App * Make a downpayment for the quotation just created * Pay and validate > Observation: We see multiple '1x ' lines on the receipt, under the downpayment line but the product names are not shown Why the fix: ------------ https://github.com/odoo/odoo/blob/9e934b83ed200317947ee7575deb443e721290e8/addons/pos_sale/static/src/app/order_management_screen/sale_order_management_screen/sale_order_management_screen.js#L384 `line.product_id` is now only a number thus `line.product_id[1]` is undefined. We could use `line.display_name` as it is already currently loaded but there is too much information on the display name. It has the following format: `Sale Order nbr - Name of the product - Customer of the SO` opw-4043149
Miscellaneous changes
In some rare cases, the payment status poll can enter the post-processing of a given transaction and conflict with the post-processing triggered by a webhook notification, for the same transaction. If the transaction is linked to a sale.order, both transactions will try to add the partner as follower during the post-processing, leading to a violation of the unique constraint ensuring that two mail.followers rows won't target the same record and partner. psycopg2.errors.UniqueViolation: dup
Original PR description
In some rare cases, the payment status poll can enter the post-processing of a given transaction and conflict with the post-processing triggered by a webhook notification, for the same transaction. If the transaction is linked to a sale.order, both transactions will try to add the partner as follower during the post-processing, leading to a violation of the unique constraint ensuring that two mail.followers rows won't target the same record and partner. psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "mail_followers_mail_followers_res_partner_res_model_id_uniq" DETAIL: Key (res_model, res_id, partner_id)=(sale.order, 20205, 94178) already exists. This commit makes sure that this kind of psycopg exceptions are caught and retried so that this kind of error is not shown to the user and the polling is successfully triggered a second time. opw-4000159 Forward-Port-Of: odoo/odoo#175836
Translated text that contains multiple interpolated values should always use named placeholders. Otherwise, sprintf will always insert the values in the same order, which may not match the order of the placeholders after translation in a language with a different syntax. Forward-Port-Of: odoo/odoo#175465 Forward-Port-Of: odoo/odoo#175332
Original PR description
Translated text that contains multiple interpolated values should always use named placeholders. Otherwise, sprintf will always insert the values in the same order, which may not match the order of the placeholders after translation in a language with a different syntax. Forward-Port-Of: odoo/odoo#175465 Forward-Port-Of: odoo/odoo#175332
If the module l10n_be was installed and you tried to invoice a settled order, you got a traceback Steps to reproduce: ------------------- * Install l10n_be_pos_sale module * Open PoS in a non belgian company * Import an order from sales in PoS * Try to invoice it > Observation: You get a traceback Why the fix: ------------ Intracom taxes where not set and was causing a traceback. opw-4089625 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-
Original PR description
If the module l10n_be was installed and you tried to invoice a settled order, you got a traceback Steps to reproduce: ------------------- * Install l10n_be_pos_sale module * Open PoS in a non belgian company * Import an order from sales in PoS * Try to invoice it > Observation: You get a traceback Why the fix: ------------ Intracom taxes where not set and was causing a traceback. opw-4089625 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175397
Since version 17.0, there is an issue with the Text Cover snippet where the scroll button becomes deformed and takes up the entire height of the snippet when the scroll down button is toggled and the snippet is set to 100% height. The problem occurs because the `.s_text_cover` CSS rule `.s_text_cover > *` applies `min-height: inherit;` to all direct children, including the scroll button. To resolve this, the CSS rule has been updated to exclude the scroll button from inheriting the minimum
Original PR description
Since version 17.0, there is an issue with the Text Cover snippet where the scroll button becomes deformed and takes up the entire height of the snippet when the scroll down button is toggled and the snippet is set to 100% height. The problem occurs because the `.s_text_cover` CSS rule `.s_text_cover > *` applies `min-height: inherit;` to all direct children, including the scroll button. To resolve this, the CSS rule has been updated to exclude the scroll button from inheriting the minimum height by adding a `:not(.o_scroll_button)` selector. task-4091232 Forward-Port-Of: odoo/odoo#175660
**Steps to reproduce the bug:** - Create a storable product "A1" and "A2". - Update their available quantity to 5. - Create a picking with 5 units of "A1" and another picking with 5 units of "A2". - Confirm both pickings. - Create a new wave transfer and add both pickings. - Update the quantity of "A1" to 0 units. - Try to validate the wave. **Problem:** A user error is triggered: "You cannot validate a transfer if no quantities are reserved. To force the transfer, encode quantities."
Original PR description
**Steps to reproduce the bug:** - Create a storable product "A1" and "A2". - Update their available quantity to 5. - Create a picking with 5 units of "A1" and another picking with 5 units of "A2". - Confirm both pickings. - Create a new wave transfer and add both pickings. - Update the quantity of "A1" to 0 units. - Try to validate the wave. **Problem:** A user error is triggered: "You cannot validate a transfer if no quantities are reserved. To force the transfer, encode quantities." **Solution:** When the quantity of "A1" is updated to 0, the state of the picking becomes "confirmed" instead of "assigned" and as all the moves in this picking have a 0 quantity, we can exclude it from the wave and allow the wave validation. opw-4016209 Forward-Port-Of: odoo/odoo#175888
When settling a sale order in PoS and using shiplater, there was no serial number on the ship later picking Steps to reproduce: ------------------- * Setup a product to be tracked by serial number * Update stock for this product and create 2 SN * Create an order with 2 quants of this product * Setup the PoS to allow ship later * Open PoS and load the sale order * Validate the order with ship later > Observation: The picking created for the pos order has no serial number Why the fi
Original PR description
When settling a sale order in PoS and using shiplater, there was no serial number on the ship later picking Steps to reproduce: ------------------- * Setup a product to be tracked by serial number *…
When settling a sale order in PoS and using shiplater, there was no serial number on the ship later picking Steps to reproduce: ------------------- * Setup a product to be tracked by serial number * Update stock for this product and create 2 SN * Create an order with 2 quants of this product * Setup the PoS to allow ship later * Open PoS and load the sale order * Validate the order with ship later > Observation: The picking created for the pos order has no serial number Why the fix: ------------ There is no serial number on the pos order picking because at the moment we try to create it the quantities are still reserved for the sale order To fix it we unreserve the quantities before creating the new picking. We also make sure that if not all the quantities are paid in the PoS, they are reserved again. https://github.com/odoo/odoo/pull/173389/files#diff-3f2dda6b95e58f16fb47dc8e8d49e369cc93ee700fbef7975c472514b1888a8aR105-R107 opw-4005925 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#173389
Steps to reproduce: - Have a user have no inventory rights and User rights for sales - As that user, create a sale order that sells a storable product, which has at least one picking related to it in progress - Click on the forecast icon then on 'View Forecast' Issue: An access error will be triggered, as the user doesn't have the rights to consult `stock.valuation.layer` records. These records being useless for the forecast report itself, we can restrict instead what fields are read f
Original PR description
Steps to reproduce: - Have a user have no inventory rights and User rights for sales - As that user, create a sale order that sells a storable product, which has at least one picking related to it in progress - Click on the forecast icon then on 'View Forecast' Issue: An access error will be triggered, as the user doesn't have the rights to consult `stock.valuation.layer` records. These records being useless for the forecast report itself, we can restrict instead what fields are read for the moves, to only fetch actually required fields. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175655
**Current behavior before PR:** If a partner has `im_status` set to `away/bot` or is on leave, causing their `im_status` to be suffixed with `leave_`, they were placed into the `Offline` category. While except if they are `offline` they should have been placed in `Online` category. **Desired behavior after PR is merged:** If a member has `offline/im_partner` status, only then they are placed into `Offline` category. **Task**-[4101827](https://www.odoo.com/odoo/project.task/4101827)
Original PR description
**Current behavior before PR:** If a partner has `im_status` set to `away/bot` or is on leave, causing their `im_status` to be suffixed with `leave_`, they were placed into the `Offline` category. While except if they are `offline` they should have been placed in `Online` category. **Desired behavior after PR is merged:** If a member has `offline/im_partner` status, only then they are placed into `Offline` category. **Task**-[4101827](https://www.odoo.com/odoo/project.task/4101827) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#176031
An error occurs when adding a printer with accents in its name. When trying to print, no error is shown to the user, only an error log in the console. The issue is due to the get_identifier() function in the Printer class, which uses a regex that does not allow accents. Steps to reproduce: 1. Add a printer with an accent in its name in Cups. 2. Synchronize the IoT box to Odoo. 3. Enable some reports printing on the IoT box for the new device. 4. Try to print a report with the new print
Original PR description
An error occurs when adding a printer with accents in its name. When trying to print, no error is shown to the user, only an error log in the console. The issue is due to the get_identifier() function in the Printer class, which uses a regex that does not allow accents. Steps to reproduce: 1. Add a printer with an accent in its name in Cups. 2. Synchronize the IoT box to Odoo. 3. Enable some reports printing on the IoT box for the new device. 4. Try to print a report with the new printer. 5. Then: 1. No error is displayed for the end user. 2. An error is logged in the console. Solution: Use a different regex approach by disallowing certain characters instead of allowing only specific ones. opw-4070003 Forward-Port-Of: odoo/odoo#175974
Chilean customers are not required to provide a Zip Code, as this information is not commonly used in the country. task-4048931 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175736 Forward-Port-Of: odoo/odoo#172954
Original PR description
Chilean customers are not required to provide a Zip Code, as this information is not commonly used in the country. task-4048931 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175736 Forward-Port-Of: odoo/odoo#172954
location_menu_ids field domain was set to match a menu_type that doesn't exist. [reproduce orginal bug] - install website_event - open some event in debug mode - Edit -> select "Website Submenu" -> Save - Edit -> select "Website Submenu" -> deselect "Website Submenu" -> Save - Open Event's page, BUG: location menu duplicated opw-4049804 PS. enums :+1: string collections :-1: Forward-Port-Of: odoo/odoo#175052 Forward-Port-Of: odoo/odoo#174891
Original PR description
location_menu_ids field domain was set to match a menu_type that doesn't exist. [reproduce orginal bug] - install website_event - open some event in debug mode - Edit -> select "Website Submenu" -> Save - Edit -> select "Website Submenu" -> deselect "Website Submenu" -> Save - Open Event's page, BUG: location menu duplicated opw-4049804 PS. enums :+1: string collections :-1: Forward-Port-Of: odoo/odoo#175052 Forward-Port-Of: odoo/odoo#174891
With an IT company setup Create a BILL in foreign currency with tax Go to List view Activate field VAT (l10n_it_edi_amount_vat_signed) Issue: VAT amount is in company currency (symbol in foreign), it should be in foreign currency opw-4034566 Forward-Port-Of: odoo/odoo#172220
Original PR description
With an IT company setup Create a BILL in foreign currency with tax Go to List view Activate field VAT (l10n_it_edi_amount_vat_signed) Issue: VAT amount is in company currency (symbol in foreign), it should be in foreign currency opw-4034566 Forward-Port-Of: odoo/odoo#172220
After this commit, the option to hide the YouTube logo is removed from the video options because the parameter is no longer supported since August 15, 2023, in the YouTube API. For more information, see: https://developers.google.com/youtube/player_parameters#modestbranding opw-4078086 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175932 Forward-Port-Of: odoo/odoo#175691
Original PR description
After this commit, the option to hide the YouTube logo is removed from the video options because the parameter is no longer supported since August 15, 2023, in the YouTube API. For more information, see: https://developers.google.com/youtube/player_parameters#modestbranding opw-4078086 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175932 Forward-Port-Of: odoo/odoo#175691
This commit's purpose is to rename the other costs & other revenues section to avoid id conflict with other section of the project profitability panel. 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#171949
Original PR description
This commit's purpose is to rename the other costs & other revenues section to avoid id conflict with other section of the project profitability panel. 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#171949
In some cases, this test can fail if the logs are not exactly in the expected order. See some examples here: https://runbot.odoo.com/runbot/build/66341605 https://runbot.odoo.com/runbot/build/66320898 https://runbot.odoo.com/runbot/build/66320884 After this commit, the order of the logs does not matter for the test. Also, in case the test does fail, the logs are visible in the traceback (instead of being suppressed by the log catcher) --- I confirm I have signed the CLA and read t
Original PR description
In some cases, this test can fail if the logs are not exactly in the expected order. See some examples here: https://runbot.odoo.com/runbot/build/66341605 https://runbot.odoo.com/runbot/build/66320898 https://runbot.odoo.com/runbot/build/66320884 After this commit, the order of the logs does not matter for the test. Also, in case the test does fail, the logs are visible in the traceback (instead of being suppressed by the log catcher) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175344
Fixed error on compute method when more of one wizard is created and tried to get the `mail_partner_ids`. This section is for `invoice_single` records, so, if you send multiple move_ids a singleton error is returned because you send the moves of all the wizards. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175266
Original PR description
Fixed error on compute method when more of one wizard is created and tried to get the `mail_partner_ids`. This section is for `invoice_single` records, so, if you send multiple move_ids a singleton error is returned because you send the moves of all the wizards. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175266
With an ES company setup Create an invoice having line with taxes: 21% and 15% WHI Send&Print Download the facturae xml Validate the xml on the face website [1] Issue: validation will fail with error """ Línea xyz: Element 'TaxesWithheld': This element is not expected. Expected is one of ( LineItemPeriod, TransactionDate, AdditionalLineItemInformation, SpecialTaxableEvent, ArticleCode, Extensions ). """ This occurs because, according to official specs [2] in element InvoiceLine (3.
Original PR description
With an ES company setup Create an invoice having line with taxes: 21% and 15% WHI Send&Print Download the facturae xml Validate the xml on the face website [1] Issue: validation will fail with error """ Línea xyz: Element 'TaxesWithheld': This element is not expected. Expected is one of ( LineItemPeriod, TransactionDate, AdditionalLineItemInformation, SpecialTaxableEvent, ArticleCode, Extensions ). """ This occurs because, according to official specs [2] in element InvoiceLine (3.1.6.1) TaxesWithheld (3.1.6.1.21) should precede 'TaxesOutput' (3.1.6.1.22) [1] https://face.gob.es/es/facturas/validar-visualizar-facturas [2] https://www.facturae.gob.es/formato/Versiones/Esquema_castellano_v3_2_x_06_06_2017_unificado.pdf opw-3981213 Forward-Port-Of: odoo/odoo#172496
Using the name field in the domain for a discount product would cause the search to break because name was not being loaded into the Javascript through this function _loader_params_product_product. Changed the types of errors that are thrown instead being shown a notification popup in order to avoid the clunky Javascript error in the case of a typeerror from not having the field loaded. opw-4027900 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Original PR description
Using the name field in the domain for a discount product would cause the search to break because name was not being loaded into the Javascript through this function _loader_params_product_product. Changed the types of errors that are thrown instead being shown a notification popup in order to avoid the clunky Javascript error in the case of a typeerror from not having the field loaded. opw-4027900 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172372
PERIODS_PER_YEAR is using "yearly" but hr_contract uses "anually" and since this model uses the hr_contract, we need to keep the same dictionary keys. In customer database the installation of the module is failing because cannot find key "anually". The issue would also happen if you just set a yearly wage opw-4083058 Forward-Port-Of: odoo/enterprise#68036
Original PR description
PERIODS_PER_YEAR is using "yearly" but hr_contract uses "anually" and since this model uses the hr_contract, we need to keep the same dictionary keys. In customer database the installation of the module is failing because cannot find key "anually". The issue would also happen if you just set a yearly wage opw-4083058 Forward-Port-Of: odoo/enterprise#68036
The Issue: Before this commit, the test always assumed the existence of the 'Deco Addict' partner. However, in the 'no demo' test, we run tests without demo data, so this partner does not exist. The Fix: Create the demo Partner runbot-58765 Forward-Port-Of: odoo/enterprise#67811
Original PR description
The Issue: Before this commit, the test always assumed the existence of the 'Deco Addict' partner. However, in the 'no demo' test, we run tests without demo data, so this partner does not exist. The Fix: Create the demo Partner runbot-58765 Forward-Port-Of: odoo/enterprise#67811
The default _generate_payslip method is using structure type instead of structure. Therefore it generates wrong payslip under BE structure. Forward-Port-Of: odoo/enterprise#67770
Original PR description
The default _generate_payslip method is using structure type instead of structure. Therefore it generates wrong payslip under BE structure. Forward-Port-Of: odoo/enterprise#67770