Tuesday, August 13, 2024
24 changes · saas-17.1
Miscellaneous changes
Before this commit: Unhandled python traceback will be tough to read as there is too much line breaks which was forcing each line to be logged. e.g: ```py 2024-08-12 09:33:49,426 2466 ERROR ? root: Exception in thread 2024-08-12 09:33:49,428 2466 ERROR ? root: Thread-9 2024-08-12 09:33:49,429 2466 ERROR ? root: : 2024-08-12 09:33:49,430 2466 ERROR ? root: 2024-08-12 09:33:49,430 2466 ERROR ? root: Traceback (most recent call last): 2024-08-12 09:33:49,430 2466 ERROR ? root: 202
Original PR description
Before this commit: Unhandled python traceback will be tough to read as there is too much line breaks which was forcing each line to be logged. e.g: ```py 2024-08-12 09:33:49,426 2466 ERROR ? root:…
Before this commit: Unhandled python traceback will be tough to read as there is too much line breaks which was forcing each line to be logged. e.g: ```py 2024-08-12 09:33:49,426 2466 ERROR ? root: Exception in thread 2024-08-12 09:33:49,428 2466 ERROR ? root: Thread-9 2024-08-12 09:33:49,429 2466 ERROR ? root: : 2024-08-12 09:33:49,430 2466 ERROR ? root: 2024-08-12 09:33:49,430 2466 ERROR ? root: Traceback (most recent call last): 2024-08-12 09:33:49,430 2466 ERROR ? root: 2024-08-12 09:33:49,430 2466 ERROR ? root: File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner 2024-08-12 09:33:49,439 2466 ERROR ? root: 2024-08-12 09:33:49,439 2466 ERROR ? root: 2024-08-12 09:33:49,457 2466 ERROR ? root: self.run() 2024-08-12 09:33:49,459 2466 ERROR ? root: 2024-08-12 09:33:49,459 2466 ERROR ? root: File "/home/pi/odoo/addons/hw_drivers/interface.py", line 31, in run 2024-08-12 09:33:49,460 2466 ERROR ? root: 2024-08-12 09:33:49,461 2466 ERROR ? root: 2024-08-12 09:33:49,465 2466 ERROR ? root: self.update_iot_devices(self.get_devices()) 2024-08-12 09:33:49,466 2466 ERROR ? root: 2024-08-12 09:33:49,467 2466 ERROR ? root: 2024-08-12 09:33:49,467 2466 ERROR ? root: 2024-08-12 09:33:49,467 2466 ERROR ? root: 2024-08-12 09:33:49,468 2466 ERROR ? root: 2024-08-12 09:33:49,468 2466 ERROR ? root: 2024-08-12 09:33:49,468 2466 ERROR ? root: 2024-08-12 09:33:49,468 2466 ERROR ? root: 2024-08-12 09:33:49,468 2466 ERROR ? root: 2024-08-12 09:33:49,469 2466 ERROR ? root: 2024-08-12 09:33:49,469 2466 ERROR ? root: 2024-08-12 09:33:49,470 2466 ERROR ? root: 2024-08-12 09:33:49,473 2466 ERROR ? root: 2024-08-12 09:33:49,474 2466 ERROR ? root: 2024-08-12 09:33:49,474 2466 ERROR ? root: 2024-08-12 09:33:49,474 2466 ERROR ? root: 2024-08-12 09:33:49,480 2466 ERROR ? root: 2024-08-12 09:33:49,482 2466 ERROR ? root: 2024-08-12 09:33:49,487 2466 ERROR ? root: 2024-08-12 09:33:49,488 2466 ERROR ? root: 2024-08-12 09:33:49,488 2466 ERROR ? root: 2024-08-12 09:33:49,488 2466 ERROR ? root: 2024-08-12 09:33:49,488 2466 ERROR ? root: 2024-08-12 09:33:49,488 2466 ERROR ? root: 2024-08-12 09:33:49,495 2466 ERROR ? root: 2024-08-12 09:33:49,495 2466 ERROR ? root: 2024-08-12 09:33:49,496 2466 ERROR ? root: 2024-08-12 09:33:49,496 2466 ERROR ? root: 2024-08-12 09:33:49,497 2466 ERROR ? root: 2024-08-12 09:33:49,497 2466 ERROR ? root: ^ 2024-08-12 09:33:49,498 2466 ERROR ? root: ^ 2024-08-12 09:33:49,499 2466 ERROR ? root: ^ 2024-08-12 09:33:49,502 2466 ERROR ? root: ^ 2024-08-12 09:33:49,502 2466 ERROR ? root: ^ 2024-08-12 09:33:49,503 2466 ERROR ? root: ^ 2024-08-12 09:33:49,503 2466 ERROR ? root: ^ 2024-08-12 09:33:49,503 2466 ERROR ? root: ^ 2024-08-12 09:33:49,503 2466 ERROR ? root: ^ 2024-08-12 09:33:49,504 2466 ERROR ? root: ^ 2024-08-12 09:33:49,504 2466 ERROR ? root: ^ 2024-08-12 09:33:49,504 2466 ERROR ? root: ^ 2024-08-12 09:33:49,504 2466 ERROR ? root: ^ 2024-08-12 09:33:49,504 2466 ERROR ? root: ^ 2024-08-12 09:33:49,504 2466 ERROR ? root: ^ 2024-08-12 09:33:49,505 2466 ERROR ? root: ^ 2024-08-12 09:33:49,505 2466 ERROR ? root: ^ 2024-08-12 09:33:49,505 2466 ERROR ? root: ^ 2024-08-12 09:33:49,505 2466 ERROR ? root: 2024-08-12 09:33:49,505 2466 ERROR ? root: File "/home/pi/odoo/addons/hw_drivers/iot_handlers/interfaces/PrinterInterface_L.py", line 21, in get_devices 2024-08-12 09:33:49,506 2466 ERROR ? root: 2024-08-12 09:33:49,506 2466 ERROR ? root: 2024-08-12 09:33:49,507 2466 ERROR ? root: 0/0 2024-08-12 09:33:49,507 2466 ERROR ? root: 2024-08-12 09:33:49,507 2466 ERROR ? root: 2024-08-12 09:33:49,507 2466 ERROR ? root: 2024-08-12 09:33:49,508 2466 ERROR ? root: 2024-08-12 09:33:49,508 2466 ERROR ? root: 2024-08-12 09:33:49,508 2466 ERROR ? root: ~ 2024-08-12 09:33:49,508 2466 ERROR ? root: ^ 2024-08-12 09:33:49,508 2466 ERROR ? root: ~ 2024-08-12 09:33:49,508 2466 ERROR ? root: 2024-08-12 09:33:49,508 2466 ERROR ? root: ZeroDivisionError 2024-08-12 09:33:49,509 2466 ERROR ? root: : 2024-08-12 09:33:49,509 2466 ERROR ? root: division by zero ``` After this commit: New lines are logged only if necessary, like in a regular tb: ```py 2024-08-12 09:41:06,197 3093 ERROR ? odoo.addons.hw_drivers.exception_logger: Exception in thread Thread-9: 2024-08-12 09:41:06,199 3093 ERROR ? odoo.addons.hw_drivers.exception_logger: Traceback (most recent call last): 2024-08-12 09:41:06,201 3093 ERROR ? odoo.addons.hw_drivers.exception_logger: File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner 2024-08-12 09:41:06,222 3093 ERROR ? odoo.addons.hw_drivers.exception_logger: self.run() 2024-08-12 09:41:06,223 3093 ERROR ? odoo.addons.hw_drivers.exception_logger: File "/home/pi/odoo/addons/hw_drivers/interface.py", line 31, in run 2024-08-12 09:41:06,233 3093 ERROR ? odoo.addons.hw_drivers.exception_logger: self.update_iot_devices(self.get_devices()) 2024-08-12 09:41:06,234 3093 ERROR ? odoo.addons.hw_drivers.exception_logger: ^^^^^^^^^^^^^^^^^^ 2024-08-12 09:41:06,234 3093 ERROR ? odoo.addons.hw_drivers.exception_logger: File "/home/pi/odoo/addons/hw_drivers/iot_handlers/interfaces/PrinterInterface_L.py", line 21, in get_devices 2024-08-12 09:41:06,235 3093 ERROR ? odoo.addons.hw_drivers.exception_logger: 0/0 2024-08-12 09:41:06,236 3093 ERROR ? odoo.addons.hw_drivers.exception_logger: ~^~ 2024-08-12 09:41:06,237 3093 ERROR ? odoo.addons.hw_drivers.exception_logger: ZeroDivisionError: division by zero ``` opw-4110599 Forward-Port-Of: odoo/odoo#176462
Issue: In the portal page for managing your mailing lists, to subscribe or unsubscribe, you can see also the ones that are supposely marked for not appearing in this view, when this happen the appear as "Mailing list .#number" which is not ideal, since it will still let us subscribe to it when we shouldn be able to. Stesp to reproduce: 1. Install mass_mailing. 2. Create atleast 2 lists, one with "Show in Preferences" ticked and the other not. 3. Now go to "/mailing/my" to manage the list
Original PR description
Issue: In the portal page for managing your mailing lists, to subscribe or unsubscribe, you can see also the ones that are supposely marked for not appearing in this view, when this happen the appear as "Mailing list .#number" which is not ideal, since it will still let us subscribe to it when we shouldn be able to. Stesp to reproduce: 1. Install mass_mailing. 2. Create atleast 2 lists, one with "Show in Preferences" ticked and the other not. 3. Now go to "/mailing/my" to manage the lists and see how they appear. Solution: It seems logical to filter out for the lists we are not subscribed the non public lists out (the ones that are not marked as "Show In Preferences"), with this we will only see the ones we should have access to see and subscribe/unsubscribe. opw-3877385 Forward-Port-Of: odoo/odoo#162835
[IMP] l10n_pl: Credit note can't be more than the invoice total amount Polish law don't allow to have credit note with an amount higher than the invoice Solution: Don't allow to post a credit note if the total is higher than the invoice task-id#3965527 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168252
Original PR description
[IMP] l10n_pl: Credit note can't be more than the invoice total amount Polish law don't allow to have credit note with an amount higher than the invoice Solution: Don't allow to post a credit note if the total is higher than the invoice task-id#3965527 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168252
This commit is a backport of odoo/odoo#173905, but for the qunit suite. This should prevent the qunit suite from running out of memory, which sometimes happens because the Chrome process running the qunit suites doesn't have access to its available memory and cannot run the garbage collection efficiently. Runbot error 53410 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
Original PR description
This commit is a backport of odoo/odoo#173905, but for the qunit suite. This should prevent the qunit suite from running out of memory, which sometimes happens because the Chrome process running the qunit suites doesn't have access to its available memory and cannot run the garbage collection efficiently. Runbot error 53410 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#176506
This aims to enhance the payment wizard by adding a QR code to it. This QR code will be generated based on the payment details entered by the user. This will help the user to easily scan the QR code and make the payment. Backport of 3723523 Task ID: 4014247 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175643
Original PR description
This aims to enhance the payment wizard by adding a QR code to it. This QR code will be generated based on the payment details entered by the user. This will help the user to easily scan the QR code and make the payment. Backport of 3723523 Task ID: 4014247 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175643
In order to be more accessible, commit [1] allowed the hoverable menus to have an outline when they are focused by using the Tab key. When hovering these menus with the mouse, the outline should not appear, unless it was already focused (with the Tab key). Also, when hovering, the focus should stay on the already focused element. This last part causes some issues: indeed, the focus is kept by calling the `focus` function and the issue with it is that it scrolls to the element on which it is c
Original PR description
In order to be more accessible, commit [1] allowed the hoverable menus to have an outline when they are focused by using the Tab key. When hovering these menus with the mouse, the outline should not…
In order to be more accessible, commit [1] allowed the hoverable menus to have an outline when they are focused by using the Tab key. When hovering these menus with the mouse, the outline should not appear, unless it was already focused (with the Tab key). Also, when hovering, the focus should stay on the already focused element. This last part causes some issues: indeed, the focus is kept by calling the `focus` function and the issue with it is that it scrolls to the element on which it is called. This made the screen scroll unexpectedly anytime we hovered a hoverable menu, to bring the focused element into view. This commit fixes this issue by specifying that the screen should not scroll when focusing the element. Steps to reproduce: - In the menu editor, add some submenus. - In edit mode, click on the header and set the "Sub Menus" option to "On Hover" and the "Scroll Effect" option to "Scroll". - Go to the "/shop" page. - In edit mode, add the cart button on the products and then save. - Scroll down the page and add a product to the cart. - Scroll up the page and hover the menu with a submenu. => The page scrolls down to the product we just added, since it was the focused element. [1]: https://github.com/odoo/odoo/commit/0f7cbf2969b3c4b6c496e5b54814c4a9b3081af4 opw-4069610 Forward-Port-Of: odoo/odoo#175710
Previously fiscal position was calculated based on shipping address of customer even if onsite picking was chosen as delivery method this was wrong in case the store was in a different location, with a different fiscal position. Now if onsite picking is selected, a recomputation of fiscal position is triggered opw-3849823 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171225
Original PR description
Previously fiscal position was calculated based on shipping address of customer even if onsite picking was chosen as delivery method this was wrong in case the store was in a different location, with a different fiscal position. Now if onsite picking is selected, a recomputation of fiscal position is triggered opw-3849823 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171225
Steps to reproduce: - Create a product and set a quantity in a sublocation of Stock - Create a scrap order for that product - Set location as Stock (NOT the sublocation) - Validate the scrap order Issue: The insufficient quantity warning doesn't trigger anymore. The change made in [1] allowed the scrap orders to properly handle kits. To do that, it uses the product qty_available directly as it correctly handles kit components. But since we're not using the strict mode of `_gather()` a
Original PR description
Steps to reproduce: - Create a product and set a quantity in a sublocation of Stock - Create a scrap order for that product - Set location as Stock (NOT the sublocation) - Validate the scrap order Issue: The insufficient quantity warning doesn't trigger anymore. The change made in [1] allowed the scrap orders to properly handle kits. To do that, it uses the product qty_available directly as it correctly handles kit components. But since we're not using the strict mode of `_gather()` anymore, it will also look for child locations quantities, which isn't what we want for scrap orders. Added a context key to enable a strict location lookup for qty_available and uses it for scrap orders. [1] a196f947c829fde08d3ddf79b6c4f5a42a1217cd opw-4055721 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#174373
In this commit (https://github.com/odoo/odoo/commit/464090d8da5e7bc59a3afe4764b9235022ee75cd), we made the container for product images and media elements responsive. However, multiple clients did not appreciate the changes and like the images being highlighted. Additionally it was not the main focus of the ticket. opw-4056701 Forward-Port-Of: odoo/odoo#176034
Original PR description
In this commit (https://github.com/odoo/odoo/commit/464090d8da5e7bc59a3afe4764b9235022ee75cd), we made the container for product images and media elements responsive. However, multiple clients did not appreciate the changes and like the images being highlighted. Additionally it was not the main focus of the ticket. opw-4056701 Forward-Port-Of: odoo/odoo#176034
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#176012
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#176012
- Go to Project App; - Add a task in any project; - Move the task to "Cancelled State"; - Click on the progress bar above the stage. Before this commit, the task will get hidden but load more button appears. This occurs because the group bar, and the progress bar are out of sync with the latest search read (executed when clicking on a progress bar). Now, when filtering the progress bar is updated, and when removing the filtering the group count is updated, this maintains a correct synch
Original PR description
- Go to Project App; - Add a task in any project; - Move the task to "Cancelled State"; - Click on the progress bar above the stage. Before this commit, the task will get hidden but load more button appears. This occurs because the group bar, and the progress bar are out of sync with the latest search read (executed when clicking on a progress bar). Now, when filtering the progress bar is updated, and when removing the filtering the group count is updated, this maintains a correct synchronization between the current showing records and the group count and the progress bar. Note that, this commit also prevents to shown negative values for the "Other" progress bar. opw-3935547 Forward-Port-Of: odoo/odoo#176511
To reproduce the bug: - Add extra step during checkout - Make Sign in/up at check out Mandatory - Add a non-service product to the cart without being logged in and proceed to checkout - Create an account and once logged in continue the checkout process normally until payment is done When the process is done, a request is sent to /shop/payment/validate, and we get a server error message since we try to fetch `sale_last_order_id` from the session but it's not set. To simplify, the buying
Original PR description
To reproduce the bug: - Add extra step during checkout - Make Sign in/up at check out Mandatory - Add a non-service product to the cart without being logged in and proceed to checkout - Create an account and once logged in continue the checkout process normally until payment is done When the process is done, a request is sent to /shop/payment/validate, and we get a server error message since we try to fetch `sale_last_order_id` from the session but it's not set. To simplify, the buying process goes like this: cart > [sign in/up] > [delivery] > checkout > extra_step or confirm_order > payment. The issue is that `sale_last_order_id` is set in confirm_order, which we don't pass through if we have extra_step enabled. To fix that, I moved the set operation a step earlier. opw-3988807 Forward-Port-Of: odoo/odoo#174638
Before this commit: When a form view was set to non-editable (edit="0"), its x2many fields could still contain editable boolean fields (e.g., Boolean Toggle). After this commit: Boolean fields within x2many fields are now also read-only when the form view is non-editable. Task-3802653 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 ww
Original PR description
Before this commit: When a form view was set to non-editable (edit="0"), its x2many fields could still contain editable boolean fields (e.g., Boolean Toggle). After this commit: Boolean fields within x2many fields are now also read-only when the form view is non-editable. Task-3802653 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#174989
### Description of the issue/feature this PR addresses: In Odoo 15, only stock.group_stock_manager can use the Lock and Unlock button on stock.move ( https://github.com/odoo/odoo/blob/b361be31e446919ffc0ee14e99f8b88fae630ede/addons/stock/views/stock_picking_views.xml#L257 ) When moving the button to an ir.actions.server, the group_ids was not ported properly in #116799 . This commit fixes it and restore the group restriction ### Current behavior before PR: Users without the group `
Original PR description
### Description of the issue/feature this PR addresses: In Odoo 15, only stock.group_stock_manager can use the Lock and Unlock button on stock.move ( https://github.com/odoo/odoo/blob/b361be31e446919ffc0ee14e99f8b88fae630ede/addons/stock/views/stock_picking_views.xml#L257 ) When moving the button to an ir.actions.server, the group_ids was not ported properly in #116799 . This commit fixes it and restore the group restriction ### Current behavior before PR: Users without the group `stock.group_stock_manager` (Administrator) can lock/unlock stock.picking ### Desired behavior after PR is merged: Only users with that group can lock/unlock stock.picking opw-4075127 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#176442
### Steps to reproduce: 1. Create a storable product and set the quantity on hand to 100 units 2. Create a delivery of 20 units and mark as to-do 3. In the detailed operations, change the quantity to 10 units 4. Validate the transfer without backorder 5. Go to Inventory > Reporting > Locations 6. Click on Inventory at Date, and select a date one month in the past 7. The on hand quantity for the product is 10 ### Before this commit: When viewing a product's quantity in the past, the va
Original PR description
### Steps to reproduce: 1. Create a storable product and set the quantity on hand to 100 units 2. Create a delivery of 20 units and mark as to-do 3. In the detailed operations, change the quantity to 10 units 4. Validate the transfer without backorder 5. Go to Inventory > Reporting > Locations 6. Click on Inventory at Date, and select a date one month in the past 7. The on hand quantity for the product is 10 ### Before this commit: When viewing a product's quantity in the past, the value was based on the `product_qty` of the done stock moves. However, this is the demand, and it is not always equals to the quantity that moved. ### After this commit: Use the quantity of the done stock move lines, which reflect better what really moved in the past. opw-3946354 Forward-Port-Of: odoo/odoo#168456
Before this commit, performing a cash in/out operation in a session without any other cash transactions would result in the cash in/out not appearing in the report. It will become like this:  opw-4076188 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175364
Original PR description
Before this commit, performing a cash in/out operation in a session without any other cash transactions would result in the cash in/out not appearing in the report. It will become like this:  opw-4076188 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175364
`install` alias could not mount `/proc` as it was performed using 'sudo', which is unavailable as root is `/root_bypass_ramdisks` at this time. Forward-Port-Of: odoo/odoo#175297
Original PR description
`install` alias could not mount `/proc` as it was performed using 'sudo', which is unavailable as root is `/root_bypass_ramdisks` at this time. Forward-Port-Of: odoo/odoo#175297
Current behavior before PR: - Selecting the last text of a paragraph and applying hex color on it resulted in a traceback. - Selecting the initial text of a long paragraph and applying hex color resulted in unintended coloring of other unselected text. Desired behavior after PR is merged: - Applying a hex color on text will no longer lead to a traceback. - Only the selected text will be colored. task-3578454 Forward-Port-Of: odoo/odoo#174039 Forward-Port-Of: odoo/odoo#158006
Original PR description
Current behavior before PR: - Selecting the last text of a paragraph and applying hex color on it resulted in a traceback. - Selecting the initial text of a long paragraph and applying hex color resulted in unintended coloring of other unselected text. Desired behavior after PR is merged: - Applying a hex color on text will no longer lead to a traceback. - Only the selected text will be colored. task-3578454 Forward-Port-Of: odoo/odoo#174039 Forward-Port-Of: odoo/odoo#158006
When editing a message, the mentions of the original message were lost. The reason is that the channel mentions were not stored with the message in the database. The fix is to parse the body directly before editing and get mentionedChannels from it. task-4104895 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#176321
Original PR description
When editing a message, the mentions of the original message were lost. The reason is that the channel mentions were not stored with the message in the database. The fix is to parse the body directly before editing and get mentionedChannels from it. task-4104895 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#176321
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
#### [FIX] stock_barcode: restrict product scan pckging > #### How to reproduce: > - Create a product with a product packaging and set a barcode for this packaging; > - In the Receipts operation type config, check the product mandatory scan; > - Create and confirm a receipt for the created product; > - Open the receipt in the Barcode app; > - Scan the product's packaging => A notification asks you to scan the product first. > > This behavior is not right, a packaging should be a valid s
Original PR description
#### [FIX] stock_barcode: restrict product scan pckging > #### How to reproduce: > - Create a product with a product packaging and set a barcode for this packaging; > - In the Receipts operation type…
#### [FIX] stock_barcode: restrict product scan pckging > #### How to reproduce: > - Create a product with a product packaging and set a barcode for this packaging; > - In the Receipts operation type config, check the product mandatory scan; > - Create and confirm a receipt for the created product; > - Open the receipt in the Barcode app; > - Scan the product's packaging => A notification asks you to scan the product first. > > This behavior is not right, a packaging should be a valid scan too for product's mandatory scan. > > [OPW-4062460](https://www.odoo.com/odoo/project/49/tasks/4062460?cids=1) ### [FIX] stock_barcode: GS1 packaging with lot > #### Steps to reproduce: > - In Inventory settings, choose GS1 as barcode nomenclature and activate packages; > - Create a storable product tracked by lot; > - Create a lot for this product (e.g.: 12345); > - Create a second storable product tracked by lot; > - Create a new lot with the same name (12345) and a packaging on the product page with the barcode number 10000000240489; > - Go back to the barcode app and create a new delivery; > - San the barcode 01100000002404891012345 > => The line is added for the right product but the lot is missing. > > #### What happens: > When the GS1 barcode is parsed, we got a lot name and a packaging barcode, thus, we will search a lot for the scanned lot name. > To avoid fetching the wrong lot in case multiple lots have the same name (but different product), we give a filter when the lot is scanned alongside a product. > The issue here is we didn't scan a product but a packaging and we forgot to give the same filter in this case. > > [OPW-3894500](https://www.odoo.com/odoo/project/49/tasks/3894500?cids=1) ### [FIX] stock_barcode_picking_batch: reserved lot > Bug introduced by: https://github.com/odoo/enterprise/pull/63908 > > #### How to reproduce: > - Create a product tracked by lot; > - For this product, add some quantity in stock for at least two different lots; > - Create a delivery for this product, with enough quantity to reserve at least two different lots; > - Confirm it and add it into a batch; > - Open this batch in the Barcode app; > - You should have a button to display reserved lots on the product line, click on it, it will display the reserved lot AND select the first one; > - Scan a reserved lot other than the first one => The first one will be replaced by the scannned lot even if there is already another line with this lot. > > [OPW-4017945](https://www.odoo.com/odoo/project/49/tasks/4017945?cids=1) Forward-Port-Of: odoo/enterprise#68219 Forward-Port-Of: odoo/enterprise#67267
Instead of using the `bg-white` class from boostrap, which is translated to black in dark-mode, make use of the color-scheme from odoo. This avoids having a mismatch between light and dark mode. Before (Dark / Light):  After (Dark / Light):  Forward-Port-Of: odoo/enterprise#68231
Original PR description
Instead of using the `bg-white` class from boostrap, which is translated to black in dark-mode, make use of the color-scheme from odoo. This avoids having a mismatch between light and dark mode. Before (Dark / Light):  After (Dark / Light):  Forward-Port-Of: odoo/enterprise#68231
Issue ----- [Approvals, Purchase, Stock] 1. In approvals, set the current user as the approver for the "Create RFQ's" approval type. 2. Approvals > New Request > Create RFQ's > Select a product with a vendor setup ("Acoustic bloc screen" for example) > Submit > Approve > Create RFQ > Click smart button to navigate to the PO > Confirm the PO (should work) 4. Repeat step 2, ValidationError when trying to confirm the PO. Note: the issue only arises in this specific flow, the PO can still b
Original PR description
Issue ----- [Approvals, Purchase, Stock] 1. In approvals, set the current user as the approver for the "Create RFQ's" approval type. 2. Approvals > New Request > Create RFQ's > Select a product with…
Issue
-----
[Approvals, Purchase, Stock]
1. In approvals, set the current user as the approver for the "Create RFQ's" approval type.
2. Approvals > New Request > Create RFQ's > Select a product with a vendor setup ("Acoustic bloc screen" for example) > Submit > Approve > Create RFQ >
Click smart button to navigate to the PO > Confirm the PO (should work)
4. Repeat step 2, ValidationError when trying to confirm the PO.
Note: the issue only arises in this specific flow, the PO can still be confirmed by for example just refreshing the page.
Issue
-----
A 'default_name' key is added to the context when creating a request for a category which uses sequential names (which is the case for RFQ's approvals). https://github.com/odoo/enterprise/blob/65a8e25f1ff2d0faf17ad73c1402615d320ffc48/approvals/models/approval_category.py#L154
As a result, it gets propagated all the way to the creation of the picking when the PO is confirmed.
https://github.com/odoo/odoo/blob/beb8c7d86ae6062dbad9fcb17bc3141d14a9fcdc/addons/stock/models/stock_picking.py#L721 As pickings require a unique (name, company_id), a first picking can be created with the name 'New', but later ones will fail.
Fix
-----
Avoid propagating the default_name key when opening the purchase orders so the picking created when confirming the order will have the correct name.
opw-3990816
Forward-Port-Of: odoo/enterprise#66504To reproduce the issue, on a fresh db with nothing else: 1) Create a new accounting report from srcatch, so that: - it has 2 columns - it has 1 line, with two expressions: - the expression going in column 1 is a domain, doing [('debit', '>', 0)] - the expression going in column 2 is also a domain, doing [('balance', '>', 0)] - it has analytics groupby enabled 2) Create a vendor bill, with only 1 line of 100€. Assign it an analytic distribution of 100% into
Original PR description
To reproduce the issue, on a fresh db with nothing else: 1) Create a new accounting report from srcatch, so that: - it has 2 columns - it has 1 line, with two expressions: - the expression going in…
To reproduce the issue, on a fresh db with nothing else:
1) Create a new accounting report from srcatch, so that:
- it has 2 columns
- it has 1 line, with two expressions:
- the expression going in column 1 is a domain, doing [('debit', '>', 0)]
- the expression going in column 2 is also a domain, doing [('balance', '>', 0)]
- it has analytics groupby enabled
2) Create a vendor bill, with only 1 line of 100€. Assign it an analytic distribution of 100% into some analytic account.
3) Open your report, activate the analytic groupby on the analytic account used in point 2).
====> The column considering the balance shows 100€, while the one considering the debit shows 0. This is wrong; both columns should show 100€.
This is due to the fact the sign of the debit is inverted in the SQL shadowing of the move lines made to handle analytics in the report engine. Instead of 100, it sees -100 here, which does not match the domain.
Forward-Port-Of: odoo/enterprise#67018