Tuesday, July 16, 2024
33 changes · saas-17.4
Enhancements to existing features
The subscription test benchmark was adjusted to reflect expected extra processing caused by related event sales changes. This keeps automated performance checks aligned with current behavior and avoids false alarms in testing.
Original PR description
COM Branch : https://github.com/odoo/odoo/pull/172264 As we have some additional queries in event_sale due to a change in a @depend that trigger the compute method of the registrations status, I update the query count from 2230 to 2304 to match new query performances.
Resolved issues and error corrections
This update fixes a visual issue where text in select menu buttons could disappear when users hovered over them. It improves consistency and readability in areas such as Studio and Knowledge, including dark mode.
Original PR description
In Bootstrap, buttons with class `.btn` have no specific style on hover (https://getbootstrap.com/docs/5.3/components/buttons/#base-class) . To have so, buttons must have an additional class that sets their type. Before this commit, when hovering a SelectMenu, no specific behavior was set, and sometimes (in Studio -- View Selector in XMLEditor), hovering the button made the text disappear. After this commit, this is fixed. A few instances of SelectMenu were tested (Studio, knowledge), and in dark mode as well. 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
Miscellaneous changes
Before this commit, when creating a channel from the discuss sidebar, the name of the channel would be transformed to lower case and stripped of accents. This happens because the same cleaned term used for searching gets used to define the name of the new channel. This commit fixes the issue by using the unaltered search term. Before:  After:  After:  Forward-Port-Of: odoo/odoo#172537 Forward-Port-Of: odoo/odoo#172494
A test for users editing their own profile was failing because text entry did not properly replace the existing input value. This fix ensures the field is updated correctly, helping keep the mail profile workflow stable in automated checks.
Original PR description
Before this PR, this tour would crash because the input was not correctly changed. This PR fix the issue by adding the replace param to insertText runbot-70440
This fix makes the instant messaging status indicator in the Mail discussion sidebar easier to read. It improves visual clarity for users without changing how messaging works.
Original PR description
Before/After:   --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue that could cause budget list views to crash after a platform change in how views are loaded. Removing the outdated view setting keeps budget screens accessible and avoids disruption for users working with budgets.
Original PR description
With https://github.com/odoo/odoo/commit/f1749d3299957e2949e0b78653266a5397bb213c, if a js_class is found in the arch but not in the view registry, we no longer fallback to the basic view type and a crash occurs. Here we simply remove a js_class from an arch to avoid such a crash. Build 65543538
This fixes a problem that could cause budget screens to crash when opening certain list views. Removing an outdated view setting keeps the budgeting area accessible after a platform change.
Original PR description
With https://github.com/odoo/odoo/commit/f1749d3299957e2949e0b78653266a5397bb213c, if a js_class is found in the arch but not in the view registry, we no longer fallback to the basic view type and a crash occurs. Here we simply remove a js_class from an arch to avoid such a crash. Build 65543538
Enhanced the `_compute_l10n_in_state_id` method in the `AccountMove` model by adding a dependency on the `l10n_in_pos_session_ids` field. This ensures that the state computation is triggered when POS sessions are updated, improving the accuracy of state determination for moves related to POS sessions. Forward-Port-Of: odoo/odoo#173270
Original PR description
Enhanced the `_compute_l10n_in_state_id` method in the `AccountMove` model by adding a dependency on the `l10n_in_pos_session_ids` field. This ensures that the state computation is triggered when POS sessions are updated, improving the accuracy of state determination for moves related to POS sessions. Forward-Port-Of: odoo/odoo#173270
Clear the EDI document errors and the blocking_level when the action to abandon cancel posted moves is called. Fixed the following case: 1. Stamp a customer invoice (Could you test with a Mexican record) 2. Request EDI cancellation (In this case must be generated a cancel error from the PAC, maybe the customer does not accept the cancellation) 3. Ensure that in step 2, the EDI document has an error message 4. Call the action to abandon the EDI cancellation Without this commit, the EDI
Original PR description
Clear the EDI document errors and the blocking_level when the action to abandon cancel posted moves is called. Fixed the following case: 1. Stamp a customer invoice (Could you test with a Mexican record) 2. Request EDI cancellation (In this case must be generated a cancel error from the PAC, maybe the customer does not accept the cancellation) 3. Ensure that in step 2, the EDI document has an error message 4. Call the action to abandon the EDI cancellation Without this commit, the EDI document returns to `send`, but the record presents the error. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172169
Since 8777973edd25314df6ed0327d3f27edcf62f274b, the list data are retrieved with `web_search_read`. However, the payload was not minimal as it contains all attributes of the fields (name, store, sortable, etc.). This commit reduces the payload by only requesting what is needed. Task: 4052706 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
Original PR description
Since 8777973edd25314df6ed0327d3f27edcf62f274b, the list data are retrieved with `web_search_read`. However, the payload was not minimal as it contains all attributes of the fields (name, store, sortable, etc.). This commit reduces the payload by only requesting what is needed. Task: 4052706 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#173245 Forward-Port-Of: odoo/odoo#173123
## Analysis In case it's a simplified invoice, the 'to_invoice' is automatically set to True if a corresponding journal is set. Simplified invoices then generates a PDF which takes a few seconds to generate (using wkhtmltopdf) and slow downs the user experience. ## Fix This commit avoids generating the PDF in case no orders explicitly require an invoice. It mostly works the same as this commit for the Chilean localization: https://github.com/odoo/enterprise/pull/53655 which introduced a ne
Original PR description
## Analysis In case it's a simplified invoice, the 'to_invoice' is automatically set to True if a corresponding journal is set. Simplified invoices then generates a PDF which takes a few seconds to generate (using wkhtmltopdf) and slow downs the user experience. ## Fix This commit avoids generating the PDF in case no orders explicitly require an invoice. It mostly works the same as this commit for the Chilean localization: https://github.com/odoo/enterprise/pull/53655 which introduced a new context parameter (in the related commit: https://github.com/odoo/odoo/pull/148159). ### References opw-3875944 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172535 Forward-Port-Of: odoo/odoo#164783
Steps to reproduce: - Create a lot tracked product. - Update the "On Hands" quantity of the product and assign it a lot name. - Create a delivery order with this product with a quantity that is available in the stock. - Mark it as to do. - Click on "Detailed Operations" smart button. - Decrease the quantity of the move line. - Select it and click on "Put in Pack". Expected behavior: The new quantity is put in pack and the quantity of the move line remains the same. Actual behavior:
Original PR description
Steps to reproduce: - Create a lot tracked product. - Update the "On Hands" quantity of the product and assign it a lot name. - Create a delivery order with this product with a quantity that is available in the stock. - Mark it as to do. - Click on "Detailed Operations" smart button. - Decrease the quantity of the move line. - Select it and click on "Put in Pack". Expected behavior: The new quantity is put in pack and the quantity of the move line remains the same. Actual behavior: The whole quantity is reserved again. The original move line is split into two move lines: one with the packed quantity and another one with the remaining quantity. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172732
When a user scans an attendee's QR code with a barcode reader, the system opens a registration confirmation dialog. If multiple QR codes are scanned in succession, the dialogs stack on top of each other. This requires the user to manually close each one, which is time-consuming. To streamline this process, the system will now automatically close the previous registration confirmation dialog when a new QR code is scanned. This change should expedite the ticket scanning process. task-4047455
Original PR description
When a user scans an attendee's QR code with a barcode reader, the system opens a registration confirmation dialog. If multiple QR codes are scanned in succession, the dialogs stack on top of each other. This requires the user to manually close each one, which is time-consuming. To streamline this process, the system will now automatically close the previous registration confirmation dialog when a new QR code is scanned. This change should expedite the ticket scanning process. task-4047455 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172783
When importing a module through `base_import_module`, it does not have a path on the file system. Because of this the SVG shapes could not be located from the file system for imported modules. This commit falls back to `ir_attachment` record that contains the imported module file in case the module was an imported one. Steps to reproduce: - Have a module within a zip that contains a block with an image shape. (e.g. zip `website_coconuts` from [1]) - Install `base_import_module`. - G
Original PR description
When importing a module through `base_import_module`, it does not have a path on the file system. Because of this the SVG shapes could not be located from the file system for imported modules. This commit falls back to `ir_attachment` record that contains the imported module file in case the module was an imported one. Steps to reproduce: - Have a module within a zip that contains a block with an image shape. (e.g. zip `website_coconuts` from [1]) - Install `base_import_module`. - Go to 'Apps' in debug mode. - Import the zipped module with `Import Module`. => The image obtained through the `/web_editor/image_shape` route was not retrieved and a "module not found" warning appeared in the logs. [1]: https://github.com/odoo/odoo/commit/43f18e0863c779493f7b0ed82c37acb8344d9ae3 task-2888647 Forward-Port-Of: odoo/odoo#172917 Forward-Port-Of: odoo/odoo#94161
Imagine a scenario where Odoo and Google calendars are synced. Then, this happens: 1. User goes to Google and changes one event from a recurrence series. 2. When saving, user chooses to modify "this event and all upcoming". 3. Odoo syncs from Google automatically via cron. <details> ``` 2024-07-04 10:02:21,094 25 INFO odoo odoo.addons.google_calendar.models.res_users: Calendar Synchro - Starting synchronization for res.users(15,)
Original PR description
Imagine a scenario where Odoo and Google calendars are synced. Then, this happens: 1. User goes to Google and changes one event from a recurrence series. 2. When saving, user chooses to modify "this…
Imagine a scenario where Odoo and Google calendars are synced. Then, this happens:
1. User goes to Google and changes one event from a recurrence series.
2. When saving, user chooses to modify "this event and all upcoming".
3. Odoo syncs from Google automatically via cron.
<details>
```
2024-07-04 10:02:21,094 25 INFO odoo odoo.addons.google_calendar.models.res_users: Calendar Synchro - Starting synchronization for res.users(15,)
2024-07-04 10:02:21,568 25 INFO odoo odoo.addons.google_calendar.models.calendar_recurrence_rule: Recurrence #4838 | current rule: FREQ=WEEKLY;WKST=MO;UNTIL=20240620T215959Z;BYDAY=FR | new rule: FREQ=WEEKLY;WKST=MO;UNTIL=20240613T215959Z;BYDAY=FR | remaining: 1 | removed: 1
2024-07-04 10:02:21,583 25 INFO odoo odoo.models.unlink: User #15 deleted calendar.event records with IDs: [1999701]
2024-07-04 10:02:21,586 25 INFO odoo odoo.models.unlink: User #15 deleted mail.followers records with IDs: [3665655, 3665656, 3665657, 3665658, 3665659, 3665660, 3665661, 3665662, 3665768]
2024-07-04 10:02:21,919 25 ERROR odoo odoo.addons.google_calendar.models.res_users: [res.users(15,)] Calendar Synchro - Exception : Record does not exist or has been deleted.
(Record: calendar.event(1999701,), User: 15) !
Traceback (most recent call last):
File "/opt/odoo/custom/src/odoo/odoo/[api.py](https://api.py/)", line 997, in get
cache_value = field_cache[record._ids[0]]
KeyError: 1999701
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/odoo/custom/src/odoo/odoo/[fields.py](https://fields.py/)", line 1161, in __get__
value = env.cache.get(record, self)
File "/opt/odoo/custom/src/odoo/odoo/[api.py](https://api.py/)", line 1004, in get
raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: 'calendar.event(1999701,).write_date'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/odoo/auto/addons/google_calendar/models/[res_users.py](https://res_users.py/)", line 100, in _sync_all_google_calendar
user.with_user(user).sudo()._sync_google_calendar(google)
File "/opt/odoo/auto/addons/google_calendar/models/[res_users.py](https://res_users.py/)", line 79, in _sync_google_calendar
synced_events = self.env['calendar.event'].with_context(write_dates=events_write_dates)._sync_google2odoo(events - recurrences, default_reminders=default_reminders)
File "/opt/odoo/auto/addons/google_calendar/models/[google_sync.py](https://google_sync.py/)", line 181, in _sync_google2odoo
odoo_record_write_date = write_dates.get([odoo_record.id](https://odoo_record.id/), odoo_record.write_date)
File "/opt/odoo/custom/src/odoo/odoo/[fields.py](https://fields.py/)", line 1191, in __get__
raise MissingError("\n".join([
odoo.exceptions.MissingError: Record does not exist or has been deleted.
(Record: calendar.event(1999701,), User: 15)
```
</details>
In such case, due to the way this was handled, Odoo would die with `MissingError`.
Here I contribute a test for such scenario and the fix.
@moduon MT-6287
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#172688
Forward-Port-Of: odoo/odoo#172103Issue: In edit mode, the "on click" dropdown remains open even after clicking outside of the dropdown. With this pull request [1], we manually handle the dropdown to keep it open when clicking a dropdown item, but it prevents the dropdown from closing when clicking outside of the menu. Before this commit, we only handled the on-page click event for the HoverableDropdown [2], but not for the clickable dropdown. To maintain the same behavior for both clickable and hoverable dropdowns, this
Original PR description
Issue: In edit mode, the "on click" dropdown remains open even after clicking outside of the dropdown. With this pull request [1], we manually handle the dropdown to keep it open when clicking a dropdown item, but it prevents the dropdown from closing when clicking outside of the menu. Before this commit, we only handled the on-page click event for the HoverableDropdown [2], but not for the clickable dropdown. To maintain the same behavior for both clickable and hoverable dropdowns, this commit binds the onPageClick event once we entered in edit mode. [1]: https://github.com/odoo/odoo/commit/fe67b34f1a03d838df82a1307cf6467f994a8f3b [2]: https://github.com/odoo/odoo/commit/455e03c743d6f1db70fab4e82b2fdbc963bc22ef task-3370847 Forward-Port-Of: odoo/odoo#173027 Forward-Port-Of: odoo/odoo#127529
With this commit we allow to change/add analytic distribution on a posted line in quick edit mode. opw-3561831 Forward-Port-Of: odoo/odoo#167561 Forward-Port-Of: odoo/odoo#144562
Original PR description
With this commit we allow to change/add analytic distribution on a posted line in quick edit mode. opw-3561831 Forward-Port-Of: odoo/odoo#167561 Forward-Port-Of: odoo/odoo#144562
Steps to reproduce ================== - Install hr_skills,web_studio - Go to Employees - Open any record - Add a new resume entry without description - Save - Click on the actions gear - Print > Print Resume => `Odoo India pvt. Ltd` is displayed in the report in place of the missing description Solution ======== Use the new data-oe-demo attribute made for demo data inside studio opw-4033434 Forward-Port-Of: odoo/odoo#173167
Original PR description
Steps to reproduce ================== - Install hr_skills,web_studio - Go to Employees - Open any record - Add a new resume entry without description - Save - Click on the actions gear - Print > Print Resume => `Odoo India pvt. Ltd` is displayed in the report in place of the missing description Solution ======== Use the new data-oe-demo attribute made for demo data inside studio opw-4033434 Forward-Port-Of: odoo/odoo#173167
**Steps to reproduce the bug:** - Create a storable product P1. - Create two purchase agreement with the same product and qty=10 - Create and confirm a PO with only the second PO - Try to export both purchase agreements, selecting the one without a PO first and then the other. For the fields to export, choose: Products to purchase/ordered quantities. **Problem**: Sure, here is the corrected version in English: Both lines will show 0 units. When the `_compute_ordered_qty` is call
Original PR description
**Steps to reproduce the bug:** - Create a storable product P1. - Create two purchase agreement with the same product and qty=10 - Create and confirm a PO with only the second PO - Try to export both…
**Steps to reproduce the bug:** - Create a storable product P1. - Create two purchase agreement with the same product and qty=10 - Create and confirm a PO with only the second PO - Try to export both purchase agreements, selecting the one without a PO first and then the other. For the fields to export, choose: Products to purchase/ordered quantities. **Problem**: Sure, here is the corrected version in English: Both lines will show 0 units. When the `_compute_ordered_qty` is called with the first PO requisition line, no purchase order is linked, and therefore the total quantity remains at 0. However, the product is added as a founded line. So, on the second requisition line, even though the total quantity (10) is correctly calculated because a PO is linked, the condition that checks if the product has already been found will be true, and therefore the quantity will be set to 0. https://github.com/odoo/odoo/blob/e7850da5848993e036ab70b731f37005ccd64604/addons/purchase_requisition/models/purchase_requisition.py#L240-L244 opw-[4005265](https://www.odoo.com/web#id=4005265&view_type=form&model=project.task) Forward-Port-Of: odoo/odoo#172444 Forward-Port-Of: odoo/odoo#171809
similar to https://github.com/odoo/odoo/pull/129310 Currently, users cannot edit the bottom part of `payment_terms` and `fiscal_position`, as these are conditional blocks. This commit adds empty divs that will be interpreted by odoo-editor as editable. opw-3558001 Forward-Port-Of: odoo/odoo#172777
Original PR description
similar to https://github.com/odoo/odoo/pull/129310 Currently, users cannot edit the bottom part of `payment_terms` and `fiscal_position`, as these are conditional blocks. This commit adds empty divs that will be interpreted by odoo-editor as editable. opw-3558001 Forward-Port-Of: odoo/odoo#172777
### [FIX] product: add domain on ptav filter Steps: - Install sale. - If user using odoo for 3-4 for years then user probably have more then 200 ptavs in db.. Issue: - It'll display limit warning instead of filter in most of cases. Cause: - Have larger number of ptavs. Fix: - Add domain to only search active ptav and has related active product. opw-3827751 Forward-Port-Of: odoo/odoo#168705
Original PR description
### [FIX] product: add domain on ptav filter Steps: - Install sale. - If user using odoo for 3-4 for years then user probably have more then 200 ptavs in db.. Issue: - It'll display limit warning instead of filter in most of cases. Cause: - Have larger number of ptavs. Fix: - Add domain to only search active ptav and has related active product. opw-3827751 Forward-Port-Of: odoo/odoo#168705
To reproduce the bug: 1. Add a video to a product media. 2. In the eCommerce app, go to the product page and switch to the added video. 3. Decrease the browser page width and try to click the play/pause button. The play/pause button is located under the arrow HTML element, making it unclickable. This is because the page is not responsive, and the size of the container element is fixed at 400px. To fix this, I propose making the element responsive and decreasing the height of the arrow e
Original PR description
To reproduce the bug: 1. Add a video to a product media. 2. In the eCommerce app, go to the product page and switch to the added video. 3. Decrease the browser page width and try to click the play/pause button. The play/pause button is located under the arrow HTML element, making it unclickable. This is because the page is not responsive, and the size of the container element is fixed at 400px. To fix this, I propose making the element responsive and decreasing the height of the arrow elements. opw-3986105 Forward-Port-Of: odoo/odoo#172229
Description of the issue/feature this PR addresses: Unimplemented delivery_types for delivery carriers lead to 500 Current behavior before PR: During an odoo version update or by replacing one delivery app by another, it can happen that the shipping method is not implemented (see delivery_carrier.py#rate_shipment method). This will lead to a 500 Internal Server Error when opening the checkout page that contains the delivery method select. Desired behavior after PR is merged: Instead of a 5
Original PR description
Description of the issue/feature this PR addresses: Unimplemented delivery_types for delivery carriers lead to 500 Current behavior before PR: During an odoo version update or by replacing one delivery app by another, it can happen that the shipping method is not implemented (see delivery_carrier.py#rate_shipment method). This will lead to a 500 Internal Server Error when opening the checkout page that contains the delivery method select. Desired behavior after PR is merged: Instead of a 500 Internal Server Error (full show stopper), the error message "Shipment rate not found" is returned. The interface displays the error messages like other errors and it is ensured, that the user cannot proceed when selecting an erroneous delivery carrier. -- I confirm I have signed the CLA and read the PR guidelines at [www.odoo.com/submit-pr](http://www.odoo.com/submit-pr) Forward-Port-Of: odoo/odoo#169008
Update legacy tests importing mail/test_utils.js to use HOOT instead of Qunit. Task-3818666 Forward-Port-Of: odoo/odoo#164027
Original PR description
Update legacy tests importing mail/test_utils.js to use HOOT instead of Qunit. Task-3818666 Forward-Port-Of: odoo/odoo#164027
Turns out there's a test that checks that the return value from the super() call in write is returned in the override. See `TestOverrides.test_write()`. So we need to return the value from the super().write(). Forward-Port-Of: odoo/odoo#172524
Original PR description
Turns out there's a test that checks that the return value from the super() call in write is returned in the override. See `TestOverrides.test_write()`. So we need to return the value from the super().write(). Forward-Port-Of: odoo/odoo#172524
The aim of this commit is fixing the filtering of transactions when transactions have an empty identifier. Even if it's shouldn't be the case, it happens that providers return transactions without an identifier. In this case, it will always importe the first transaction and not the others as they have a similar id (an empty string). Now, we ignore in the filter these transactions. opw-4014171 Forward-Port-Of: odoo/enterprise#66550 Forward-Port-Of: odoo/enterprise#66473
Original PR description
The aim of this commit is fixing the filtering of transactions when transactions have an empty identifier. Even if it's shouldn't be the case, it happens that providers return transactions without an identifier. In this case, it will always importe the first transaction and not the others as they have a similar id (an empty string). Now, we ignore in the filter these transactions. opw-4014171 Forward-Port-Of: odoo/enterprise#66550 Forward-Port-Of: odoo/enterprise#66473
before this commit, if some customization has to be done for changing the workflow of invoice generation, i.e., to keep the auto generated invoice in draft state the entire function has to be rewritten after this commit, a hook is introduced _process_auto_invoice which will post the invoice, later to alter this flow just need to inherit this function Forward-Port-Of: odoo/enterprise#66305 Forward-Port-Of: odoo/enterprise#66200
Original PR description
before this commit, if some customization has to be done for changing the workflow of invoice generation, i.e., to keep the auto generated invoice in draft state the entire function has to be rewritten after this commit, a hook is introduced _process_auto_invoice which will post the invoice, later to alter this flow just need to inherit this function Forward-Port-Of: odoo/enterprise#66305 Forward-Port-Of: odoo/enterprise#66200
Steps to reproduce ================== - Install hr_skills,web_studio - Go to Employees - Open any record - Add a new resume entry without description - Save - Click on the actions gear - Print > Print Resume => `Odoo India pvt. Ltd` is displayed in the report in place of the missing description Cause of the issue ================== With the new report editor in 16.4, some demo data have been added directly inside the report templates as default content. The assumption was
Original PR description
Steps to reproduce ================== - Install hr_skills,web_studio - Go to Employees - Open any record - Add a new resume entry without description - Save - Click on the actions gear - Print >…
Steps to reproduce ================== - Install hr_skills,web_studio - Go to Employees - Open any record - Add a new resume entry without description - Save - Click on the actions gear - Print > Print Resume => `Odoo India pvt. Ltd` is displayed in the report in place of the missing description Cause of the issue ================== With the new report editor in 16.4, some demo data have been added directly inside the report templates as default content. The assumption was that it would be displayed inside the report editor, but outside, since the field would have a value, the value would take over. The default content if displayed when the field value is falsy. In this case, the default content is used instead of the empty description. Solution ======== Introduce a new attribute, data-oe-demo, to be used inside the report editor. This doesn't have the drawbacks of the default content as we can choose to only display it inside the report editor --- [commit]: https://github.com/odoo/odoo/commit/a45c6c545ffdcee3bb50b3455884b8296e5d6a7c opw-4033434 Forward-Port-Of: odoo/enterprise#66660
Before this PR: In the sign module, there are inconsistencies with the alignment of texts and icons, in both the portal and backend interfaces. After this PR: This fix addresses alignment issues and ensures consistency between the portal and backend interfaces. Now, texts and icons in the sign appear aligned and consistent across both interfaces. Forward-Port-Of: odoo/enterprise#63983
Original PR description
Before this PR: In the sign module, there are inconsistencies with the alignment of texts and icons, in both the portal and backend interfaces. After this PR: This fix addresses alignment issues and ensures consistency between the portal and backend interfaces. Now, texts and icons in the sign appear aligned and consistent across both interfaces. Forward-Port-Of: odoo/enterprise#63983
Following #61777 , the action helper is removed to use instead a dialog template picker when using the 'new' button. However, it looks like one of the file should have been cleaned but was not. This commit removes it. Task-4035826 Forward-Port-Of: odoo/enterprise#66642
Original PR description
Following #61777 , the action helper is removed to use instead a dialog template picker when using the 'new' button. However, it looks like one of the file should have been cleaned but was not. This commit removes it. Task-4035826 Forward-Port-Of: odoo/enterprise#66642
Before this commit, when dragging documents including one or more locked documents to another workspace, only the unlocked documents are effectiveley moved and no message were shown to alert the user although the code exists but is never triggered. This commit, fix this by displaying the notification alerting the user that the locked files haven't been moved. Task-3992114 Forward-Port-Of: odoo/enterprise#66662 Forward-Port-Of: odoo/enterprise#64670
Original PR description
Before this commit, when dragging documents including one or more locked documents to another workspace, only the unlocked documents are effectiveley moved and no message were shown to alert the user although the code exists but is never triggered. This commit, fix this by displaying the notification alerting the user that the locked files haven't been moved. Task-3992114 Forward-Port-Of: odoo/enterprise#66662 Forward-Port-Of: odoo/enterprise#64670
Before this commit, when you drag and drop a resizeable sign item from one page to another, it was not possible to resize the item: it was buggy because the updated sign item changed the page and the resize function had the old object binded to it. After this commit, it is possible resizing the sign items when clicking the border without any problems, from any page. This was obtained by re-binding the updated sign item to the resize function. task-4032512 Forward-Port-Of: odoo/enterprise#
Original PR description
Before this commit, when you drag and drop a resizeable sign item from one page to another, it was not possible to resize the item: it was buggy because the updated sign item changed the page and the resize function had the old object binded to it. After this commit, it is possible resizing the sign items when clicking the border without any problems, from any page. This was obtained by re-binding the updated sign item to the resize function. task-4032512 Forward-Port-Of: odoo/enterprise#65990
**Current behavior:** Having a picking whose operation type has the `create_backorder='ask'` setting, if a barcode line is modified using the edit button rather than actually scanning, the confirmation dialog for the backorder will be skipped. **Expected behavior:** When the 'ask' option is used, the dialog should always be displayed. **Steps to reproduce:** 1. Create a picking with a demand of 2.0 for some product, ensure the picking's op type has the 'ask' options set for
Original PR description
**Current behavior:** Having a picking whose operation type has the `create_backorder='ask'` setting, if a barcode line is modified using the edit button rather than actually scanning, the…
**Current behavior:**
Having a picking whose operation type has the
`create_backorder='ask'` setting, if a barcode line is modified
using the edit button rather than actually scanning, the
confirmation dialog for the backorder will be skipped.
**Expected behavior:**
When the 'ask' option is used, the dialog should always be
displayed.
**Steps to reproduce:**
1. Create a picking with a demand of 2.0 for some product,
ensure the picking's op type has the 'ask' options set for
backorder creation (it's the default option) -> confirm the
picking
2. In Barcode, open the picking and add 1.0 quantity to the
barcode line
3. Save the edit form, then validate the picking -> no dialog
**Cause of the issue:**
Compared the actually scanning product, modifying the line via
the form actually updates the record data. This causes the
corresponding `StockMoveLine` to get marked as `picked=True`
(via `_inverse_qty_done()` in `stock_barcode::StockMoveLine`.
The end result is `!this.lineIsReserved(line)` evaluates to
True in the Barcode client when checking whether to do
the backorder dialog which means we skip it.
**Fix:**
Remove the `lineIsReserved()` check, only look at whether
the line quantity is positive, non-zero.
*Note: the behavior between the two flows (scans vs. form edits)
diverges when the user reloads the page, however, this was also
the case prior to this change.*
opw-3972478
Forward-Port-Of: odoo/enterprise#66558
Forward-Port-Of: odoo/enterprise#64318