Thursday, August 8, 2024
25 changes · saas-17.2
Miscellaneous changes
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
### Steps to reproduce: - Create a storable product P tracked by SN - Create a consumable (or a storable with 5 units on hand) product COMP 1 and a storable product COMP 2 (without units on hand) - Create a BOM for P with an operation op 1 and two component lines: - 1 x COMP 1 consumed in op 1 - 1 x COMP 2 consumed in op 1 - Create and confirm an MO for 5 units of P - Go to the shopfloor and click on register production. **> the qty is updated to 1 on COMP 2 but to 5/1 on
Original PR description
### Steps to reproduce: - Create a storable product P tracked by SN - Create a consumable (or a storable with 5 units on hand) product COMP 1 and a storable product COMP 2 (without units on hand) -…
### Steps to reproduce:
- Create a storable product P tracked by SN
- Create a consumable (or a storable with 5 units on hand) product
COMP 1 and a storable product COMP 2 (without units on hand)
- Create a BOM for P with an operation op 1 and two component lines:
- 1 x COMP 1 consumed in op 1
- 1 x COMP 2 consumed in op 1
- Create and confirm an MO for 5 units of P
- Go to the shopfloor and click on register production.
**> the qty is updated to 1 on COMP 2 but to 5/1 on COMP 1**
As such, if you click on the 5/1, 5 units of COMP 1 will be consumed to produce only one unit of P
### Cause of the issue:
When you confirm the MO, since Comp 1 is a consumable its quantity is automatically set to 5.0 because reservation are bypassed. On the other hand, since Comp 2 is a storable without on hand qty, its quantity stays at 0.0. When you click on register production, or on the plus sign will trigger a call of the "_set_qty_producing" method. This call will update the qty_producing of the final product:
https://github.com/odoo/odoo/blob/f86c68ec8340a59407ea9c51dd0ba942f9b4429c/addons/mrp/models/mrp_production.py#L1214-L1218
However, the update of the qty consumed by the raw move will be bypassed because of these lines:
https://github.com/odoo/odoo/blob/f86c68ec8340a59407ea9c51dd0ba942f9b4429c/addons/mrp/models/mrp_production.py#L1225-L1226
https://github.com/odoo/enterprise/blob/0646022d7726a0cc183b191ca5be4e4bb4368f93/mrp_workorder/models/stock_move.py#L10-L13
And the quantity will therefore not be updated by these lines:
https://github.com/odoo/odoo/blob/f86c68ec8340a59407ea9c51dd0ba942f9b4429c/addons/mrp/models/mrp_production.py#L1228-L1231
However, as the quantity is not set to 0, it will be displayed as "quantity/should_consume_qty" and clicking on the raw move line will not update the quantity so 5 units will be marked as consumed ("picked").
Community: https://github.com/odoo/odoo/pull/168205
opw-3887580
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/enterprise#67661
Forward-Port-Of: odoo/enterprise#63912Issue ----- Trial report assumes the `comparison` key exists when generating report options. However, that won't be the case if `filter_period_comparison` (Period Comparison option) is false. Steps ----- - Go to Accounting -> Configuration -> Accounting Reports. - Choose Trial Balance then go to Options and disable 'Period Comparison'. - Now generate a trial balance report by going to Reporting -> Audio Reports -> Trial Balance. - A `KeyError` is thrown. opw-3991886 Forward-Po
Original PR description
Issue ----- Trial report assumes the `comparison` key exists when generating report options. However, that won't be the case if `filter_period_comparison` (Period Comparison option) is false. Steps ----- - Go to Accounting -> Configuration -> Accounting Reports. - Choose Trial Balance then go to Options and disable 'Period Comparison'. - Now generate a trial balance report by going to Reporting -> Audio Reports -> Trial Balance. - A `KeyError` is thrown. opw-3991886 Forward-Port-Of: odoo/enterprise#67747 Forward-Port-Of: odoo/enterprise#66049
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
Currently, If 'MerchantTrns' is not available due to failed transactions, The System only sends a notification but does not return it. therefore errors occur from here [1] due to the unavailable of 'MerchantTrns'. link [1]: https://github.com/odoo/odoo/blob/ede5da1f72088ac1f78c9bc5206ccd666dce8c3d/addons/pos_viva_wallet/models/pos_payment_method.py#L118 To resolve this issue, return a send notification if 'MerchantTrns' is not available in 'data_webhook'. Related PR: https://github.com
Original PR description
Currently, If 'MerchantTrns' is not available due to failed transactions, The System only sends a notification but does not return it. therefore errors occur from here [1] due to the unavailable of 'MerchantTrns'. link [1]: https://github.com/odoo/odoo/blob/ede5da1f72088ac1f78c9bc5206ccd666dce8c3d/addons/pos_viva_wallet/models/pos_payment_method.py#L118 To resolve this issue, return a send notification if 'MerchantTrns' is not available in 'data_webhook'. Related PR: https://github.com/odoo/odoo/pull/171764 Sentry - 5466498742 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#174801
### Steps to reproduce: - Install Purchase and Accounting - Go in Accounting > Configuration > Accounting > Taxes - Select the line with "Tax Type" equal to "Purchases" - In advanced options tick "Included in Price" - In the Purchase app create a new RFQ and add the tax - Confirm the order and receive the products - In the Purchase Order form view go in Action > Accrued Expense Entry - Change the date to a month from now, lines should appear - These lines have the price including the ta
Original PR description
### Steps to reproduce: - Install Purchase and Accounting - Go in Accounting > Configuration > Accounting > Taxes - Select the line with "Tax Type" equal to "Purchases" - In advanced options tick "Included in Price" - In the Purchase app create a new RFQ and add the tax - Confirm the order and receive the products - In the Purchase Order form view go in Action > Accrued Expense Entry - Change the date to a month from now, lines should appear - These lines have the price including the taxes, it should be without ### Cause: The calculation of the problematic price is `qty_to_invoice * price_unit`, which is problematic with included taxes. ### Solution: Instead of calculating the price we use the `price_subtotal` calculated by the `compute_all` method. We can not use `price_subtotal` of the line as it includes the whole quantity and not only the quantity to invoice. opw-4045737 Forward-Port-Of: odoo/odoo#175931 Forward-Port-Of: odoo/odoo#173662
Issue 1: --- ### Steps to reproduce: - Create a storable product P tracked by SN - Create a consumable (or a storable with 5 units on hand) product COMP 1 and a storable product COMP 2 (without units on hand) - Create a BOM for P with an operation op 1 and two component lines: - 1 x COMP 1 consumed in op 1 - 1 x COMP 2 consumed in op 1 - Create and confirm an MO for 5 units of P - Go to the shopfloor and click on register production. **> the qty is updated to 1 on COMP 2
Original PR description
Issue 1: --- ### Steps to reproduce: - Create a storable product P tracked by SN - Create a consumable (or a storable with 5 units on hand) product COMP 1 and a storable product COMP 2 (without units…
Issue 1:
---
### Steps to reproduce:
- Create a storable product P tracked by SN
- Create a consumable (or a storable with 5 units on hand) product
COMP 1 and a storable product COMP 2 (without units on hand)
- Create a BOM for P with an operation op 1 and two component lines:
- 1 x COMP 1 consumed in op 1
- 1 x COMP 2 consumed in op 1
- Create and confirm an MO for 5 units of P
- Go to the shopfloor and click on register production.
**> the qty is updated to 1 on COMP 2 but to 5/1 on COMP 1**
As such, if you click on the 5/1, 5 units of COMP 1 will be consumed to produce only one unit of P
### Cause of the issue:
When you confirm the MO, since Comp 1 is a consumable its quantity is automatically set to 5.0 because reservation are bypassed. On the other hand, since Comp 2 is a storable without on hand qty, its quantity stays at 0.0. When you click on register production, or on the plus sign will trigger a call of the "_set_qty_producing" method. This call will update the qty_producing of the final product:
https://github.com/odoo/odoo/blob/f86c68ec8340a59407ea9c51dd0ba942f9b4429c/addons/mrp/models/mrp_production.py#L1214-L1218
However, the update of the qty consumed by the raw move will be bypassed because of these lines:
https://github.com/odoo/odoo/blob/f86c68ec8340a59407ea9c51dd0ba942f9b4429c/addons/mrp/models/mrp_production.py#L1225-L1226
https://github.com/odoo/enterprise/blob/0646022d7726a0cc183b191ca5be4e4bb4368f93/mrp_workorder/models/stock_move.py#L10-L13
And the quantity will therefore not be updated by these lines:
https://github.com/odoo/odoo/blob/f86c68ec8340a59407ea9c51dd0ba942f9b4429c/addons/mrp/models/mrp_production.py#L1228-L1231
However, as the quantity is not set to 0, it will be displayed as "quantity/should_consume_qty" and clicking on the raw move line will not update the quantity so 5 units will be marked as consumed ("picked").
Issue 2
---
### Steps to reproduce:
- Enable Multi-Step routes in the settings
- Go Inventory > Configuration > Warehouse Management > Warehouses
- Enable 2-step manufacturing on your Warehouse
- Create 2 storable products:
- product P: tracked by SN
- product COMP: tracked by lot
- Update the "on hand qty" of COMP by creating a lot with 10 units
- Create and confirm a manufacturing order for 1 unit of P
- Assign a serial number to the final product
- Validate the transfer of components from stock to preproduction (The lot is automatically used on this transfer as it is available)
### Expected behavior:
Since the lot of COMP was used in the transfer from stock to preproduction it should be displayed on the raw move of the MO.
### Current behavior:
The raw move is not updated.
Note: if the transfer is validated before we assign a serial number to the final product, the lot of the component is correctly updated.
### Cause of the issue:
When the 'action_generate_serial' is triggered in order to assign a SN to the final product P, the '_set_qty_producing' is called in order adapt the quantities of the MO (produce only one unit and consume accordingly):
https://github.com/odoo/odoo/blob/37c67ba6d2bef0bdca715619f117c3124ef5d334/addons/mrp/models/mrp_production.py#L1397-L1398
https://github.com/odoo/odoo/blob/37c67ba6d2bef0bdca715619f117c3124ef5d334/addons/mrp/models/mrp_production.py#L1215-L1231
Now, changing the quantity of the stock move of the component to a positive quantity will trigger the inverse method '_set_quantity' of that field to adapt reservation by creating a stock.move.line. Therefore, validating the transfer of components from stock to pre-production will not update the lot of components on the raw move because the computed need will be at 0 here:
https://github.com/odoo/odoo/blob/3097ea49705a1b6319be9677152d65ebe3ce515b/addons/stock/models/stock_move.py#L1689-L1697
and the '_update_reserved_quantity' call will therefore be empty.
Issue 1: opw-3887580 and opw-3863572
Issue 2: opw-3925894
Enterprise: https://github.com/odoo/enterprise/pull/63912
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#175050
Forward-Port-Of: odoo/odoo#168205Fixed 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
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
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
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
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
Steps to reproduce the bug: - Create a storable product “P1” with BoM - Component: 1 unit of C1 tracked by Serial Number - Update the quantity of P1 with “SN1” - Create a MO to produce one unit of P1: - Confirm it - Select “SN1” for C1 - Validate the MO - Create a repair order to remove C1 from P1 and confirm, start, and complete the repair: - Destination location: WH/Stock - Serial Number: “SN1” - Perform the same steps to add C1 (SN1) into P1 again. -
Original PR description
Steps to reproduce the bug: - Create a storable product “P1” with BoM - Component: 1 unit of C1 tracked by Serial Number - Update the quantity of P1 with “SN1” - Create a MO to produce one unit of…
Steps to reproduce the bug:
- Create a storable product “P1” with BoM
- Component: 1 unit of C1 tracked by Serial Number
- Update the quantity of P1 with “SN1”
- Create a MO to produce one unit of P1:
- Confirm it
- Select “SN1” for C1
- Validate the MO
- Create a repair order to remove C1 from P1 and confirm, start, and complete the repair:
- Destination location: WH/Stock
- Serial Number: “SN1”
- Perform the same steps to add C1 (SN1) into P1 again.
- Remove C1 (SN1) a second time.
* After these steps, C1 with SN1 is available in stock.
- Create a new MO to produce one unit of P1:
- Confirm and select “SN1” for C1
- Try to validate it
Problem:
When checking the availability on the MO, SN1 is correctly
reserved. However, when marking the second MO as done, a User Error is
displayed: "The serial number SN1 used for component C1
has already been consumed."
opw-4029309
Forward-Port-Of: odoo/odoo#175600
Forward-Port-Of: odoo/odoo#173191Revert of: https://github.com/odoo/odoo/commit/be911c2c587f7e191d141ae37602ddc590a8737a **Steps to reproduce the bug:** - Go to accounting settings: - Enable “Automatic Accounting” option - Set the “Production Account” to False - Go to the product category “All”: - Costing Method: AVCO - Create a storable product P1: - product category: All - BoM: - Component: C1 - Type: subcontracting - subcontractor: Azure interior - C1: cost = $1
Original PR description
Revert of: https://github.com/odoo/odoo/commit/be911c2c587f7e191d141ae37602ddc590a8737a **Steps to reproduce the bug:** - Go to accounting settings: - Enable “Automatic Accounting” option - Set the…
Revert of: https://github.com/odoo/odoo/commit/be911c2c587f7e191d141ae37602ddc590a8737a
**Steps to reproduce the bug:**
- Go to accounting settings:
- Enable “Automatic Accounting” option
- Set the “Production Account” to False
- Go to the product category “All”:
- Costing Method: AVCO
- Create a storable product P1:
- product category: All
- BoM:
- Component: C1
- Type: subcontracting
- subcontractor: Azure interior
- C1: cost = $1
- Create a purchase order:
- vendor: Azure interior
- product: P1
- Confirm the PO
- try to receive the picking
**Problem**:
An userError is raised:
“Cannot find a stock input account for the product “P1”. You must define one on the product category, or on the location, before processing this operation.”
This commit make the production account optional and fallback with input/output accounts
Opw-3990006
Forward-Port-Of: odoo/odoo#175895
Forward-Port-Of: odoo/odoo#169839Due to the `qty_to_order` field on `stock.orderpoint` being a stored computed field, it needs to be recalculated every time one or more of its dependencies could have changed, to keep a consistent record in the database. It is, however, dependent on the `qty_forecast` field which is a non-stored computed field, depending itself on all the stock moves that are linked to the product set on the orderpoint. This results in a complete recalculation of the `qty_on_hand`, `qty_forecast` and `qty_to_o
Original PR description
Due to the `qty_to_order` field on `stock.orderpoint` being a stored computed field, it needs to be recalculated every time one or more of its dependencies could have changed, to keep a consistent…
Due to the `qty_to_order` field on `stock.orderpoint` being a stored computed field, it needs to be recalculated every time one or more of its dependencies could have changed, to keep a consistent record in the database. It is, however, dependent on the `qty_forecast` field which is a non-stored computed field, depending itself on all the stock moves that are linked to the product set on the orderpoint. This results in a complete recalculation of the `qty_on_hand`, `qty_forecast` and `qty_to_order` on ALL the orderpoints linked to a product every time some `stock.move` has been touched or created with that product. Even if many of those orderpoints may not even be located in the concerned warehouse. This situation can create a performance bottleneck when just processing pickings, as its constantly (and often pointlessly) recalculating these field values to store. This becomes a major issue in case the concerned database contains many warehouses with many different orderpoints. This issue is remedied in a more permanent way for master in [1], but due to the stable policy we use a different approach here: The `qty_to_order` field on `stock.orderpoint` is now no longer dependent on `qty_forecast`. Instead, when creating `stock.moves` or writing on its `state`, `product_uom_qty` or `date` fields, we manually trigger a recalculation of the `qty_to_order` on all the orderpoints on the relevant product, but only in the relevant warehouses. In case there is no relevant warehouse for the `stock.move` (none on the source or destination move), we fall back to the previous behavior of recalculating `qty_to_order` for all orderpoints linked to the product. [1] https://github.com/odoo/odoo/pull/159432 task-3822497 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#176003 Forward-Port-Of: odoo/odoo#164300
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
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
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
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
Create a sale order connected to an analytic account. Create a vendor bill and on the line: - use the same analytic account - add a price such that the abnormal_amount_warning is triggered. (example: 20000000001) - add a product line in the vendor bill which can be expensed and which has reinvoice expenses policy set to “Cost” Click on Confirm, the warning will show, click on “Confirm” again Issue: An error related to stock move record will show This occurs because in order to show th
Original PR description
Create a sale order connected to an analytic account. Create a vendor bill and on the line: - use the same analytic account - add a price such that the abnormal_amount_warning is triggered. (example: 20000000001) - add a product line in the vendor bill which can be expensed and which has reinvoice expenses policy set to “Cost” Click on Confirm, the warning will show, click on “Confirm” again Issue: An error related to stock move record will show This occurs because in order to show the warning wizard we add in context `default_move_ids` Then we don't cleanup the context, so if, during post, an inventory-related flow is triggered, it may accidentally use the context flag still set, raising an error as it will look for the wrong record opw-4021038 Forward-Port-Of: odoo/odoo#174894
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: - 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
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
**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#176083 Forward-Port-Of: odoo/odoo#176031