Wednesday, May 8, 2024
41 changes · saas-17.2
Resolved issues and error corrections
A test setup was adjusted so the accounting bill upload screen can be checked reliably when the Indian localization is installed. This prevents false test failures and helps keep accounting features stable across localized configurations.
Original PR description
The test `can render AccountMoveUploadKanbanView` fails with l10n_in. The test does not setup the companies for the service. It causes un undefined issue in the method `qrBillScannerController`, in the module `l10n_in_qr_code_bill_scan` We will just patch the `search_read` for it (it's the easiest to patch). Linked to runbot 58753 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures copied databases do not accidentally contact live external barcode lookup services. It helps support teams investigate issues safely without risking changes or customer impact from production-like duplicates.
Original PR description
This commit adds the missing neutralization necessary for the product_barcodelookup module introduced in [1] The purpose of the standard neutralization framework is to allow us to create database copies that will not interact with external systems in ways that could impact the production database (or if it is not possible to prevent the interactions, make sure that they are benign or wont result in actual changes), or impact the customers of the operator of the production database. This is mainly useful to allow safe support investigation on database duplicates. [1] https://github.com/odoo/enterprise/pull/61949
Import summary fields used only for internal counting are no longer marked for translation. This keeps translation files cleaner and avoids unnecessary localization work for labels that users never see.
Original PR description
…atable Those fields are just counting stuff, and their labels are never displayed. So it's useless having them in the .pot file
Code cleanup and technical improvements
The ratings and mail test suites were moved to Odoo's newer testing approach. This helps maintain product quality and makes future changes easier to validate without changing end-user functionality.
Original PR description
part of task-3818666
Miscellaneous changes
**Steps to reproduce:** - Install Accounting - Create a branch company (e.g. Branch Company) for a company (e.g. YourCompany) - Switch to Branch Company - Create a product with taxes from the parent and the branch companies - Create an invoice - Add a line with the created product **Issue:** Both taxes from the branch company and its parent are set on the invoice line. It should only take the tax from the branch. And if there is no tax, it should check the parent company for a tax an
The automated checks for the website helpdesk live chat area were moved to a newer testing approach. This helps maintain reliability for future updates without changing how users interact with the feature.
Original PR description
part of task-3818666
The mail enterprise module’s automated tests were migrated to a newer testing framework. This is an internal maintenance change that helps keep future development reliable without changing end-user behavior.
Original PR description
part of task-3818666
Original PR description
**Steps to reproduce:** - Install Accounting - Create a branch company (e.g. Branch Company) for a company (e.g. YourCompany) - Switch to Branch Company - Create a product with taxes from the parent…
**Steps to reproduce:** - Install Accounting - Create a branch company (e.g. Branch Company) for a company (e.g. YourCompany) - Switch to Branch Company - Create a product with taxes from the parent and the branch companies - Create an invoice - Add a line with the created product **Issue:** Both taxes from the branch company and its parent are set on the invoice line. It should only take the tax from the branch. And if there is no tax, it should check the parent company for a tax and so on, as it is done in Sales. The same issue happens in: - "Purchase": the taxes on PO lines - "Point of Sale": the taxes on the products when loading a session - "eCommerce": (when "Tax Included" is configured for "Display Product Prices") * the displayed price on product page * the displayed price on the products list page * the displayed price on the Products snippet - "Delivery": the taxes on the delivery line of a SO - "Sale Loyalty": the taxes on the free product or free shipping opw-3850514 opw-3873659 opw-3775579 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#164799 Forward-Port-Of: odoo/odoo#163775
Steps to reproduce 1. Go to course. 2. Add a content 3. Select quiz content then Add a question, Issue: There was no space between the Save and Cancel buttons. fix: Add the margin-left on the button. Task:3848282 Forward-Port-Of: odoo/odoo#160444
Original PR description
Steps to reproduce 1. Go to course. 2. Add a content 3. Select quiz content then Add a question, Issue: There was no space between the Save and Cancel buttons. fix: Add the margin-left on the button. Task:3848282 Forward-Port-Of: odoo/odoo#160444
The Python module 'phonenumbers' received an update, which includes localization data for Morocco "MA" phone number patterns. Given that 'phonenumbers' is an external module tied to the Ubuntu module repository, it is not expected to receive a bump to the latest version soon. ### [Reproduce] - Ensure that odoo is using (old) phonenumbers python module in version 8.12 - Install -i phone_validation - Run odoo shell (`odoo-bin shell` command) - check if "+212780137429" is a valid number T
Original PR description
The Python module 'phonenumbers' received an update, which includes localization data for Morocco "MA" phone number patterns. Given that 'phonenumbers' is an external module tied to the Ubuntu module…
The Python module 'phonenumbers' received an update, which includes localization data for Morocco "MA" phone number patterns. Given that 'phonenumbers' is an external module tied to the Ubuntu module repository, it is not expected to receive a bump to the latest version soon.
### [Reproduce]
- Ensure that odoo is using (old) phonenumbers python module in version 8.12
- Install -i phone_validation
- Run odoo shell (`odoo-bin shell` command)
- check if "+212780137429" is a valid number
To run in odoo shell: Check Moroccan number
```python
import phonenumbers
phonenumbers.is_valid_number(phonenumbers.parse('+212780137429',region='MA',keep_raw_input=True))
```
### [Issue Explanation]
In version 8.12 of the 'phonenumbers' module in the Ubuntu repository, the regex used to recognize mobile numbers is not up to date.
### [This commit changes]
This commit brings changes from the newest phonenumbers version into the current one.
### [Why was existing test modified]
_local_load_region function was previously defined dynamically only for the versions patched in the previous fix. Since my fix needs to reuse that function it was moved outside of patched scope.
Existing test used the hypothesis "if _local_load_region was defined" to assess that the patching was performed. This is no longer possible with _local_load_region beeing out of the specyfic patched scope. Instead I use the fact that _local_load_region gets assigned to the specyfic region loaders when patching is performed, and check for that.
opw-3763407
## Merge note
There was similar fix in 17.0, will perform integration of those two in the forward-port branch
Forward-Port-Of: odoo/odoo#164841
Forward-Port-Of: odoo/odoo#158076Prior to this commit, searching in the partner list resulted in an alphabetical sorting of the results. This commit fixes the issue by ensuring that the search results are sorted based on similarity instead of alphabetically. opw-3905027 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#164730
Original PR description
Prior to this commit, searching in the partner list resulted in an alphabetical sorting of the results. This commit fixes the issue by ensuring that the search results are sorted based on similarity instead of alphabetically. opw-3905027 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#164730
The dropdown overflow their container on firefox: This was due to width fill-available which isn't set on firefox relying on a `width: 100%` effectively occupies the available space better. (moz-available provides weird result on ff >125). The dropdown-menu was not wide enough, this PR mimics the full width dropdown-menu using the `width: 100%` inheriting the width of the we-row. Sometimes we had a misplacement if popper.js consider the dropdown-menu should be rendered at `data-popper-pl
Original PR description
The dropdown overflow their container on firefox: This was due to width fill-available which isn't set on firefox relying on a `width: 100%` effectively occupies the available space better.…
The dropdown overflow their container on firefox: This was due to width fill-available which isn't set on firefox relying on a `width: 100%` effectively occupies the available space better. (moz-available provides weird result on ff >125). The dropdown-menu was not wide enough, this PR mimics the full width dropdown-menu using the `width: 100%` inheriting the width of the we-row. Sometimes we had a misplacement if popper.js consider the dropdown-menu should be rendered at `data-popper-placement`=`x-start`. Thus why selecting this attribute to adapt the position accordingly.pdown are position relative by default for the dropdown-menu to refer to the position of the dropdown-toggle Additionnally the tick icon on our dropdown items were displayed twice, this was due to the ::before pseudo element from the `webclient.scss` still being displayed in website while we manage it already with an ::after element. task-3527720 part of 3503975 | Before | After | | -- | -- | |  |  | |  | | | |  | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#137129
Versions -------- - 17.0+ Issue ----- `stock.quant`'s `_get_reserve_quantity` method makes a call to `float_compare`, passing a `precision_rounding` value as a `precision_digits` parameter. Issue found working on opw-3705546 Forward-Port-Of: odoo/odoo#164665
Original PR description
Versions -------- - 17.0+ Issue ----- `stock.quant`'s `_get_reserve_quantity` method makes a call to `float_compare`, passing a `precision_rounding` value as a `precision_digits` parameter. Issue found working on opw-3705546 Forward-Port-Of: odoo/odoo#164665
Usecase to reproduce: - Product A and B 1 unit in stock - Procuct C no stock - Create a delivery for the 3 products, one unit each - Set the picking policy as deliver all at once - Reserve - Unlock and set the Product A initial demand to zero Expected behavior: Picking remains in waiting state Current behavior: It goes to ready state It's an issue in the `_get_relevant_state_among_moves` method that return assigned if the first move is in confirmed without any initial demand. Bu
Original PR description
Usecase to reproduce: - Product A and B 1 unit in stock - Procuct C no stock - Create a delivery for the 3 products, one unit each - Set the picking policy as deliver all at once - Reserve - Unlock and set the Product A initial demand to zero Expected behavior: Picking remains in waiting state Current behavior: It goes to ready state It's an issue in the `_get_relevant_state_among_moves` method that return assigned if the first move is in confirmed without any initial demand. But it's false since another move could have an initial demand after it and in confirm state opw-3850635 Forward-Port-Of: odoo/odoo#164711
'TypeError: PaymentTransaction._set_canceled() takes 1 positional argument but 2 were given' opw-3708875 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#164751
Original PR description
'TypeError: PaymentTransaction._set_canceled() takes 1 positional argument but 2 were given' opw-3708875 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#164751
This commit adds a basic Nigerian localization. - Taxes, tax groups - Fiscal positions - Tax report The Chart of Accounts can remain generic. That's why we have to parse the generic COA and call generic COA template functions in order to combine the generic COA and Nigerian-specific taxes in a localization. Enterprise PR: odoo/enterprise#58603 Task [link](https://www.odoo.com/web#model=project.task&id=3607459) task-3607459 Forward-Port-Of: odoo/odoo#148370
Original PR description
This commit adds a basic Nigerian localization. - Taxes, tax groups - Fiscal positions - Tax report The Chart of Accounts can remain generic. That's why we have to parse the generic COA and call generic COA template functions in order to combine the generic COA and Nigerian-specific taxes in a localization. Enterprise PR: odoo/enterprise#58603 Task [link](https://www.odoo.com/web#model=project.task&id=3607459) task-3607459 Forward-Port-Of: odoo/odoo#148370
When l10n_ar_website_sale is installed, the tour is ran. We have several companies, so the search is not selective enough. Just search on the right websites. runbot-55875 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#162843
Original PR description
When l10n_ar_website_sale is installed, the tour is ran. We have several companies, so the search is not selective enough. Just search on the right websites. runbot-55875 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#162843
Before this PR, a notification without body did not display anything inside the messaging menu. This PR adds a fallback to the `subtype_description`. Task-3749144 Forward-Port-Of: odoo/odoo#164702 Forward-Port-Of: odoo/odoo#162986
Original PR description
Before this PR, a notification without body did not display anything inside the messaging menu. This PR adds a fallback to the `subtype_description`. Task-3749144 Forward-Port-Of: odoo/odoo#164702 Forward-Port-Of: odoo/odoo#162986
**Steps to reproduce the bug:** - Create a storable product “P1” and update its quantity to 10. - Create a picking: - Source location: Wh/Stock - Destination location: Virtual Locations/Scrap - Product: 10 units of P1. - Mark as to-do. - Try to validate the picking. **Problem:** A wizard asking to create a backorder is triggered. This occurs because when validating the picking, we check if all the moves are picked and the quantity is set. However, for the scrap moves tha
Original PR description
**Steps to reproduce the bug:**
- Create a storable product “P1” and update its quantity to 10.
- Create a picking:
- Source location: Wh/Stock
- Destination location: Virtual Locations/Scrap
- Product: 10 units of P1.
- Mark as to-do.
- Try to validate the picking.
**Problem:**
A wizard asking to create a backorder is triggered. This occurs because when validating the picking, we check if all the moves are picked and the quantity is set. However, for the scrap moves that are ignored, we'll consider the move as not picked and no quantity done is set, hence the creation of a backorder is proposed.
**Solution:**
For the scrap moves, ignore the check of "picked" but check if a quantity done is set when validating the picking.
opw-3900082
Forward-Port-Of: odoo/odoo#164517This [commit](https://github.com/odoo/odoo/commit/2d2a7729a77f8004aa046998ce75cd85280b3a6e) introduced an unwanted side effect by raising an error when it wasn't legitimate. opw-3901083 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#164823 Forward-Port-Of: odoo/odoo#164743
Original PR description
This [commit](https://github.com/odoo/odoo/commit/2d2a7729a77f8004aa046998ce75cd85280b3a6e) introduced an unwanted side effect by raising an error when it wasn't legitimate.
opw-3901083
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#164823
Forward-Port-Of: odoo/odoo#164743The method `_flush()` can map context key `'allowed_company_ids'` to `None`, which may lead to some code to crash. We have found such a use-case, where the value of a monetary field must be rounded with respect to a non-stored currency field, which is computed and uses `with_company()`, which crashes because of the context's value. Forward-Port-Of: odoo/odoo#164747 Forward-Port-Of: odoo/odoo#164689
Original PR description
The method `_flush()` can map context key `'allowed_company_ids'` to `None`, which may lead to some code to crash. We have found such a use-case, where the value of a monetary field must be rounded with respect to a non-stored currency field, which is computed and uses `with_company()`, which crashes because of the context's value. Forward-Port-Of: odoo/odoo#164747 Forward-Port-Of: odoo/odoo#164689
Current behavior: --- When you delete a mail template that is used in the communication tab of an event, you get an error: Missing Record Steps to reproduce: --- 1. Go to Email Templates 2. Delete a template used in an event 3. Try to open the event 4. Error: Missing Record Cause of the issue: --- When you delete a template, the fields template_ref in event.mail and event.type.mail are not changed, Making reference to nonexistent data. Fix: --- As mentioned in the ticket,
Original PR description
Current behavior: --- When you delete a mail template that is used in the communication tab of an event, you get an error: Missing Record Steps to reproduce: --- 1. Go to Email Templates 2. Delete a template used in an event 3. Try to open the event 4. Error: Missing Record Cause of the issue: --- When you delete a template, the fields template_ref in event.mail and event.type.mail are not changed, Making reference to nonexistent data. Fix: --- As mentioned in the ticket, lines related to the template should be unlinked. opw-3685142 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#164680 Forward-Port-Of: odoo/odoo#153893
Steps to reproduce: - Enable multistep delivery/reciept - Create a kit and subkit with product quantity set on the bom (exemple values in the tests) - Create and confirm an PO (pickings created with correct values) - Update the orders quantity Bug: wrong Delivered/Recieved ammount on the PO line FIX: move_dest in the case of kits are the components moves not the order line product opw-3827388 Forward-Port-Of: odoo/odoo#164571
Original PR description
Steps to reproduce: - Enable multistep delivery/reciept - Create a kit and subkit with product quantity set on the bom (exemple values in the tests) - Create and confirm an PO (pickings created with correct values) - Update the orders quantity Bug: wrong Delivered/Recieved ammount on the PO line FIX: move_dest in the case of kits are the components moves not the order line product opw-3827388 Forward-Port-Of: odoo/odoo#164571
Step to reproduce: 1. Drop a multiple text snippet 2. Select the text and open the dropdown of any options 3. Click any other text or anywhere outsite the snippet editor 4. Dropdown remains open. Dropdown should be close if we click outside. Before this commit, when clicking anywhere outside the snippet editor panel, the opened dropdowns for inline text options would remain open. This issue arose due to the presence of multiple HTML document objects. The Bootstrap dropdown was not
Original PR description
Step to reproduce: 1. Drop a multiple text snippet 2. Select the text and open the dropdown of any options 3. Click any other text or anywhere outsite the snippet editor 4. Dropdown remains open. Dropdown should be close if we click outside. Before this commit, when clicking anywhere outside the snippet editor panel, the opened dropdowns for inline text options would remain open. This issue arose due to the presence of multiple HTML document objects. The Bootstrap dropdown was not being triggered outside the iframe. Therefore, in this commit, we handled the closing of the dropdown manually if clicked outside option panel. task-3544708 Forward-Port-Of: odoo/odoo#164646 Forward-Port-Of: odoo/odoo#162376
#### [FIX] core: add invalidation of Environment's _cache_key. Changing the environment in method create() to force bin_size=False looks harmless, but it actually breaks many tests, in particular in module account. The reason is that company_dependent fields are read at the wrong place in the cache. And this is because `env._cache_key` can be polluted with old data. Make sure that `_cache_key` is cleared when resetting all the lazy properties on the environment. Only the change in
Original PR description
#### [FIX] core: add invalidation of Environment's _cache_key. Changing the environment in method create() to force bin_size=False looks harmless, but it actually breaks many tests, in particular in…
#### [FIX] core: add invalidation of Environment's _cache_key. Changing the environment in method create() to force bin_size=False looks harmless, but it actually breaks many tests, in particular in module account. The reason is that company_dependent fields are read at the wrong place in the cache. And this is because `env._cache_key` can be polluted with old data. Make sure that `_cache_key` is cleared when resetting all the lazy properties on the environment. Only the change in res_user.py makes it work, but let's not tempt the devil. Side note: I hate caches. #### [FIX] test_new_api: test's change that already works Add some test cases, and also remove useless flush/invalidate. #### [FIX] core: fix create/write on binary fields When invoking create() or write() with a binary field, the cache of the field was incorrect if bin_size=True was in context. Force context with bin_size=False when putting a binary value in cache. It is particularly important to have coherent values in the cache for `web_save`. Also, because an environment with bin_size=False won't return the same context cache key as one with bin_size=None, it leads to have a cache inconstistency when we write with bin_size=False. Change Environment method cache_key() to return the same cache key when bin_size is absent, bin_size=None or bin_size=False. Tests on binary fields have been updated to not rely on flush and invalidate. We also created specific tests for the binary write() path. #### [FIX] core: cache inconsistency when assigning related resized image field After writing or creating on a related Image field, its cache contains the full-size image instead of the resized one (according to its attributes max_width and max_height). Fix it by re-setting the the resized image on the cache at the end of the inverse method. #### [FIX] core: flush non-attachment binary field when necessary Non-attachment binary field needs to be flushed before reading their size, since the latter relies on the database's binary size function. #### [FIX] core: fix no-attachment binary for web_save When bin_size=True is in the context, the computed no-attachment binary was incorrectly saved to the database. The row is updated with the size of the binary instead of the value itself (check compute_value() + cache.set). Fix this problem by avoiding setting the cache of the bin_size value as dirty. Moreover, the binary size is computed with `pg_size_pretty` for the no-attachment binary fields. Also, in compute_value() we called b64decode on the value that was previously encoded in base64 by _compute_datas(). But in our case, we never use _compute_datas() because it is not stored as an attachment. Then b64decode() doesn't make sense in this case. These 2 bugs are now covered by testing web_save(), where cache consistency is required. It was first reported for this method. First proposal: https://github.com/odoo/odoo/pull/156673 Forward-Port-Of: odoo/odoo#163634 Forward-Port-Of: odoo/odoo#160708
Steps to reproduce: - in A1, type '02/2024' - in A2, type '=ODOO.BALANCE("100", A1)' - right click on A2 - click the menu item "See record" => you end up with wrong records in the list view The value of A1 is detected as a number (first of february 2024) When that number is given as the argument of ODOO.BALANCE, the number falls back as being interpreted as a single day, instead of a month period. opw-3872445 Description of the issue/feature this PR addresses: Current behavior be
Original PR description
Steps to reproduce:
- in A1, type '02/2024'
- in A2, type '=ODOO.BALANCE("100", A1)'
- right click on A2
- click the menu item "See record" => you end up with wrong records in the list view
The value of A1 is detected as a number (first of february 2024) When that number is given as the argument of ODOO.BALANCE, the number falls back as being interpreted as a single day, instead of a month period.
opw-3872445
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#163483
Forward-Port-Of: odoo/odoo#163156The general tax rate of Estonia has changed from 20% to 22% recently. However, the mapping of tax rates using OSS has not been updated. This commit updates the tax mappings to use the new 22% tax. no-task-id Forward-Port-Of: odoo/odoo#164774
Original PR description
The general tax rate of Estonia has changed from 20% to 22% recently. However, the mapping of tax rates using OSS has not been updated. This commit updates the tax mappings to use the new 22% tax. no-task-id Forward-Port-Of: odoo/odoo#164774
Since [1], product variants have been managed through URL hashes containing unique IDs, causing conflicts with popup snippets "on click" functionality (see [2]). Steps to reproduce: - Go to the website and navigate to "Shop" - Select "Customizable Desk" - Enable "Edit" mode - Drag and drop the "Popup" snippet - Change the "Display" option to "On Click (via link)" - Close the popup - Select any text on the page and convert it into a link - Paste the anchor automatically copied to the
Original PR description
Since [1], product variants have been managed through URL hashes containing unique IDs, causing conflicts with popup snippets "on click" functionality (see [2]). Steps to reproduce: - Go to the website and navigate to "Shop" - Select "Customizable Desk" - Enable "Edit" mode - Drag and drop the "Popup" snippet - Change the "Display" option to "On Click (via link)" - Close the popup - Select any text on the page and convert it into a link - Paste the anchor automatically copied to the clipboard by hitting Ctrl-C in the URL field - Save the changes - Click on the link to open the popup - Bug: Nothing happens This commit resolves this issue. opw-3888248 [1]: https://github.com/odoo/odoo/commit/0a79d9a90fc6c53d8d37257c07df5dd9ec068ffa [2]: https://github.com/odoo/odoo/commit/b043f0671a650f2ae1b44e569ae7abb6762cab2a Forward-Port-Of: odoo/odoo#164543
[FIX] web_editor: avoid creating url attachment when data are fetchable Steps to reproduce: - Drop a "Text-Image" snippet on the website. - Double click to replace the image. - Click on "Add URL" and use a relative local url that does not begin by a `/` to replace the image (for example `website/static/src/img/phone.png`). -> Problem: The image is not visible on the website. Since [1] (modified by [2]), the system tries to fetch the data when an image is uploaded by giving its url
Original PR description
[FIX] web_editor: avoid creating url attachment when data are fetchable Steps to reproduce: - Drop a "Text-Image" snippet on the website. - Double click to replace the image. - Click on "Add URL" and…
[FIX] web_editor: avoid creating url attachment when data are fetchable Steps to reproduce: - Drop a "Text-Image" snippet on the website. - Double click to replace the image. - Click on "Add URL" and use a relative local url that does not begin by a `/` to replace the image (for example `website/static/src/img/phone.png`). -> Problem: The image is not visible on the website. Since [1] (modified by [2]), the system tries to fetch the data when an image is uploaded by giving its url through the media dialog. If the system manages to fetch the data, the original image is linked to a binary attachment that contains those data. If the data are not fetchable, the original image is linked to an attachment of type "url". The problem is that, in the described case, `new URL()` is throwing an error that is intercepted by the `catch()` instruction. An attachment of type "url" is created even if the data are fetchable. More investigation should be done to know why but, in this case, the system is redirected to a wrong url (something like `http://localhost:8069/web/image/334-redirect/website/static/src/img/phone.png`) when trying to load the image. Due to that, the image is not visible on the website. To solve the problem, the url of the current page is given as a `base` at `URL` creation. Thanks to it, `new URL()` does not throw an error anymore. Note that `window.location.href` is used instead of `window.location.origin` to handle relative local url that does not begin with a `/`. [1]: https://github.com/odoo/odoo/commit/943944dd249c15de870d6800d89e48d54a422e5a [2]: https://github.com/odoo/odoo/commit/238566d1dea29fd11353e7e6529d29843c4f658b task-3754865 Forward-Port-Of: odoo/odoo#154625
Steps to reproduce: ------------------- - create an employee without picture (generated by default) - go on Attendances/Kiosk Mode - click on identify manually Issue: ------ The employee without picture has a strange display. Cause: ------ This is because the ‘Uniform Resource Identifier’ (URI) scheme is forced to `data:image/png;base64,...`. The default image uses `svg+xml`. Solution: --------- Use the correct URI depending on the source (which is base64). opw-3911343 Fo
Original PR description
Steps to reproduce: ------------------- - create an employee without picture (generated by default) - go on Attendances/Kiosk Mode - click on identify manually Issue: ------ The employee without picture has a strange display. Cause: ------ This is because the ‘Uniform Resource Identifier’ (URI) scheme is forced to `data:image/png;base64,...`. The default image uses `svg+xml`. Solution: --------- Use the correct URI depending on the source (which is base64). opw-3911343 Forward-Port-Of: odoo/odoo#164683
The mappings of all the positions were considered when doing the account mapping when creating multiple invoices with different fiscal positions. Forward-Port-Of: odoo/odoo#164762
Original PR description
The mappings of all the positions were considered when doing the account mapping when creating multiple invoices with different fiscal positions. Forward-Port-Of: odoo/odoo#164762
[IMP] account_asset: Set Depreciated group in assets visible Issue: Currently, The VALUE AT IMPORT section in asset page is only visible in the debug mode which make the users walk in cycles trying to get the advantage of this section but it's not actually visible Solution: Make it the group visible by default Task-3891744 Forward-Port-Of: odoo/enterprise#61941 Forward-Port-Of: odoo/enterprise#61429
Original PR description
[IMP] account_asset: Set Depreciated group in assets visible Issue: Currently, The VALUE AT IMPORT section in asset page is only visible in the debug mode which make the users walk in cycles trying to get the advantage of this section but it's not actually visible Solution: Make it the group visible by default Task-3891744 Forward-Port-Of: odoo/enterprise#61941 Forward-Port-Of: odoo/enterprise#61429
Since the complete refactoring of the module in 17, the "open record" button of the CorrespondenceDetails no longer works: Clicking it causes the softphone to fold, but nothing more happens (the record is not displayed as expected). This is because we started retrieving the ORM service from the `useService` hook, whereas before we used to retrieve it from the env. `useService` untransparently wraps the ORM call in a "_protectMethod", which drops the return value of an RPC if the component tha
Original PR description
Since the complete refactoring of the module in 17, the "open record" button of the CorrespondenceDetails no longer works: Clicking it causes the softphone to fold, but nothing more happens (the record is not displayed as expected). This is because we started retrieving the ORM service from the `useService` hook, whereas before we used to retrieve it from the env. `useService` untransparently wraps the ORM call in a "_protectMethod", which drops the return value of an RPC if the component that made it has been destroyed in the meantime. Since clicking the "open record" button also folds the softphone, it destroyed the Correspondence Details component, preventing it from ever receiving the RPC's return value. This commit changes the way the ORM service is retrieved in order not to use `useService` and to solve the problem. opw-3904519 Forward-Port-Of: odoo/enterprise#62099
Steps to reproduce the bug: -create a contract -send him to sign -delete the tag "Signature Request" -connect has the signer -try to sign the contract -> error Expected behavior: The tag shouldn't be deletable fix: add a constraint to prevent the deletion of the tag and force create task-3695553 Forward-Port-Of: odoo/enterprise#55589
Original PR description
Steps to reproduce the bug: -create a contract -send him to sign -delete the tag "Signature Request" -connect has the signer -try to sign the contract -> error Expected behavior: The tag shouldn't be deletable fix: add a constraint to prevent the deletion of the tag and force create task-3695553 Forward-Port-Of: odoo/enterprise#55589
This commit extends tax reports added in l10n_ng to show warnings and hide the Closing Entry button on Withholding tax report. Also adds tax report tests. Odoo PR: https://github.com/odoo/odoo/pull/148370 Task [link](https://www.odoo.com/web#model=project.task&id=3607459) task-3607459 Forward-Port-Of: odoo/enterprise#58603
Original PR description
This commit extends tax reports added in l10n_ng to show warnings and hide the Closing Entry button on Withholding tax report. Also adds tax report tests. Odoo PR: https://github.com/odoo/odoo/pull/148370 Task [link](https://www.odoo.com/web#model=project.task&id=3607459) task-3607459 Forward-Port-Of: odoo/enterprise#58603
Steps to reproduce: - Create a BOM with multiple operations - Create an MO for it with qty 2 - Mark all operations as done with qty 2 excpet the last - Set qty as 1 on the last operation and create a backorder Bug: the created WO for the first operations are cancelled since all the necessary components have already been produced but they shouldn't be displayed since they are already cancelled opw-3737758 Forward-Port-Of: odoo/enterprise#60281
Original PR description
Steps to reproduce: - Create a BOM with multiple operations - Create an MO for it with qty 2 - Mark all operations as done with qty 2 excpet the last - Set qty as 1 on the last operation and create a backorder Bug: the created WO for the first operations are cancelled since all the necessary components have already been produced but they shouldn't be displayed since they are already cancelled opw-3737758 Forward-Port-Of: odoo/enterprise#60281
Issue ----- The document name is replaced by `...` on the kanban card when the name is too long and locking the document. Steps to reproduce ------------------ - Install `documents` module - Click on any document card to open the right sidebar - Change the document name to a very long one (Should display `...` at the end of name on the card) - Click on the lock icon in the sidebar to lock the document Cause ----- There is a `o_text_overflow` CSS class on the field that use `text-o
Original PR description
Issue ----- The document name is replaced by `...` on the kanban card when the name is too long and locking the document. Steps to reproduce ------------------ - Install `documents` module - Click on any document card to open the right sidebar - Change the document name to a very long one (Should display `...` at the end of name on the card) - Click on the lock icon in the sidebar to lock the document Cause ----- There is a `o_text_overflow` CSS class on the field that use `text-overflow` while a parent also use it(`o_kanban_record_title`). Note: No issue before v16.0 because it seems that the renderer get ride of any extra class on a text field in the kanban view. Solution -------- Remove the extra `o_text_overflow` CSS class from the field. opw-3829011 Forward-Port-Of: odoo/enterprise#62025 Forward-Port-Of: odoo/enterprise#60052
Order changes are sent to the preparation display before printing the receipt. This slows down the workflow as users have to wait for other requests to finish before the receipt is printed when a preparation display is connected. opw-3756416 Forward-Port-Of: odoo/enterprise#61687 Forward-Port-Of: odoo/enterprise#60441
Original PR description
Order changes are sent to the preparation display before printing the receipt. This slows down the workflow as users have to wait for other requests to finish before the receipt is printed when a preparation display is connected. opw-3756416 Forward-Port-Of: odoo/enterprise#61687 Forward-Port-Of: odoo/enterprise#60441
[ADD] account_asset: Add tooltip to Prorata Date Add tooltip to Prorata Date field in account_asset module and add its translation Reason: Enhance user-experience Task-3864117 Forward-Port-Of: odoo/enterprise#60863
Original PR description
[ADD] account_asset: Add tooltip to Prorata Date Add tooltip to Prorata Date field in account_asset module and add its translation Reason: Enhance user-experience Task-3864117 Forward-Port-Of: odoo/enterprise#60863
Create a Bill Add on a new line tax and vehicle Save Edit line > Remove vehicle Save Issue: tax line will still have the vehicle set opw-3790136 Forward-Port-Of: odoo/enterprise#58834
Original PR description
Create a Bill Add on a new line tax and vehicle Save Edit line > Remove vehicle Save Issue: tax line will still have the vehicle set opw-3790136 Forward-Port-Of: odoo/enterprise#58834
Steps to reproduce: - Install Accounting and l10n_mx_edi - Switch to a Mexican company (e.g. ESCUELA KEMPER URGATE) - Create 2 invoices: - Customer: [any] (e.g. Deco Addict) - Product: [Three-Seat Sofa] - Confirm the invoice - Generate CFDI via "Send & Print" button - Register Payment (Payment Way: Monedero Electrónico) - Click on "Update Payments" button - Go to the payment - Force CFDI for both payment - From the view list, select both payments and send receipts by email Issue: The CFD
Original PR description
Steps to reproduce: - Install Accounting and l10n_mx_edi - Switch to a Mexican company (e.g. ESCUELA KEMPER URGATE) - Create 2 invoices: - Customer: [any] (e.g. Deco Addict) - Product: [Three-Seat Sofa] - Confirm the invoice - Generate CFDI via "Send & Print" button - Register Payment (Payment Way: Monedero Electrónico) - Click on "Update Payments" button - Go to the payment - Force CFDI for both payment - From the view list, select both payments and send receipts by email Issue: The CFDI documents of the payments are not in the attachments of the email as it was in previous versions. Cause: The feature was lost during the refactoring of "l10n_mx_edi" module to not depend on "account_edi" module opw-3838799 Forward-Port-Of: odoo/enterprise#62122 Forward-Port-Of: odoo/enterprise#61552
### [FIX] marketing_automation: CP MarketingCampaign with server action activity Until now copying MarketingActivity it was required to have mass_mailing_id. However MarketingActivity can have other activity_type than email in which mass_mailing_id is not existent, thus causing errors when trying to duplicate an Activity. ### [Reproduce] Steps to reproduce: - Install marketing_automation - Go to Marketing Automation / Campaigns - Create a marketing automation with an activity c
Original PR description
### [FIX] marketing_automation: CP MarketingCampaign with server action activity Until now copying MarketingActivity it was required to have mass_mailing_id. However MarketingActivity can have other activity_type than email in which mass_mailing_id is not existent, thus causing errors when trying to duplicate an Activity. ### [Reproduce] Steps to reproduce: - Install marketing_automation - Go to Marketing Automation / Campaigns - Create a marketing automation with an activity called "server action" - Duplicate the marketing automation -> BUG: Traceback ### [Related] https://github.com/odoo/enterprise/commit/4275e172342cd4b201d1eb703aa02cfc1ceb0a76 <-this commit introduced copy_data opw-3745805 Forward-Port-Of: odoo/enterprise#59887