Tuesday, August 20, 2024
28 changes · saas-17.1
Miscellaneous changes
Following commit 380115da5ed346333512e63093a5cb3be217eeed a bug was introduced, preventing the user from claiming a discount reward if another reward was already claimed with the same coupon. Forward-Port-Of: odoo/odoo#176636
Original PR description
Following commit 380115da5ed346333512e63093a5cb3be217eeed a bug was introduced, preventing the user from claiming a discount reward if another reward was already claimed with the same coupon. Forward-Port-Of: odoo/odoo#176636
[FIX] website_blog: prevent "List" layout from overflowing on mobile Steps to reproduce: - Go to the "/blog" page. - In edit mode, set the "Layout" option to "List" and save. - Toggle the mobile preview or reduce the screen size at around 580px or below. => There is a horizontal scrollbar. The scrollbar appears because the row containing the blog posts has a bigger width than its container, which makes it overflow from it. It happens because of the `o_container_small` class set on
Original PR description
[FIX] website_blog: prevent "List" layout from overflowing on mobile Steps to reproduce: - Go to the "/blog" page. - In edit mode, set the "Layout" option to "List" and save. - Toggle the mobile…
[FIX] website_blog: prevent "List" layout from overflowing on mobile Steps to reproduce: - Go to the "/blog" page. - In edit mode, set the "Layout" option to "List" and save. - Toggle the mobile preview or reduce the screen size at around 580px or below. => There is a horizontal scrollbar. The scrollbar appears because the row containing the blog posts has a bigger width than its container, which makes it overflow from it. It happens because of the `o_container_small` class set on the container, which has a rule forcing its horizontal padding to 0, where it was supposed to compensate the row margins. This commit therefore fixes this issue by forcing the row horizontal margins to 0 for screen sizes under the `MD` screen breakpoint, which is approximately where the blogs layout becomes mobile. This fix also has the advantage of improving the "List" mobile layout by making it look similar to the "Grid" layout one, that is, with a bit of space around the posts, instead of being glued to the viewport. opw-4052853 --- [FIX] web_editor: prevent grid item inner row child from overflowing Steps to reproduce: - In edit mode, drop the "Team" snippet. - Toggle it to grid mode. - Set the "Content Width" option to "Full". => A horizontal scrollbar appears. This happens because the `.row` elements generally have a `--gutter-x` CSS variable set to 30px that is used to compute their horizontal margins, such that it compensates the padding of the parent (generally a `.container` element) which is set to the same value. So the parent is supposed to always have a padding of 15px, which is compensated by the row margins, set to -15px. When a row is a direct child of a grid item, the row can overflow its parent if the grid item has a padding below 15px. Indeed, the row expects its parent to have a 15px padding, so its margins are too big if the value is below. A horizontal scrollbar can therefore appear, if the snippet container takes the whole screen width. This commit fixes this issue by making the margins of row elements that are direct children of a grid item compensate the padding of this grid item, while it is below 15px. When it is set to 15px or above, they are back compensating the usual 15px. opw-4052853 opw-3981579 Forward-Port-Of: odoo/odoo#176975 Forward-Port-Of: odoo/odoo#176421
Extra checkout step was unable to be enabled because of a change (commit 533325a2) that was made to sync it with the active state of the extra info view. However, the view that was being checked was actually a view that did not exist. Correctly changed the view name to be extra_info instead of extra_info_option so the setting could be enabled. opw-4113506 Forward-Port-Of: odoo/odoo#176871
Original PR description
Extra checkout step was unable to be enabled because of a change (commit 533325a2) that was made to sync it with the active state of the extra info view. However, the view that was being checked was actually a view that did not exist. Correctly changed the view name to be extra_info instead of extra_info_option so the setting could be enabled. opw-4113506 Forward-Port-Of: odoo/odoo#176871
Steps to reproduce the bug: - Create a storable product “P1” & “P2”, tracked by lot - Create a quant: - Product: “P1” - Lot: “Lot A” - Go to inventory adjustment, import a quant with: - Product: “P2” - Lot: “Lot A” Problem: A quant is created but linked with the record of “Lot A” of product “P1”, which is incorrect. An existing lot with product “P2” should be used, or a new one created if none is available. Unfortunately, in the ORM, the Load function performs a s
Original PR description
Steps to reproduce the bug:
- Create a storable product “P1” & “P2”, tracked by lot
- Create a quant:
- Product: “P1”
- Lot: “Lot A”
- Go to inventory adjustment, import a quant with:
- Product: “P2”
- Lot: “Lot A”
Problem:
A quant is created but linked with the record of “Lot A” of product
“P1”, which is incorrect. An existing lot with product “P2” should be
used, or a new one created if none is available. Unfortunately, in the
ORM, the Load function performs a simple name_search and takes the first
one founded, and it does not link the lot name with the related product.
opw-[4028709](https://www.odoo.com/web#id=4028709&view_type=form&model=project.task)
Forward-Port-Of: odoo/odoo#173696Instead of Odoo Point of Sale, the receipt is now showing Powered by Odoo. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#177081
Original PR description
Instead of Odoo Point of Sale, the receipt is now showing Powered by Odoo. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#177081
**Issue:** When several invoices are selected and sent via "Send & print" action, it happens that some invoices are sent several times. It seems to be caused by a serialization failure on an invoice in "_compute_debit_credit" when a concurrent write operation is executed on an invoice being sent. This serialization failure cause a retry on the batch being sent, resulting on the invoice to be re-sent. **Cause:** "Send & print" action triggers "_compute_debit_credit" method that writes
Original PR description
**Issue:** When several invoices are selected and sent via "Send & print" action, it happens that some invoices are sent several times. It seems to be caused by a serialization failure on an invoice…
**Issue:** When several invoices are selected and sent via "Send & print" action, it happens that some invoices are sent several times. It seems to be caused by a serialization failure on an invoice in "_compute_debit_credit" when a concurrent write operation is executed on an invoice being sent. This serialization failure cause a retry on the batch being sent, resulting on the invoice to be re-sent. **Cause:** "Send & print" action triggers "_compute_debit_credit" method that writes on debit and credit fields. The values are generally the same, so no write is really performed. However, for some values (e.g. 14.79), there is a floating point issue (i.e. 14.790000000000001) and the "get_records_different_from" method considers the record as different and triggeres an actual write. **Solution:** In "get_records_different_from" method, for monetary fields, apply the same rounding to the current value than the one applied when the value is converted to cache. opw-3773287 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#176218
Before this commit, accessing start and stop values directly from new event values could lead to a KeyError if these keys were missing. This commit adds a safeguard to prevent such errors by checking for the existence of these keys before attempting to access them, ensuring a more robust handling of event data. Here is traceback: ``` File "/home/odoo/src/odoo/addons/google_calendar/controllers/main.py", line 46, in google_calendar_sync_data need_refresh = request.env.user.sudo()._syn
Original PR description
Before this commit, accessing start and stop values directly from new event values could lead to a KeyError if these keys were missing. This commit adds a safeguard to prevent such errors by checking…
Before this commit, accessing start and stop values directly from new event values could lead to a KeyError if these keys were missing. This commit adds a safeguard to prevent such errors by checking for the existence of these keys before attempting to access them, ensuring a more robust handling of event data.
Here is traceback:
```
File "/home/odoo/src/odoo/addons/google_calendar/controllers/main.py", line 46, in google_calendar_sync_data
need_refresh = request.env.user.sudo()._sync_google_calendar(GoogleCal)
File "/home/odoo/src/odoo/addons/google_calendar/models/res_users.py", line 73, in _sync_google_calendar
synced_recurrences = self.env['calendar.recurrence'].with_context(write_dates=recurrences_write_dates)._sync_google2odoo(recurrences)
File "/home/odoo/src/odoo/addons/google_calendar/models/google_sync.py", line 197, in _sync_google2odoo
odoo_record.with_context(context)._write_from_google(gevent, vals)
File "/home/odoo/src/odoo/addons/google_calendar/models/calendar_recurrence_rule.py", line 122, in _write_from_google
if old_event_values and any(new_event_values[key] != old_event_values[key] for key in base_event_time_fields):
File "/home/odoo/src/odoo/addons/google_calendar/models/calendar_recurrence_rule.py", line 122, in <genexpr>
if old_event_values and any(new_event_values[key] != old_event_values[key] for key in base_event_time_fields):
KeyError: 'start'
```
opw-4100958
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#176634We did not catch checkout errors, which lead to server not restarting. Errors are now caught. Forward-Port-Of: odoo/odoo#177087
Original PR description
We did not catch checkout errors, which lead to server not restarting. Errors are now caught. Forward-Port-Of: odoo/odoo#177087
**Current behaviour before PR:** In table, empty single cell is not selectable through mouse. This happens because isVisible function fails to check if cell is empty or not. **Desired behaviour after PR:** Now it is possible to select empty cell through mouse. Now we are using isEmptyBlock to check if cell is empty or not. task-4067376 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#174663
Original PR description
**Current behaviour before PR:** In table, empty single cell is not selectable through mouse. This happens because isVisible function fails to check if cell is empty or not. **Desired behaviour after PR:** Now it is possible to select empty cell through mouse. Now we are using isEmptyBlock to check if cell is empty or not. task-4067376 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#174663
**Current behavior:** If a production spawns some backorder which has available component quants in a package, the backorder will not have that quantity reserved automatically. **Expected behavior:** This available quantity should be reserved by rule (based on the manufacturing picking type's reservation configuration) automatically. **Steps to reproduce:** 1. Enable packages and 2-step manufacturing, use the default `at_confirm` option for the manufacturing method's `rese
Original PR description
**Current behavior:** If a production spawns some backorder which has available component quants in a package, the backorder will not have that quantity reserved automatically. **Expected behavior:**…
**Current behavior:**
If a production spawns some backorder which has available
component quants in a package, the backorder will not have that
quantity reserved automatically.
**Expected behavior:**
This available quantity should be reserved by rule (based on the
manufacturing picking type's reservation configuration)
automatically.
**Steps to reproduce:**
1. Enable packages and 2-step manufacturing, use the default
`at_confirm` option for the manufacturing method's
`reservation_method`
2. Create an MO for 10 of some storable product that has 10 of
some storable product as a component -> confirm the MO
3. In the generated pick operation for the MO, assign the 10
units of the storable product to the move's quantity
4. In barcode, open the picking and manually add 1 of the
components -> put it in a pack
5. Repeat step 3 an additional time
6. Validate the picking -> create the backorder
7. Open the initial manufacturing order in barcode
8. Consume one of the created packaged quants of the component,
ensuring to also add the +1 quantity to the final product
barcode line
9. Validate the MO -> create the backorder
10. In the backend, open the backorder to see that there is 0
quantity reserved
**Cause of the issue:**
In this scenario, the backorder's raw move does not gain any
availability until after the original order is marked done,
after which there is never any logic for the reservation to
occur.
**Fix:**
During the backorder generation and the mark done for the
original order, attempt to assign any backorder productions at
the instant when some component quantity becomes available.
opw-3989977
Forward-Port-Of: odoo/odoo#172955[FIX] website_sale_slides: scale down big num price Before this commit price had h2 class always. With this commit if price is longer than 10 digits we'll use smaller heading. [Reproduce] - Install website_sale_slides - Have a course: - "Enroll Policy": "On Payment" - It's related product's price has more than 10 digits - You not enrolled in it yet - Open course page -> UX BUG: price overflows opw-4075034 Forward-Port-Of: odoo/odoo#176754 Forward-Port-Of: odoo/odoo#175987
Original PR description
[FIX] website_sale_slides: scale down big num price Before this commit price had h2 class always. With this commit if price is longer than 10 digits we'll use smaller heading. [Reproduce] - Install website_sale_slides - Have a course: - "Enroll Policy": "On Payment" - It's related product's price has more than 10 digits - You not enrolled in it yet - Open course page -> UX BUG: price overflows opw-4075034 Forward-Port-Of: odoo/odoo#176754 Forward-Port-Of: odoo/odoo#175987
@amoyaux Following the conversation there : https://github.com/odoo/odoo/pull/75806#discussion_r1184797977 Thanks --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#120538
Original PR description
@amoyaux Following the conversation there : https://github.com/odoo/odoo/pull/75806#discussion_r1184797977 Thanks --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#120538
Description of the issue/feature this PR addresses: Passing a context as a dict rather than a key-value pair will drop the current context and only keep the explicitly passed dict. In some modules methods like `name_get` have been overridden to have a conditional behavior based on context. This, however, will never work if `_compute_translated_display_name` drops all the context before it gets to said method. This fix simply makes all the upstream context pass through. Current behavi
Original PR description
Description of the issue/feature this PR addresses: Passing a context as a dict rather than a key-value pair will drop the current context and only keep the explicitly passed dict. In some modules methods like `name_get` have been overridden to have a conditional behavior based on context. This, however, will never work if `_compute_translated_display_name` drops all the context before it gets to said method. This fix simply makes all the upstream context pass through. Current behavior before PR: Calls to methods that have `_compute_translated_display_name` somewhere in the call stack will not see the context that they have been originally given. Desired behavior after PR is merged: All methods will see the context that they have been given at the call --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#170682 Forward-Port-Of: odoo/odoo#170050
Fix query counters for event mail schedulers and mail template performance tests. Use warmup decorator to remove queries linked to cold state, in order to have results closer to real life scenario. Prepares Task-3084943: Event: Improve communication scheduler scalability Forward-Port-Of: odoo/odoo#177099
Original PR description
Fix query counters for event mail schedulers and mail template performance tests. Use warmup decorator to remove queries linked to cold state, in order to have results closer to real life scenario. Prepares Task-3084943: Event: Improve communication scheduler scalability Forward-Port-Of: odoo/odoo#177099
`Other income` and `Other income previous years` are obviously income accounts and not expense accounts. Forward-Port-Of: odoo/odoo#176629 Forward-Port-Of: odoo/odoo#175023
Original PR description
`Other income` and `Other income previous years` are obviously income accounts and not expense accounts. Forward-Port-Of: odoo/odoo#176629 Forward-Port-Of: odoo/odoo#175023
When adding a new field to a website form, the label width is copied from the first label inside the form. This fails if all fields have been deleted. One form where all fields can be deleted is the extra info step in eCommerce. This commit fixes this by using the default "200px" width (which is the default value inside the form templates) when there are no more field labels inside the form. Steps to reproduce: - Install eCommerce. - In Settings/Website, enable the extra info step. - G
Original PR description
When adding a new field to a website form, the label width is copied from the first label inside the form. This fails if all fields have been deleted. One form where all fields can be deleted is the extra info step in eCommerce. This commit fixes this by using the default "200px" width (which is the default value inside the form templates) when there are no more field labels inside the form. Steps to reproduce: - Install eCommerce. - In Settings/Website, enable the extra info step. - Go in shop, add a product to the cart and proceed until you reach the extra info step. - Edit the extra info page. - Remove all form fields. - Add a field to the form. => An error dialog was displayed. opw-4102127 Forward-Port-Of: odoo/odoo#176559
__Current behavior before commit:__ When you check out your cart with a product not in the stock anymore you have an error message. There is no product name in this message so if you have multiple products in your cart you don't know which one to remove. __Description of the fix:__ Add the product name in the error message, so it's easy to identify which product to remove of the cart. The warning method is linked to sale.order.line so we can access to the product directly. __Steps to re
Original PR description
__Current behavior before commit:__ When you check out your cart with a product not in the stock anymore you have an error message. There is no product name in this message so if you have multiple products in your cart you don't know which one to remove. __Description of the fix:__ Add the product name in the error message, so it's easy to identify which product to remove of the cart. The warning method is linked to sale.order.line so we can access to the product directly. __Steps to reproduce the issue:__ - add products to your cart - remove one or many products of the stock - try to validate your payment opw-4016059 (upgrade issues) Forward-Port-Of: odoo/odoo#174615
Description of the issue/feature this PR addresses: This PR simply adds a hook to allow changing the parameters used by _select_seller during order line price computation. Current behavior before PR: Unable to inherit properly to change the selection of the seller, and have the correct price Desired behavior after PR is merged: Can change the parameter of _select_seller before price computation --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-p
Original PR description
Description of the issue/feature this PR addresses: This PR simply adds a hook to allow changing the parameters used by _select_seller during order line price computation. Current behavior before PR: Unable to inherit properly to change the selection of the seller, and have the correct price Desired behavior after PR is merged: Can change the parameter of _select_seller before price computation --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#176943 Forward-Port-Of: odoo/odoo#170021
Steps to reproduce : - Add a second language in your website settings. - Drop a "Text" block in a new page. - Add a highlight to some text > Save. - Switch to the translation mode. - Select the highlighted text > The text highlight options are shown. - Select a text without any option > The highlight options remain displayed. Starting from [1], we allow using text options (text animations & text highlights) in the translation mode, mainly by allowing the creation of snippet editors
Original PR description
Steps to reproduce : - Add a second language in your website settings. - Drop a "Text" block in a new page. - Add a highlight to some text > Save. - Switch to the translation mode. - Select the…
Steps to reproduce : - Add a second language in your website settings. - Drop a "Text" block in a new page. - Add a highlight to some text > Save. - Switch to the translation mode. - Select the highlighted text > The text highlight options are shown. - Select a text without any option > The highlight options remain displayed. Starting from [1], we allow using text options (text animations & text highlights) in the translation mode, mainly by allowing the creation of snippet editors if the target is a text option snippet. Another fix (from [2]) was added later to exceptionally authorize the editor's creation for "invisible" elements in translate mode, with a small adaptation on `_activateSnippet()` to prevent activating invisible snippets when their related sidebar buttons are clicked. This code unintentionally leads to keeping the old editors created for a text snippet when switching to another one in the DOM. To fix this behaviour, we still need to ensure existing editors are destroyed so we only create the ones we need in translate mode. [1]: https://github.com/odoo/odoo/commit/3a149e36f7e6deaf156a7ee35e654aad61cf2e5d [2]: https://github.com/odoo/odoo/commit/67efd1d98072f36caf9c473e97984631eb6bc8a3 task-3975683 Forward-Port-Of: odoo/odoo#168642
Steps to reproduce: - Download french accouning localization module - Switch company to 'FR Company' - Invoicing > Customers > Invoice > New - Fill in a product - Confirm > Gear > Print > Invoice It's the typical column formatting error where columns are squeezed to the left and overlapping (See ticket for picture). opw-4089199 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#176209
Original PR description
Steps to reproduce: - Download french accouning localization module - Switch company to 'FR Company' - Invoicing > Customers > Invoice > New - Fill in a product - Confirm > Gear > Print > Invoice It's the typical column formatting error where columns are squeezed to the left and overlapping (See ticket for picture). opw-4089199 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#176209
before this commit: When the user removes the end date and then selects a new date, that date is update the start date. after this commit: When the user removes the end date and then selects a new date, that date should update the end date. Task-3899581 Forward-Port-Of: odoo/odoo#171215
Original PR description
before this commit: When the user removes the end date and then selects a new date, that date is update the start date. after this commit: When the user removes the end date and then selects a new date, that date should update the end date. Task-3899581 Forward-Port-Of: odoo/odoo#171215
**Current behavior:** In a scenario where dropshipping and subcontracting are being used to fulfill an order, if the dropship is split via backorder then the valuation layers which get created for each subsequent backorder will have a cumulative value instead of reflecting the value for the sequence portion for which they were generated. **Expected behavior:** The SVL records should have a value which accurately reflects the moves involved in the portion of the valuation sequence that they
Original PR description
**Current behavior:** In a scenario where dropshipping and subcontracting are being used to fulfill an order, if the dropship is split via backorder then the valuation layers which get created for…
**Current behavior:** In a scenario where dropshipping and subcontracting are being used to fulfill an order, if the dropship is split via backorder then the valuation layers which get created for each subsequent backorder will have a cumulative value instead of reflecting the value for the sequence portion for which they were generated. **Expected behavior:** The SVL records should have a value which accurately reflects the moves involved in the portion of the valuation sequence that they are being created with respect to. **Steps to reproduce:** 1. Create a component_product such that: - is storable - category has automated valuation and avg cost method - has the `dropship subcontractor on order` route - has some vendor 2. Create a final_product such that: - is storable - category has automated valuation and avg cost method - invoice policy is on quantity delivered - has a subcontract bom that consumes some quantity of component_product - has a subcontractor vendor 3. Create a sale order for >1 of the final_product, set the route on order line to dropship, confirm the SO and the PO which is generated 4. In the dropship transfer, set the quantity to half the demand and validate -> generate the backorder 5. On the SO, create an invoice for the completed quantity and confirm it 6. Complete the rest of the order in the backordered dropship transfer and create and confirm another invoice on the SO 7. Go to the SVL tree view and observe that the latest SVL is ~2x (before the compensatory SVL difference is applied) **Cause of the issue:** When the SVL is created, its value is calculated by taking the difference of subcontract SVL(s) values and dropship SVL(s) values. The subcontract SVLs come from the `move_orig_ids` of the current SVL's move. When the sequence is broken up by backorders, these moves are still used in the calculation for the value of future SVLs. This results in the inaccuracy. **Fix:** Only use SVLs from the move in the current move's `move_orig_ids` which has the maximum `backorder_sequence`. opw-4078510 Forward-Port-Of: odoo/odoo#176958 Forward-Port-Of: odoo/odoo#176163
Steps to reproduce: - Switch the user language to arabic - Go to CRM - Insert the CRM lead pivot in spreadsheet => the values are in #ERROR The reason is that `toFormat` returns the date with arabic numbers, which can't be parsed by the spreadsheet engine. Similartly, we have to tell `.fromFormat` to parse the string using latn numbering system. Task: 4102957 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo
Original PR description
Steps to reproduce: - Switch the user language to arabic - Go to CRM - Insert the CRM lead pivot in spreadsheet => the values are in #ERROR The reason is that `toFormat` returns the date with arabic numbers, which can't be parsed by the spreadsheet engine. Similartly, we have to tell `.fromFormat` to parse the string using latn numbering system. Task: 4102957 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#176039
"Colony code" translation changed from: "Código postal" => "Código de colonia" Forward-Port-Of: odoo/enterprise#68566
Original PR description
"Colony code" translation changed from: "Código postal" => "Código de colonia" Forward-Port-Of: odoo/enterprise#68566
some were out of date
Original PR description
some were out of date
**Current behavior:** If a production spawns some backorder which has available component quants in a package, the backorder will not have that quantity reserved automatically. **Expected behavior:** This available quantity should be reserved by rule (based on the manufacturing picking type's reservation configuration) automatically. **Steps to reproduce:** 1. Enable packages and 2-step manufacturing, use the default `at_confirm` option for the manufacturing method's `rese
Original PR description
**Current behavior:** If a production spawns some backorder which has available component quants in a package, the backorder will not have that quantity reserved automatically. **Expected behavior:**…
**Current behavior:**
If a production spawns some backorder which has available
component quants in a package, the backorder will not have that
quantity reserved automatically.
**Expected behavior:**
This available quantity should be reserved by rule (based on the
manufacturing picking type's reservation configuration)
automatically.
**Steps to reproduce:**
1. Enable packages and 2-step manufacturing, use the default
`at_confirm` option for the manufacturing method's
`reservation_method`
2. Create an MO for 10 of some storable product that has 10 of
some storable product as a component -> confirm the MO
3. In the generated pick operation for the MO, assign the 10
units of the storable product to the move's quantity
4. In barcode, open the picking and manually add 1 of the
components -> put it in a pack
5. Repeat step 3 an additional time
6. Validate the picking -> create the backorder
7. Open the initial manufacturing order in barcode
8. Consume one of the created packaged quants of the component,
ensuring to also add the +1 quantity to the final product
barcode line
9. Validate the MO -> create the backorder
10. In the backend, open the backorder to see that there is 0
quantity reserved
**Cause of the issue:**
In this scenario, the backorder's raw move does not gain any
availability until after the original order is marked done,
after which there is never any logic for the reservation to
occur.
**Fix:**
During the backorder generation and the mark done for the
original order, attempt to assign any backorder productions at
the instant when some component quantity becomes available.
opw-3989977
Forward-Port-Of: odoo/enterprise#66496__Current behavior before commit:__ When you check out your cart with a product not in the stock anymore you have an error message. There is no product name in this message so if you have multiple products in your cart you don't know which one to remove. __Description of the fix:__ Add the product name in the error message, so it's easy to identify which product to remove of the cart. The warning method is linked to sale.order.line so we can access to the product directly. __Steps to re
Original PR description
__Current behavior before commit:__ When you check out your cart with a product not in the stock anymore you have an error message. There is no product name in this message so if you have multiple products in your cart you don't know which one to remove. __Description of the fix:__ Add the product name in the error message, so it's easy to identify which product to remove of the cart. The warning method is linked to sale.order.line so we can access to the product directly. __Steps to reproduce the issue:__ - add products to your cart - remove one or many products of the stock - try to validate your payment __linked to Odoo PR:__ https://github.com/odoo/odoo/pull/174615 opw-4016059 (upgrade issues) Forward-Port-Of: odoo/enterprise#67423
Some pot files were out of date, at least 1 had a duplicate msgid in it Some modules weren't translated Note that dead pot files (and their associated .po files) were not removed in this PR because :sloth: and removing them doesn't add any value --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Original PR description
Some pot files were out of date, at least 1 had a duplicate msgid in it Some modules weren't translated Note that dead pot files (and their associated .po files) were not removed in this PR because :sloth: and removing them doesn't add any value --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr