Friday, July 5, 2024
30 changes · saas-17.1
Enhancements to existing features
The point of sale session report no longer shows a duplicate "Number of discount" line. This makes the report easier to read and avoids confusion from repeated information.
Original PR description
Before this commit, the session report was displaying a useless line "Number of discount". It was useless as it was a duplicate. This commit removes it. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
When a user tries to validate an invoice of the POS order a traceback will occur. Steps to produce: - Install 'l10n_sa_edi', 'point_of_sale', and 'contacts' modules. - Switch to a 'SA Company' company. - Open 'Point of Sale' and create and open New Session. - Select any products (with customer taxes )> payment > Select payment method > Invoice > Select individual customer > Validate error will generated in the backend. ```AttributeError: 'bool' object has no attribute 'encode'```
Original PR description
When a user tries to validate an invoice of the POS order a traceback will occur. Steps to produce: - Install 'l10n_sa_edi', 'point_of_sale', and 'contacts' modules. - Switch to a 'SA Company'…
When a user tries to validate an invoice of the POS order a traceback will occur. Steps to produce: - Install 'l10n_sa_edi', 'point_of_sale', and 'contacts' modules. - Switch to a 'SA Company' company. - Open 'Point of Sale' and create and open New Session. - Select any products (with customer taxes )> payment > Select payment method > Invoice > Select individual customer > Validate error will generated in the backend. ```AttributeError: 'bool' object has no attribute 'encode'``` This is because 'signature' is 'False' at [1] while generating an invoice for an order and a system tries to encode it. link [1]: https://github.com/odoo/odoo/blob/149a2acea96cff14990b667ee611c3afbdc146f2/addons/l10n_sa_edi/models/account_move.py#L115 This commit solves the above issue by adding a condition if 'signature' is 'False' then encodes a blank string. sentry-5482247880 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169407
This PR refactors the process of finding candidates (SVL) in the FIFO run of the stock account. With the current Odoo standard behavior, we can't update the domain to find candidates or adjust the candidates' values, and we have to override `def _run_fifo.` This PR addresses this issue. @qrtl QT4657 Forward-Port-Of: odoo/odoo#170470
Original PR description
This PR refactors the process of finding candidates (SVL) in the FIFO run of the stock account. With the current Odoo standard behavior, we can't update the domain to find candidates or adjust the candidates' values, and we have to override `def _run_fifo.` This PR addresses this issue. @qrtl QT4657 Forward-Port-Of: odoo/odoo#170470
A previous fix was iterating on all the records in `self` in order to remove an issue when multiple companies are involved in the deletion. However the way it is fixed was triggering multiple calls to `check_move_sequence_chain` even though that method is optimized to only check once every move, hence worse perforance. Also, the moves need to be deleted in order if we wanted to do it that way. Fixup of f3863949b95613c4b1d7292f7fc2da2696af467a Forward-Port-Of: odoo/odoo#171984
Original PR description
A previous fix was iterating on all the records in `self` in order to remove an issue when multiple companies are involved in the deletion. However the way it is fixed was triggering multiple calls to `check_move_sequence_chain` even though that method is optimized to only check once every move, hence worse perforance. Also, the moves need to be deleted in order if we wanted to do it that way. Fixup of f3863949b95613c4b1d7292f7fc2da2696af467a Forward-Port-Of: odoo/odoo#171984
When the client side requests an update of message statuses for sent invoices that are "Pending reception" (`peppol_move_state == "processing"`), the IAP throws an error if message is still being processed on the server side. We get a `702` "Peppol Request Not Ready" error code from the server in that case. Currently, on the client side as long as we see an error, we update `peppol_move_state` to `error`, which prevents further status updates (we only check "processing" messages). We
Original PR description
When the client side requests an update of message statuses for sent invoices that are "Pending reception" (`peppol_move_state == "processing"`), the IAP throws an error if message is still being processed on the server side. We get a `702` "Peppol Request Not Ready" error code from the server in that case. Currently, on the client side as long as we see an error, we update `peppol_move_state` to `error`, which prevents further status updates (we only check "processing" messages). We should not update the move state to error and just keep it as processing, so that we will retry fetching the state on the next scheduled action run. no task, customer feedback --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171479
Steps to reproduce: - Create a subcontracted bom for a product with flexible consumption (with warning) - Create a receipt for that product from the recorded subcontractor with more than 1 qty - Click on 'Record Component' and set one qty produced and more than expected qty to consume - Record Production and validate the warning - Do the same thing a second time Issue: While the first 'Record Component' prompts the warning for different consumption, the second attempt doesn't. This i
Original PR description
Steps to reproduce: - Create a subcontracted bom for a product with flexible consumption (with warning) - Create a receipt for that product from the recorded subcontractor with more than 1 qty - Click on 'Record Component' and set one qty produced and more than expected qty to consume - Record Production and validate the warning - Do the same thing a second time Issue: While the first 'Record Component' prompts the warning for different consumption, the second attempt doesn't. This is due to the context containing the 'skip_consumption' key from the first attempt being used to generate the new action for the remaining quantity to produce. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171957 Forward-Port-Of: odoo/odoo#171216
Previously, users were able to edit reward sale order lines. However, these edits were undone on confirming the SO, which was confusing. This fix makes the quantity, unit price, and taxes of such lines readonly to make it clear that they're not meant to be edited. opw-3971219 Forward-Port-Of: odoo/odoo#171269
Original PR description
Previously, users were able to edit reward sale order lines. However, these edits were undone on confirming the SO, which was confusing. This fix makes the quantity, unit price, and taxes of such lines readonly to make it clear that they're not meant to be edited. opw-3971219 Forward-Port-Of: odoo/odoo#171269
STEP TO REPRODUCE: ================== 1- Go on Time off Application 2- Select First Approval filter You will see two records: one with "second approval" status and one with "to approve" status. With this commit only leaves with "to approve status" will appears with this filter. task-4005045 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#170910
Original PR description
STEP TO REPRODUCE:
==================
1- Go on Time off Application
2- Select First Approval filter
You will see two records: one with "second approval" status and one with "to approve" status.
With this commit only leaves with "to approve status" will appears with this filter.
task-4005045
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#170910Another checksum flag was added in 4a578a58 but this flag is not supported by older versions of Docker. Forward-Port-Of: odoo/odoo#171879
Original PR description
Another checksum flag was added in 4a578a58 but this flag is not supported by older versions of Docker. Forward-Port-Of: odoo/odoo#171879
[IMP] l10n_tr: improve turkey's tax structure Adding new accounts Adding entirely new taxes Restructure the tax and tax group Create new tax report Reason: Enhance the user-experience in turkey Task-3924220 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167258
Original PR description
[IMP] l10n_tr: improve turkey's tax structure Adding new accounts Adding entirely new taxes Restructure the tax and tax group Create new tax report Reason: Enhance the user-experience in turkey Task-3924220 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167258
[ADD] account: Add tax_tag shortcut formula While we are working on a refactor for italian tax report https://github.com/odoo/odoo/pull/164064 We discovered the need for having tax_tag shortcut as the report was getting huge. So, we thought it's the time to have the tax_tags shortcut Solution: Adding 'tax_tags_formula' for the tax_tags shortcut in a similar way like aggregation_formula task-id#3969688 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/su
Original PR description
[ADD] account: Add tax_tag shortcut formula While we are working on a refactor for italian tax report https://github.com/odoo/odoo/pull/164064 We discovered the need for having tax_tag shortcut as the report was getting huge. So, we thought it's the time to have the tax_tags shortcut Solution: Adding 'tax_tags_formula' for the tax_tags shortcut in a similar way like aggregation_formula task-id#3969688 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171906 Forward-Port-Of: odoo/odoo#167979
Currently, when using the customer display feature with a display connected to an IoT box, the background image is not used. Instead the placeholder image is used. Steps to reproduce: ------------------- * Install and configure an IoT box * Go to **Point of Sale** * Select the Shop, edit it * Check `IoT Box` * Configure `Customer Display` * Now go to the settings of the Shop * Enable `Customer Display` if not already done previously * Upload a background image, save * Open the Shop
Original PR description
Currently, when using the customer display feature with a display connected to an IoT box, the background image is not used. Instead the placeholder image is used. Steps to reproduce:…
Currently, when using the customer display feature with a display connected to an IoT box, the background image is not used. Instead the placeholder image is used. Steps to reproduce: ------------------- * Install and configure an IoT box * Go to **Point of Sale** * Select the Shop, edit it * Check `IoT Box` * Configure `Customer Display` * Now go to the settings of the Shop * Enable `Customer Display` if not already done previously * Upload a background image, save * Open the Shop session * Select the customer display > Observation: The background image is not shown. Why the fix: ------------ When using the customer display feature with the IoT box, the request is done with a Public User: https://github.com/odoo/odoo/blob/f7e3ada5ed290a6f418e4e1a2abddfb9f242270c/addons/web/controllers/binary.py#L171-L176 Since Public Users don't have reading access on the `pos.config` model, access rights & rules are triggered: https://github.com/odoo/odoo/blob/f7e3ada5ed290a6f418e4e1a2abddfb9f242270c/odoo/addons/base/models/ir_binary.py#L52-L58 Since we failed the try block, we end up loading the placehorder image by default: https://github.com/odoo/odoo/blob/f7e3ada5ed290a6f418e4e1a2abddfb9f242270c/addons/web/controllers/binary.py#L185 We want the field `iface_customer_facing_display_background_image_1920` to be available to public user. In the case we are trying to access it with a public user, we make the request in sudo. Sudo environment stops existing once the request is made. opw-3873765 Forward-Port-Of: odoo/odoo#169808
When exporting non-grouped records we include archived records in results, this commits makes grouped results consiste with that, i.e. now also grouped records will include archived results [Reproduce] - Install crm - Go to: crm app - Switch to List view - Remove all filters - Use filter "Lost" - Group by "Stage" - Select all and Export -> BUG: exported xlsx file is empty Note: Above we have a specyfic case, to generalize that steps we can say, that whenever we filter with "Los
Original PR description
When exporting non-grouped records we include archived records in results, this commits makes grouped results consiste with that, i.e. now also grouped records will include archived results [Reproduce] - Install crm - Go to: crm app - Switch to List view - Remove all filters - Use filter "Lost" - Group by "Stage" - Select all and Export -> BUG: exported xlsx file is empty Note: Above we have a specyfic case, to generalize that steps we can say, that whenever we filter with "Lost" and use whatever "group by" then export is empty opw-3901258 Forward-Port-Of: odoo/odoo#169626 Forward-Port-Of: odoo/odoo#166097
# Description Since upgrading Bootstrap a few months ago, the `nav-link-padding-x` and `nav-link-padding-y` classes now rely on CSS variables defined within the `nav` class. To ensure these variables are correctly applied, we need to wrap the `nav-item` in a nav class. This change fixes the missing padding issue for the sign-in button. Task: [4032574](https://www.odoo.com/odoo/project/2328/tasks/4032574?cids=2) --- I confirm I have signed the CLA and read the PR guidelines at
Original PR description
# Description Since upgrading Bootstrap a few months ago, the `nav-link-padding-x` and `nav-link-padding-y` classes now rely on CSS variables defined within the `nav` class. To ensure these variables are correctly applied, we need to wrap the `nav-item` in a nav class. This change fixes the missing padding issue for the sign-in button. Task: [4032574](https://www.odoo.com/odoo/project/2328/tasks/4032574?cids=2) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171887
Currently, a traceback is occurring when the user clicks on the chat button while creating a new employee record. To reproduce this issue: 1) Install `employee` 2) Create a new `employee` record 3) Give the value for the related user in the `HR Setting` page 4) A chat button appears at the left side of the `employee name` 5) Click on the chat button, and a traceback occurs Error:- ``` TypeError: '<' not supported between instances of 'int' and 'NoneType' File "odoo/http.py",
Original PR description
Currently, a traceback is occurring when the user clicks on the chat button while creating a new employee record. To reproduce this issue: 1) Install `employee` 2) Create a new `employee` record 3)…
Currently, a traceback is occurring when the user clicks on the chat button while creating a new employee record.
To reproduce this issue:
1) Install `employee`
2) Create a new `employee` record
3) Give the value for the related user in the `HR Setting` page
4) A chat button appears at the left side of the `employee name`
5) Click on the chat button, and a traceback occurs
Error:-
```
TypeError: '<' not supported between instances of 'int' and 'NoneType'
File "odoo/http.py", line 2248, in __call__
response = request._serve_db()
File "odoo/http.py", line 1823, in _serve_db
return self._transactioning(_serve_ir_http, readonly=ro)
File "odoo/http.py", line 1843, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 134, in retrying
result = func()
File "odoo/http.py", line 1821, in _serve_ir_http
return self._serve_ir_http(rule, args)
File "odoo/http.py", line 1828, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2053, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 220, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 756, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 38, in call_kw
return self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 34, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 458, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "addons/mail/models/discuss/discuss_channel.py", line 973, in channel_get
""", (tuple(partners_to), tuple(partners_to), sorted(list(partners_to)),))
```
When the related user value is given, the `chat` button is visible to the user before saving the record.
But here in the `openChat` method, we used `props.record.resId`.
which is created after the employee record is created.
https://github.com/odoo/odoo/blob/a6c14effd3e38cf38966ae89675e8e54b54cf825/addons/hr/static/src/components/employee_chat/employee_chat.xml#L4-L11
It leads to the above traceback as `channel_get` calls with `partners_to` as `None` from the below line
https://github.com/odoo/odoo/blob/a6c14effd3e38cf38966ae89675e8e54b54cf825/addons/mail/static/src/core/common/thread_service.js#L555-L557
This commit will resolve this issue by making it visible to the user after the employee record is created.
Note:- An alternative solution can be at this line
https://github.com/odoo/odoo/blob/9f84ff581686f8e2198a0a88d19f7a52e27ccb53/addons/hr/static/src/thread_service_patch.js#L9
```
if (!person) {
this.notificationService.add(
_t("To open chat, please first save the record.."),
{ type: "info" }
);
return;
}
```
sentry- 5501637214
Forward-Port-Of: odoo/odoo#171380Before this commit, trying to log non-ascii characters from the IoT box would raise an error. The case primarily happens when a user has devices in their system that are named with special characters (e.g Chinese characters for printer names, accented French names, etc). After this commit, a device name containing non-ascii characters will be logged properly without triggering any tracebacks. REASON: It's the option that incurs the least amount of changes in the codebase. Furthermore, alt
Original PR description
Before this commit, trying to log non-ascii characters from the IoT box would raise an error. The case primarily happens when a user has devices in their system that are named with special characters (e.g Chinese characters for printer names, accented French names, etc). After this commit, a device name containing non-ascii characters will be logged properly without triggering any tracebacks. REASON: It's the option that incurs the least amount of changes in the codebase. Furthermore, alternative options would lead to lots of bespoke code to cover all cases. The proposed change is also the one that offers the greatest flexibility: clients can freely use their native language to name their devices. OPW-4001252 Forward-Port-Of: odoo/odoo#171728
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171167
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171167
When the authorization of the payment expires. Happens when you do not capture manually tx in 7 days (by default). Stripe sends a webhook that payment is canceled which was not captured before this PR, hence the changes were not applied for the corresponding payment. With this PR the cancel webhook is captured and the corresponding payment is canceled odoo-side. opw-3957346 Forward-Port-Of: odoo/odoo#171061
Original PR description
When the authorization of the payment expires. Happens when you do not capture manually tx in 7 days (by default). Stripe sends a webhook that payment is canceled which was not captured before this PR, hence the changes were not applied for the corresponding payment. With this PR the cancel webhook is captured and the corresponding payment is canceled odoo-side. opw-3957346 Forward-Port-Of: odoo/odoo#171061
This error occurs when we keep the product name empty in the stock move and try to generate the Serials/Lots by clicking on ``Generate Serials/Lots``. Steps to reproduce: - Install the ``stock`` module - Create a new product(eg: test) and set its tracking ``By Lots`` in Traceability - Create a new receipt and add ``test`` as product and ``Mark as ToDo`` - Again add ``test`` as the product and on the right, click on ``bars(fa-icon)`` - Remove the product name > click on ``Generate Serials
Original PR description
This error occurs when we keep the product name empty in the stock move and try to generate the Serials/Lots by clicking on ``Generate Serials/Lots``. Steps to reproduce: - Install the ``stock``…
This error occurs when we keep the product name empty in the stock move and try to generate the Serials/Lots by clicking on ``Generate Serials/Lots``. Steps to reproduce: - Install the ``stock`` module - Create a new product(eg: test) and set its tracking ``By Lots`` in Traceability - Create a new receipt and add ``test`` as product and ``Mark as ToDo`` - Again add ``test`` as the product and on the right, click on ``bars(fa-icon)`` - Remove the product name > click on ``Generate Serials/Lots`` - Click on ``Generate`` Traceback: ``KeyError 'product_id'`` This error occurs at [1] because ``product_id`` is not present in the default values. This commit will fix the above error by not showing the ``Generate Serials/Lots`` and ``Import Serials/Lots`` buttons when ``product`` is empty and also will raise an error if ``product`` is not found. [1]: https://github.com/odoo/odoo/blob/b1ba4018f91f1fd788f48180bd5fc4656ab1e35c/addons/stock/models/stock_move.py#L930 sentry-5072366645 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#170718
**Current behavior:** When importing a repair order record, if a picking_type_id is not supplied by the data source, the import will fail. **Expected behavior:** Fields with default values shouldn't be required during record creation. **Steps to reproduce:** 1. Create a .CSV with one column (e.g., `scheduled date`) and load it in the import record view in the Repair app 2. Map the CSV column to the repair model's date field 3. Click the test button to see the error (bad query)
Original PR description
**Current behavior:** When importing a repair order record, if a picking_type_id is not supplied by the data source, the import will fail. **Expected behavior:** Fields with default values shouldn't…
**Current behavior:** When importing a repair order record, if a picking_type_id is not supplied by the data source, the import will fail. **Expected behavior:** Fields with default values shouldn't be required during record creation. **Steps to reproduce:** 1. Create a .CSV with one column (e.g., `scheduled date`) and load it in the import record view in the Repair app 2. Map the CSV column to the repair model's date field 3. Click the test button to see the error (bad query) **Cause of the issue:** If a `picking_type_id` is not supplied, we try to get the default field value via `default_get()`. However, it is called incorrectly (string argument vs. container), so the string is iterated over and each letter is treated as a field name (none of which, of course, exist in the model). Later in the create sequence, we assume there is a `picking_type_id` value obtained from the `default_get()` call but it is not there. This (eventually) causes the invalid query. **Fix:** Correct the call to `default_get()`. opw-3813273 Forward-Port-Of: odoo/odoo#171589
Before this commit, the getFiltersMatchingPivot was prone to errors when the input that is supposed to be generated automatically has been wrongly formed by the user. After this commit, the function is more robust and has sensible defaults. OWP: 3952358 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171909 Forward-Port-Of: odoo/odoo#171630
Original PR description
Before this commit, the getFiltersMatchingPivot was prone to errors when the input that is supposed to be generated automatically has been wrongly formed by the user. After this commit, the function is more robust and has sensible defaults. OWP: 3952358 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171909 Forward-Port-Of: odoo/odoo#171630
In a grouped kanban view, drag and drop a record from a group which contains a lot of records and has the "Load more" displayed in the bottom (i.e. which contains more records than the limit). Before this commit, the drag&dropped record was displayed twice: once where it was dropped (which is fine), and once from where it was dragged (which is wrong). This happened because we didn't correctly synchronize the reload of the column (which must be done because there're more records than the limit
Original PR description
In a grouped kanban view, drag and drop a record from a group which contains a lot of records and has the "Load more" displayed in the bottom (i.e. which contains more records than the limit). Before…
In a grouped kanban view, drag and drop a record from a group which contains a lot of records and has the "Load more" displayed in the bottom (i.e. which contains more records than the limit). Before this commit, the drag&dropped record was displayed twice: once where it was dropped (which is fine), and once from where it was dragged (which is wrong). This happened because we didn't correctly synchronize the reload of the column (which must be done because there're more records than the limit, and we "removed" one record from the column) and the update on the moved record (s.t. it belongs to the correct column). As a consequence, we reloaded the column before updating the record, so it was still part of the original column. This commit fixes the issue by splitting the logic of the _removeRecords function: before, it altered the records locally (to filter out removed records) and updated the count, and, if necessary, it reloaded the list. Now, _removeRecords is only responsible to update the list locally, which must be done directly as we want the user to get a direct feedback of the move. In the flows where a reload might be necessary, we do it afterwards. In the case of a moveRecord, we can then do it after the update on the record. opw-3891269 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#171411
**Current behavior:** Setting up a control point for a product by quantity with a failure stock location on manufacturing operations will never allow a manufactured product that fails the quality check to end up in the failure location. **Expected behavior:** A product created in a manufacturing order can fail a quality check and end up in the designated failure location in WH. **Steps to reproduce:** 1. Set up a quality point on some storable product on manufacturing operations with:
Original PR description
**Current behavior:** Setting up a control point for a product by quantity with a failure stock location on manufacturing operations will never allow a manufactured product that fails the quality…
**Current behavior:**
Setting up a control point for a product by quantity with a failure stock location on manufacturing operations will never allow a manufactured product that fails the quality check to end up in the failure location.
**Expected behavior:**
A product created in a manufacturing order can fail a quality check and end up in the designated failure location in WH.
**Steps to reproduce:**
1. Set up a quality point on some storable product on manufacturing operations with:
`Control per: Quantity`
`Type: Pass - Fail`
`Failure Location: Some internal location`
3. Create a new MO with the quality controlled product and confirm it
4. Click the Quality Checks button, fail the check (make sure to select the faiure location here)
5. After the Quality Check, click Produce All -> Observe that the full quantity of products produced by the MO still was moved to whatever the default Stock location is, not the failure location specified.
**Cause of the issue:**
The method `_move_line_to_failure_location()` expects a picking and SML to exist, however when the quality check starts from an MO, we have neither (contrasted with a check starting from a picking). So the method just skips the logic where the re-route would occur.
**Fix:**
Override the method in the mrp_quality bridge module, if the quality check has a production_id then create the SML on the spot via `MrpProduction.action_confirm()`, then go through the same logic to split the created line as necessary based on the failed quantity vs. total quantity of the MO.
opw-3865301
Forward-Port-Of: odoo/enterprise#62731### Issue: A quantity of `3` gets displayed as `3.00...004`. ### Steps to reproduce: - Settings > Technical > Database Structure > Decimal Accuracy - Change the `Digits` of `Product Unit of measure` to 5 - Create a storable product P1 with a BOM: - In the operation tab: one operation in `Assembly line 1` - In the component tab: 1 unit of P2 consumed in the operation - Create and confirm an MO for 3 units of P1 - Go to the shopfloor module, remove the MO ready filter Two issues can b
Original PR description
### Issue: A quantity of `3` gets displayed as `3.00...004`. ### Steps to reproduce: - Settings > Technical > Database Structure > Decimal Accuracy - Change the `Digits` of `Product Unit of measure`…
### Issue: A quantity of `3` gets displayed as `3.00...004`. ### Steps to reproduce: - Settings > Technical > Database Structure > Decimal Accuracy - Change the `Digits` of `Product Unit of measure` to 5 - Create a storable product P1 with a BOM: - In the operation tab: one operation in `Assembly line 1` - In the component tab: 1 unit of P2 consumed in the operation - Create and confirm an MO for 3 units of P1 - Go to the shopfloor module, remove the MO ready filter Two issues can be noticed: - Click on Register Production A pop up opens. Before validating it: The displayed producing quantity of P1 and the quantity of P2 that should be consumed by the operation is`3.00...004`. After validation, the produced quantity is rounded. However, if you click on the cross the rounding error will remain. In addition, the second rounding issue will remain even after validation of the consumed qty. ### Cause of the issue: Our float utils introduce tiny rounding errors, especially at higher precisions. In our case, these errors are introduced during the call of the write method of the `web_save`. ### Fix: We eliminate the rounding errors for the display in the same way as initially ptoposed by https://github.com/odoo/enterprise/pull/58880 see commit https://github.com/odoo/enterprise/commit/1c2f0068d319917bb4af163396d0861a1ff6c9e1 and adapt it to also apply to the raw_move_ids of the MO. opw-3861892 --- Forward-Port-Of: odoo/enterprise#62510
With an MX company setup Go to Accounting > Reports > Trial Balance. Click "SAT (XML)" to export the file. Issue: No certificate in the xml In Odoo 15, exporting the SAT XML would include the company's EDI certificate. In Odoo 16 and newer, this is no longer the case. opw-3891205 Forward-Port-Of: odoo/enterprise#62969
Original PR description
With an MX company setup Go to Accounting > Reports > Trial Balance. Click "SAT (XML)" to export the file. Issue: No certificate in the xml In Odoo 15, exporting the SAT XML would include the company's EDI certificate. In Odoo 16 and newer, this is no longer the case. opw-3891205 Forward-Port-Of: odoo/enterprise#62969
Since [1], the shop floor application might crash when not running an update of the MRP application to add the new filter to the search view. This fix resolves this issue by ignoring the 'This Station' filter if it is not installed. [1] https://github.com/odoo/enterprise/pull/64551 Forward-Port-Of: odoo/enterprise#65987
Original PR description
Since [1], the shop floor application might crash when not running an update of the MRP application to add the new filter to the search view. This fix resolves this issue by ignoring the 'This Station' filter if it is not installed. [1] https://github.com/odoo/enterprise/pull/64551 Forward-Port-Of: odoo/enterprise#65987
Before this commit, receiving logs with non-ascii characters would cause a traceback. After this commit, non-ascii characters are processed correctly. With the proposed fix, should a client send an ascii-encoded string, it will still be decoded correctly, ensuring backwards compatibility. This means that if the IoT box doesn't get updated and interacts with an updated server, since the UTF-8 table covers the ascii table, it won't lead to any error server-side. OPW-4001252 Forward-Port-
Original PR description
Before this commit, receiving logs with non-ascii characters would cause a traceback. After this commit, non-ascii characters are processed correctly. With the proposed fix, should a client send an ascii-encoded string, it will still be decoded correctly, ensuring backwards compatibility. This means that if the IoT box doesn't get updated and interacts with an updated server, since the UTF-8 table covers the ascii table, it won't lead to any error server-side. OPW-4001252 Forward-Port-Of: odoo/enterprise#65956
Steps: -------- - Install Field Service module - Now, go to the field service's configuration - Click on Time and Material invoicing - Make the new Task - Add products - Now in internal user, give users access right level > sale: own document only - Now login as a user who has user access right level - After login, go to field service module - Open that task in which sale order automatically generated, access error comes Issue: ------- - An user who has user access rights level tr
Original PR description
Steps: -------- - Install Field Service module - Now, go to the field service's configuration - Click on Time and Material invoicing - Make the new Task - Add products - Now in internal user, give…
Steps: -------- - Install Field Service module - Now, go to the field service's configuration - Click on Time and Material invoicing - Make the new Task - Add products - Now in internal user, give users access right level > sale: own document only - Now login as a user who has user access right level - After login, go to field service module - Open that task in which sale order automatically generated, access error comes Issue: ------- - An user who has user access rights level trying to read other user sale order. Cause: --------- - In this **PR enterprise-31363** added a new field pricelist_id on model project.task.This field is computed in _compute_currency_id.However user have no access to read record, therefore raises an access error for internal user. Fix: ----- - A sudo is used in method _compute_currency_id to be able to open the task but can not see sale order stat button. task-3610485 Forward-Port-Of: odoo/enterprise#66047 Forward-Port-Of: odoo/enterprise#52677
With PostgreSQL 16, test_report_load_more_limit fails because the result of `_get_lines` is not deterministic. It is the case because the query in `_report_custom_engine_partner_vat_listing` doesn't have a ORDER BY clause. Add a ORDER BY clause to have a deterministic behavior. Forward-Port-Of: odoo/enterprise#66035 Forward-Port-Of: odoo/enterprise#65991
Original PR description
With PostgreSQL 16, test_report_load_more_limit fails because the result of `_get_lines` is not deterministic. It is the case because the query in `_report_custom_engine_partner_vat_listing` doesn't have a ORDER BY clause. Add a ORDER BY clause to have a deterministic behavior. Forward-Port-Of: odoo/enterprise#66035 Forward-Port-Of: odoo/enterprise#65991
When computing the number of children of an employee, if the field was never changed, it will be equal to False and appear as 0 on the form view, leading to an error in the retrieval of the appropriate IS Code. We also improve the recompute whole sheet mechanism, applying changes to salary attachments and contract modifications. Forward-Port-Of: odoo/enterprise#65799
Original PR description
When computing the number of children of an employee, if the field was never changed, it will be equal to False and appear as 0 on the form view, leading to an error in the retrieval of the appropriate IS Code. We also improve the recompute whole sheet mechanism, applying changes to salary attachments and contract modifications. Forward-Port-Of: odoo/enterprise#65799