Wednesday, May 8, 2024
37 changes · saas-17.1
Resolved issues and error corrections
The chart of accounts search panel no longer shows an expand or fold button that was getting in the way of other controls. This reduces visual clutter and helps users access the relevant search panel buttons more easily.
Original PR description
This commit hides the expand/fold button of the search panel in the chart of accounts because it overlaps with the search panel buttons and is not useful in this case.
Searching for customers in Point of Sale now keeps the most relevant matches at the top instead of rearranging results alphabetically. This helps cashiers find the intended customer more quickly and reduces selection mistakes during checkout.
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
Miscellaneous changes
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
At the end of the chat with odoobot, odoobot state is `idle` and the message which is sent to user in this state doesn't contain `start the tour` so at the end of the chat, user never knows that it's possible to start the tour again! This PR changes the wording in messages from odooBot in `idle` state to contain `start the tour` again possibility. This is a part of task-3570249 but since from 15.0 it's similar in all versions, the fix should be applied on all of them. Forward-Port-Of:
Original PR description
At the end of the chat with odoobot, odoobot state is `idle` and the message which is sent to user in this state doesn't contain `start the tour` so at the end of the chat, user never knows that it's possible to start the tour again! This PR changes the wording in messages from odooBot in `idle` state to contain `start the tour` again possibility. This is a part of task-3570249 but since from 15.0 it's similar in all versions, the fix should be applied on all of them. Forward-Port-Of: odoo/odoo#164612 Forward-Port-Of: odoo/odoo#163950
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
Issue: When archiving a contract the employee form view does not update the first contract. Cause: The first contract computation is not trigger when archiving a contract. expected behavior: When archiving a contract the first contract should be recomputed. Fix: Add the active field to the depends method of the contract. task-3745594 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#163737 Forward-Port-Of: odo
Original PR description
Issue: When archiving a contract the employee form view does not update the first contract. Cause: The first contract computation is not trigger when archiving a contract. expected behavior: When archiving a contract the first contract should be recomputed. Fix: Add the active field to the depends method of the contract. task-3745594 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#163737 Forward-Port-Of: odoo/odoo#158366
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
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
[IMP] website: enable to use special characters in a form Before [1], the usage of some characters as field label inside a form led to a traceback. As explained in [1], the problem came from the selector given to the `querySelector()` method. To solve the problem, [1] encoded the problematic characters. The problem is that the backslash character was not taken into account and still led to a traceback if it was used as a field label. [2] solved the problem by adding this special character
Original PR description
[IMP] website: enable to use special characters in a form Before [1], the usage of some characters as field label inside a form led to a traceback. As explained in [1], the problem came from the…
[IMP] website: enable to use special characters in a form Before [1], the usage of some characters as field label inside a form led to a traceback. As explained in [1], the problem came from the selector given to the `querySelector()` method. To solve the problem, [1] encoded the problematic characters. The problem is that the backslash character was not taken into account and still led to a traceback if it was used as a field label. [2] solved the problem by adding this special character in the list of the characters to encode. The problem of encoding problematic terms manually is that others (still unknown) can still be problematic and would have to be encoded in the future. To solve the problem, it has been decided to escape the problematic selectors with the `CSS.escape()` method, which is the right method to promote when adding anything unknown inside a selector anyway. [1]: https://github.com/odoo/odoo/commit/ccaf4f1e52f10308ef507059316732c02ad6e6e4 [2]: https://github.com/odoo/odoo/commit/03f230a77c0d38b46944d45b4991f48e45b275dd task-3510450 ----------------------------------------------------------------------------------------------------------------------------------------------------------- [FIX] website: decode special characters of website form Steps to reproduce: - Add a form on the website. - Add a field and put `test"` as label. - Save and send the form. -> `test"` is displayed in the received mail. Since [3] (and [4]), some characters are escaped when the user changes the label of a field. The problem appeared since [5] where fields are escaped on the server side upon form reception. Indeed, here is what happens at form reception; the already escaped `test"` is stored as `test"` in the database. Due to it, the mail displayed contains `test"` while `test"` is wanted. To solve the problem, the characters encoded at label change in the client side are decoded on the server side before the form is processed. This is done at the server side as we still encode client-side since it appears that if a form is sent with an input that has a `"` character in its `name` attribute, it is received as `%22` server side (see previous commit in-code comment for details). [3]: https://github.com/odoo/odoo/commit/ccaf4f1e52f10308ef507059316732c02ad6e6e4 [4]: https://github.com/odoo/odoo/commit/03f230a77c0d38b46944d45b4991f48e45b275dd [5]: https://github.com/odoo/odoo/commit/db62d8c42b25b74210b4bae79200398acc4bb8de task-3510450 Forward-Port-Of: odoo/odoo#164501 Forward-Port-Of: odoo/odoo#135797
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
**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
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#164701 Forward-Port-Of: odoo/odoo#163775
**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#164517The 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#164040
Forward-Port-Of: odoo/odoo#158076The 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
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
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
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: - 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
[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
### [FIX] payment_razorpay: fix proccessing data in token flow Steps: - Install razorpay and sales app. - Enable Razorpay provider. - Create a create a token in razorpay. - Pay via that token. Issue: - When we are paying via token we really don't need processing values because those processing values only needed when we open Razorpay form so here it is calling APIs(customer and order) and creating order unwantedly. Fix: - Return empty dict when operation is `online_token` in `_
Original PR description
### [FIX] payment_razorpay: fix proccessing data in token flow Steps: - Install razorpay and sales app. - Enable Razorpay provider. - Create a create a token in razorpay. - Pay via that token. Issue: - When we are paying via token we really don't need processing values because those processing values only needed when we open Razorpay form so here it is calling APIs(customer and order) and creating order unwantedly. Fix: - Return empty dict when operation is `online_token` in `_get_specific_processing_values` method IMP/REV of PR: https://github.com/odoo/odoo/pull/157533 task-3653372 Forward-Port-Of: odoo/odoo#159250
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
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
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
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
Previously, if an error occurred in a third-party script loaded from a different origin (eg: google analytics or scripts injected into the in-app browsers of Meta apps such as Facebook or Instagram), we would show an error dialog mentioning a "CORS" error with no details. There are three problems with this: first, this is not actually a CORS error. It is normal error, but in Chrome and Safari, the details of the error are unavailable inside of code from scripts hosted on a different origin, t
Original PR description
Previously, if an error occurred in a third-party script loaded from a different origin (eg: google analytics or scripts injected into the in-app browsers of Meta apps such as Facebook or Instagram),…
Previously, if an error occurred in a third-party script loaded from a different origin (eg: google analytics or scripts injected into the in-app browsers of Meta apps such as Facebook or Instagram), we would show an error dialog mentioning a "CORS" error with no details. There are three problems with this: first, this is not actually a CORS error. It is normal error, but in Chrome and Safari, the details of the error are unavailable inside of code from scripts hosted on a different origin, this unavailability is caused by CORS but the error is *not* a CORS error. The second problem is that we're showing these error dialogs to website visitors, who are both likely to be confused or frustrated by the error and very unlikely to report it. Lastly, because the error occurred in a third party script, it's likely code that is not even controlled by the Odoo instance in any way, which means that it oftentimes cannot be fixed in Odoo. In Firefox, the first point doesn't hold true, as Firefox does not hide the error details, but we still do not want to display an error dialog because of the two other points. This commit fixes this by simply not displaying these errors to visitors outside of debug mode. Actual visitors will not be in debug mode, but it could be useful to still show the error for people developing integrations with third-party libraries and scripts. The error dialog will still not contain much information in non-Firefox browsers, but we encourage the developer to look at the browser console for extra details. We still display these errors for logged-in users in all cases as users are much more likely to report such issues. Ideally, we may not want to show these errors to portal users either, but this information is not currently available in JS. opw-3857323 Forward-Port-Of: odoo/odoo#164584 Forward-Port-Of: odoo/odoo#163710
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
[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