Thursday, January 9, 2025
48 changes · saas-18.1
Miscellaneous changes
Steps to reproduce: -------------------- - Go my account - Click on tasks - Search Issue: ------ The client when searching without selecting a scope cannot search. This is direct incidence of the [changes](https://github.com/odoo/odoo/commit/2a0ff2ae7bd46666) Since the default search_in was set to content that has been removed. Fix: --- Setting the search_in defaulting to name. (Name is the closest to what content did) opw-4396491 --- I confirm I have signed the CLA
Original PR description
Steps to reproduce: -------------------- - Go my account - Click on tasks - Search Issue: ------ The client when searching without selecting a scope cannot search. This is direct incidence of the [changes](https://github.com/odoo/odoo/commit/2a0ff2ae7bd46666) Since the default search_in was set to content that has been removed. Fix: --- Setting the search_in defaulting to name. (Name is the closest to what content did) opw-4396491 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#193037 Forward-Port-Of: odoo/odoo#191150
Follow-up of https://github.com/odoo/odoo/pull/192076 PR above fixes issues regarding question-answer step of chatbot: to detect which answer was picked, it was comparing item selected text content with each possible answers. This worked as long as each possible answer had mutually exclusive text content. If one proposition had X and another had no X, one option could be unreachable. To solve the issue, PR above tracks the `select_answer_id`. When the user posts a message, the selected ans
Original PR description
Follow-up of https://github.com/odoo/odoo/pull/192076 PR above fixes issues regarding question-answer step of chatbot: to detect which answer was picked, it was comparing item selected text content…
Follow-up of https://github.com/odoo/odoo/pull/192076 PR above fixes issues regarding question-answer step of chatbot: to detect which answer was picked, it was comparing item selected text content with each possible answers. This worked as long as each possible answer had mutually exclusive text content. If one proposition had X and another had no X, one option could be unreachable. To solve the issue, PR above tracks the `select_answer_id`. When the user posts a message, the selected answer is returned in RPC response as store data. The selected answer is put in the question message of chatbot. This means the `message_post` store data contains 2 messages. The implementation of message_post in JS is naive and assumes the data contains only 1 message. Therefore when inserting the store data, it was assuming the 1st inserted message in store was the newly posted message. However in this particular case, the 1st inserted message was the question message of chatbot, not the user answer message. As a result, the test `test_complete_chatbot_flow_ui` had the following non-deterministic issue because of this: ``` Failed to find 1 of ".o-mail-Message" inside a specific target with text "I'd like to buy the software" (as parent). Found 0 instead. ``` This commit fixes the issue by putting the message_post message (the answer of user) before the question message of chatbot. This is the chosen fix as this is minimal. The destruct of store.insert() in message_post is too naive and should be changed by something more robust in the future. Note that this problem was not present in practice: the visitor message was visible but with minimal flicker. This is because the bus notification was adjusting the UI from the erroneous message_post result. runbot-111747 Forward-Port-Of: odoo/odoo#193044
Steps to reproduce: ------------------ - Set a product tag for a specific variant. - Go to the shop. - Select different variants of the product. Issue: ----- The tags of the variant is not shown. This is due to the JS file: odoo/addons/website_sale/static/src/js/sale_variant_mixin.js In this file we set the parent to: var $parent = $(ev.target).closest('.js_product'); To update the product tags we do a find('.o_product_tags') However this falls outside of the div of the parent. Thi
Original PR description
Steps to reproduce:
------------------
- Set a product tag for a specific variant.
- Go to the shop.
- Select different variants of the product.
Issue:
-----
The tags of the variant is not shown. This is due to the JS file: odoo/addons/website_sale/static/src/js/sale_variant_mixin.js In this file we set the parent to:
var $parent = $(ev.target).closest('.js_product'); To update the product tags we do a find('.o_product_tags') However this falls outside of the div of the parent. This "find" then results with nothing. And nothing is updated.
Fix:
----
To fix this the call to website_sale.product_tags was inserted inside the right div so it can be found and thus updated.
opw-4357477
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#190692In some business case when the invoice is done before the receipt, the `stock.valuation.layer` currency rate will be taken on the bill rather than the current date. To reproduce the issue: (Need account_accountant) 1. Create a product category PC - Costing method: FIFO - Inventory valuation: Automated 2. Create a product P - Type: Storable - Category: PC 3. On 10/11/2024, confirm a PO with 1 x P at Є10 4. On 11/11/2024, bill it with currency rate of 1.06 at $10.6 4. On 1
Original PR description
In some business case when the invoice is done before the receipt, the `stock.valuation.layer` currency rate will be taken on the bill rather than the current date. To reproduce the issue: (Need account_accountant) 1. Create a product category PC - Costing method: FIFO - Inventory valuation: Automated 2. Create a product P - Type: Storable - Category: PC 3. On 10/11/2024, confirm a PO with 1 x P at Є10 4. On 11/11/2024, bill it with currency rate of 1.06 at $10.6 4. On 12/11/2024, receive P with currency rate of 1.07 at $10.7 Errors: The price SVL is different from the bill Solution: Use currency rate at bill date rather than the current date when invoice before receipt --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#189955 Forward-Port-Of: odoo/odoo#187015
* STEP TO REPRODUCE: install event (only CE code), go to Registration Desk then hit button < to go back -> The system warning there are no gantt view * Solution: using existing action `action_event_view` with `clearBreacrumbs` which will help display the menu correctly 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
Original PR description
* STEP TO REPRODUCE: install event (only CE code), go to Registration Desk then hit button < to go back -> The system warning there are no gantt view * Solution: using existing action `action_event_view` with `clearBreacrumbs` which will help display the menu correctly 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#191376 Forward-Port-Of: odoo/odoo#191295
Steps to reproduce the bug: - Log in as Company A - Create a branch company: Branch 1. - Create a storable product P1 with the following configuration:: - Costing method: AVCO - Create a receipt for 1 unit of P1: - Unit Price: $300. - Confirm the receipt: - The standard price of P1 is updated to $300. - Log in as Branch 1 - The standard price of P1 is $0. - Create a receipt for 1 unit of P1: - Unit Price: $100. - Confirm the reception Problem: The standard price
Original PR description
Steps to reproduce the bug: - Log in as Company A - Create a branch company: Branch 1. - Create a storable product P1 with the following configuration:: - Costing method: AVCO - Create a receipt for…
Steps to reproduce the bug:
- Log in as Company A
- Create a branch company: Branch 1.
- Create a storable product P1 with the following configuration::
- Costing method: AVCO
- Create a receipt for 1 unit of P1:
- Unit Price: $300.
- Confirm the receipt:
- The standard price of P1 is updated to $300.
- Log in as Branch 1
- The standard price of P1 is $0.
- Create a receipt for 1 unit of P1:
- Unit Price: $100.
- Confirm the reception
Problem:
The standard price of P1 is incorrectly updated to $225 → ((300 + 100) / 2) instead of $100. This happens because the stock valuation layer computation values includes records from the parent company instead of only the current company:
https://github.com/odoo/odoo/blob/989a78b3fc04e7b5b79e165fda8539be5f091b8c/addons/stock_account/models/stock_move.py#L306-L307
https://github.com/odoo/odoo/blob/41a234890c91e9b0c9771a2b0fe50d4b525079f3/addons/stock_account/models/product.py#L123-L126
https://github.com/odoo/odoo/blob/989a78b3fc04e7b5b79e165fda8539be5f091b8c/addons/stock_account/models/stock_move.py#L323-L324
This issue occurs because the search considers both the current company
and its parent companies. This happens because `self` refers to the
`product.product` model which has
"_check_company_domain = models.check_company_domain_parent_of",
On the other hand, `self.env['stock.valuation.layer']` is a model that
is limited to the current company:
https://github.com/odoo/odoo/blob/8189f053fb4bf219093279c18eebdad01c305385/addons/product/models/product_product.py#L21
opw-4417559
Forward-Port-Of: odoo/odoo#192521The unit tests were having a dependency from account_reports module which is not a dependency of the l10n_jo_edi module nor even a community module. This commit removes this dependency. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#192964 Forward-Port-Of: odoo/odoo#192893
Original PR description
The unit tests were having a dependency from account_reports module which is not a dependency of the l10n_jo_edi module nor even a community module. This commit removes this dependency. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#192964 Forward-Port-Of: odoo/odoo#192893
Before this commit, when using push-to-talk during discuss call, the sound effect from press and release of ptt was too loud. This commit reduces the volume drastically, so this can still be heard but it's low enough to not be distracting. Before https://github.com/user-attachments/assets/af330e28-4351-44ab-a1df-46730b658379 After https://github.com/user-attachments/assets/77e34eec-6099-4172-b1b5-f407122bd1ca Forward-Port-Of: odoo/odoo#192919
Original PR description
Before this commit, when using push-to-talk during discuss call, the sound effect from press and release of ptt was too loud. This commit reduces the volume drastically, so this can still be heard but it's low enough to not be distracting. Before https://github.com/user-attachments/assets/af330e28-4351-44ab-a1df-46730b658379 After https://github.com/user-attachments/assets/77e34eec-6099-4172-b1b5-f407122bd1ca Forward-Port-Of: odoo/odoo#192919
In this commit, we fix the tour snippet_translation_changing_lang. The problem is that we don't wait for the DOM to be re-rendered before clicking on the dropdown to open the editing dropdown. So, if we click before the DOM is re-rendered, it also re-renders the dropdown menu and it disappears. So depending on the execution speed of the tour, it may fail. This commit fixes this behavior. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior af
Original PR description
In this commit, we fix the tour snippet_translation_changing_lang. The problem is that we don't wait for the DOM to be re-rendered before clicking on the dropdown to open the editing dropdown. So, if we click before the DOM is re-rendered, it also re-renders the dropdown menu and it disappears. So depending on the execution speed of the tour, it may fail. This commit fixes this behavior. 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#193019
The new `technical_price_unit` logic was introduced to reduce/prevent unexpected price recomputations when the price is manually updated on sale order lines. Nevertheless, if the price_unit field is made readonly (through studio or any custom view ...), the price would stop being sent to the server by the client, resulting in zero-priced amounts because the presence of the technical price discarded the price recomputation, leading to the default 0 value. This commit makes sure that in this
Original PR description
The new `technical_price_unit` logic was introduced to reduce/prevent unexpected price recomputations when the price is manually updated on sale order lines. Nevertheless, if the price_unit field is made readonly (through studio or any custom view ...), the price would stop being sent to the server by the client, resulting in zero-priced amounts because the presence of the technical price discarded the price recomputation, leading to the default 0 value. This commit makes sure that in this situation, the technical price sent by the client is dropped, ensuring that the price is correctly computed. opw-4319211 Forward-Port-Of: odoo/odoo#190273
Steps to reproduce: 1. Create a new free order and add 2 quantities of any product. 2. Create another free order and add 2 quantities of any product different from 1st order. 3. Switch to orders 1 and 2, and you'll see the same product and quantity loading in both orders. Issue: - Both free orders show same product card if quantity is same. Fix: - UseEffect was set to update on order rather than quantity. task-4438675 Forward-Port-Of: odoo/odoo#192170
Original PR description
Steps to reproduce: 1. Create a new free order and add 2 quantities of any product. 2. Create another free order and add 2 quantities of any product different from 1st order. 3. Switch to orders 1 and 2, and you'll see the same product and quantity loading in both orders. Issue: - Both free orders show same product card if quantity is same. Fix: - UseEffect was set to update on order rather than quantity. task-4438675 Forward-Port-Of: odoo/odoo#192170
In this commit, we wait the modal is shown (managed by jQuery) before to continue the tour. In these modals, if we don't wait for the modal is shown, as the tour engine can be too much fast, element in modal can be not focusable when we try to target it. This fix add classes to ensure modal is shown before continuing the tour. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CL
Original PR description
In this commit, we wait the modal is shown (managed by jQuery) before to continue the tour. In these modals, if we don't wait for the modal is shown, as the tour engine can be too much fast, element in modal can be not focusable when we try to target it. This fix add classes to ensure modal is shown before continuing the tour. 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#192541
As we updated the camera interface's logic, we need to add the new library to the IoT Box image. We also removed the python lib patching part, as it was only used by the old camera detection logic. Enterprise PR: [https://github.com/odoo/enterprise/pull/76511](https://github.com/odoo/enterprise/pull/76511) Task: 4432584 Forward-Port-Of: odoo/odoo#192449
Original PR description
As we updated the camera interface's logic, we need to add the new library to the IoT Box image. We also removed the python lib patching part, as it was only used by the old camera detection logic. Enterprise PR: [https://github.com/odoo/enterprise/pull/76511](https://github.com/odoo/enterprise/pull/76511) Task: 4432584 Forward-Port-Of: odoo/odoo#192449
There are some terms that are defined in `delivery` module but are not translated when you see them on the website. This happens because these strings are defined in the `delivery` module, which is not a frontend module. This commit redefines those strings in the `website_sale` module, which is a frontend module. Task-4328208 OPW-4403072 OPW-4326840 Forward-Port-Of: odoo/odoo#192600 Forward-Port-Of: odoo/odoo#192102
Original PR description
There are some terms that are defined in `delivery` module but are not translated when you see them on the website. This happens because these strings are defined in the `delivery` module, which is not a frontend module. This commit redefines those strings in the `website_sale` module, which is a frontend module. Task-4328208 OPW-4403072 OPW-4326840 Forward-Port-Of: odoo/odoo#192600 Forward-Port-Of: odoo/odoo#192102
In journal items, when grouping by 'Internal Group', a traceback appears due to referencing a non-existent table `account_account` as it has been joined with `account_move_line`. This commit ensures the referenced table is correctly updated in the case of joins. opw-4405281 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#192954 Forward-Port-Of: odoo/odoo#192489
Original PR description
In journal items, when grouping by 'Internal Group', a traceback appears due to referencing a non-existent table `account_account` as it has been joined with `account_move_line`. This commit ensures the referenced table is correctly updated in the case of joins. opw-4405281 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#192954 Forward-Port-Of: odoo/odoo#192489
Since recent changes to the pricelists rules, importing a rule with the 'Product Variant' field value specified but not the template field value led to incomplete rules not being displayed (and maybe not even behaving) as expected. This commit makes sure that if the template was forgotten in the create values, it's correctly deduced from the given product.product record. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#19
Original PR description
Since recent changes to the pricelists rules, importing a rule with the 'Product Variant' field value specified but not the template field value led to incomplete rules not being displayed (and maybe not even behaving) as expected. This commit makes sure that if the template was forgotten in the create values, it's correctly deduced from the given product.product record. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#190543
Currently, ff a popover uses a component that needs to load data, click away before the component is mounted will not make the popover close. Here we fix that by adding the listeners at setup (and removing them at destroy). Forward-Port-Of: odoo/odoo#192674 Forward-Port-Of: odoo/odoo#191135
Original PR description
Currently, ff a popover uses a component that needs to load data, click away before the component is mounted will not make the popover close. Here we fix that by adding the listeners at setup (and removing them at destroy). Forward-Port-Of: odoo/odoo#192674 Forward-Port-Of: odoo/odoo#191135
Suppose a tax 15% +100 -100. Use the quick encoding with an amount of 100.0. => The base of the created invoice line is 86.96 and the created tax lines are +13.04 -26.08. That's wrong. Both have to produce the same amount. In 17.0, we get a base of 100 and +15 -15 as tax amounts. In 18.0, we changed the management of reverse charge so the total excluded amount is computed as 100 / 1.15 ~= 86.96. It produces tax lines computed on 86.96. 86.96 * 0.15 ~= 13.04. But at the end, the quick encod
Original PR description
Suppose a tax 15% +100 -100. Use the quick encoding with an amount of 100.0. => The base of the created invoice line is 86.96 and the created tax lines are +13.04 -26.08. That's wrong. Both have to produce the same amount. In 17.0, we get a base of 100 and +15 -15 as tax amounts. In 18.0, we changed the management of reverse charge so the total excluded amount is computed as 100 / 1.15 ~= 86.96. It produces tax lines computed on 86.96. 86.96 * 0.15 ~= 13.04. But at the end, the quick encoding algorithmn "fixes" the tax amount. It expect a total of 100 and it has a missing amount of 100 - 86.96 - 13.04 + 13.04 = 13.04 to reach the objective. So it adds 13.04 in the biggest tax line. opw-4428842 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#192949
Changes to the synchronization system to ensure full synchronization every time a PoS writes to a record. This synchronization will not unlink local records in other PoS. Forward-Port-Of: odoo/odoo#192357 Forward-Port-Of: odoo/odoo#191904
Original PR description
Changes to the synchronization system to ensure full synchronization every time a PoS writes to a record. This synchronization will not unlink local records in other PoS. Forward-Port-Of: odoo/odoo#192357 Forward-Port-Of: odoo/odoo#191904
Related to https://github.com/odoo/enterprise/pull/73927 Forward-Port-Of: odoo/odoo#189047 Forward-Port-Of: odoo/odoo#187430
Original PR description
Related to https://github.com/odoo/enterprise/pull/73927 Forward-Port-Of: odoo/odoo#189047 Forward-Port-Of: odoo/odoo#187430
Current behavior before PR: If a user shares their screen during a call, leaves, and then rejoins the call, attempting to share their screen again results in a black screen being shared. Desired behavior after PR is merged: Screen sharing functions correctly even after rejoining a call. task-id:[4441751](https://www.odoo.com/odoo/my-tasks/4441751) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#192149
Original PR description
Current behavior before PR: If a user shares their screen during a call, leaves, and then rejoins the call, attempting to share their screen again results in a black screen being shared. Desired behavior after PR is merged: Screen sharing functions correctly even after rejoining a call. task-id:[4441751](https://www.odoo.com/odoo/my-tasks/4441751) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#192149
Since https://github.com/odoo/odoo/pull/169691, the user volumes were not correctly searched from the settings, this commit fixes this issue. Forward-Port-Of: odoo/odoo#192675 Forward-Port-Of: odoo/odoo#192456
Original PR description
Since https://github.com/odoo/odoo/pull/169691, the user volumes were not correctly searched from the settings, this commit fixes this issue. Forward-Port-Of: odoo/odoo#192675 Forward-Port-Of: odoo/odoo#192456
If we upload the attachments on the application or candidate, We need to refresh to see the preview of the attachments. In this PR, we've added the reload_on_attachment attribute to the chatter, which helps us preview the attachments. Task-4414529 Forward-Port-Of: odoo/odoo#191499
Original PR description
If we upload the attachments on the application or candidate, We need to refresh to see the preview of the attachments. In this PR, we've added the reload_on_attachment attribute to the chatter, which helps us preview the attachments. Task-4414529 Forward-Port-Of: odoo/odoo#191499
In the template, /pos/ticket is concatenated to the base_url. But because /pos/ticket is a normal string inside the template, it is translated. ticket-4447566 Forward-Port-Of: odoo/odoo#192412 Forward-Port-Of: odoo/odoo#192308
Original PR description
In the template, /pos/ticket is concatenated to the base_url. But because /pos/ticket is a normal string inside the template, it is translated. ticket-4447566 Forward-Port-Of: odoo/odoo#192412 Forward-Port-Of: odoo/odoo#192308
The post-migration script _fix_accounts_type attempted to use the field company_id, which no longer exists in the account.account model in the 18 version. This caused a traceback ValueError: Invalid field during the database upgrade process. The original fix was introduced here: https://github.com/odoo/odoo/pull/190187, but it was accidentally reverted by this pull request: https://github.com/odoo/odoo/pull/191324 [reference](https://github.com/odoo/odoo/commit/854c3b2#diff-19ef5
Original PR description
The post-migration script _fix_accounts_type attempted to use the field company_id, which no longer exists in the account.account model in the 18 version. This caused a traceback ValueError: Invalid field during the database upgrade process. The original fix was introduced here: https://github.com/odoo/odoo/pull/190187, but it was accidentally reverted by this pull request: https://github.com/odoo/odoo/pull/191324 [reference](https://github.com/odoo/odoo/commit/854c3b2#diff-19ef5a530c506fdee93fe0d113e61946b87fae7dd2d360558da69c0014f766b2R102) tbg-1602 upg-2406964 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#192688
**Issue:** Accountants cannot create products through Customer Invoice or Vendor Bill product lines.  **Expected:** Accountants should be allowed to manage the products database. **Steps to reproduce:** - Activate Invoicing app; - Configure a branch to the company; - Create a user with an accounting `Accountant` role and set the branch company as only entry in Allowed Companies and as Default C
Original PR description
**Issue:** Accountants cannot create products through Customer Invoice or Vendor Bill product lines. …
**Issue:** Accountants cannot create products through Customer Invoice or Vendor Bill product lines.  **Expected:** Accountants should be allowed to manage the products database. **Steps to reproduce:** - Activate Invoicing app; - Configure a branch to the company; - Create a user with an accounting `Accountant` role and set the branch company as only entry in Allowed Companies and as Default Company;  - Log in as that new user; - Try create a new product through a Customer Invoice or a Vendor Bill. **Cause:** The `Accountant` role itself has no right on products. **Fix:** Reset a previously removed (february 2023 (saas-16.2) odoo/odoo@512574861691f425ec6a17f20fe4b586bb88a299) access right on `product_template` for group `group_account_manager`.  **Note:** This PR replaces https://github.com/odoo/enterprise/pull/75453 after discussion with reviewer. opw-4293151 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#192445 Forward-Port-Of: odoo/odoo#190360
Steps to reproduce: 1.Install ``point_of_sale`` in odoo 18.0 2.Open point of sale session and left side there is customer button select the customer. 3.selected partner will show at the top of all partner in chrome but in firefox browser selected partner is not showing at top For fixing it making sorting(compartor) more acurate. opw-4408218 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#191317
Original PR description
Steps to reproduce: 1.Install ``point_of_sale`` in odoo 18.0 2.Open point of sale session and left side there is customer button select the customer. 3.selected partner will show at the top of all partner in chrome but in firefox browser selected partner is not showing at top For fixing it making sorting(compartor) more acurate. opw-4408218 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#191317
Currently, a traceback occurs when the user tries to preview an external link. Steps to produce: 1) Create an email template and add any text in content. 2) Convert text to a URL with a random URL like 'test' 3) error will occur in log Error:- ``` TypeError: 'bool' object is not subscriptable File "odoo/http.py", line 2366, in __call__ response = request._serve_db() File "odoo/http.py", line 1894, in _serve_db return self._transactioning( File "odoo/http.py", lin
Original PR description
Currently, a traceback occurs when the user tries to preview an external link. Steps to produce: 1) Create an email template and add any text in content. 2) Convert text to a URL with a random URL…
Currently, a traceback occurs when the user tries to preview an external link.
Steps to produce:
1) Create an email template and add any text in content.
2) Convert text to a URL with a random URL like 'test'
3) error will occur in log
Error:-
```
TypeError: 'bool' object is not subscriptable
File "odoo/http.py", line 2366, in __call__
response = request._serve_db()
File "odoo/http.py", line 1894, in _serve_db
return self._transactioning(
File "odoo/http.py", line 1957, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 137, in retrying
result = func()
File "odoo/http.py", line 1924, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2171, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 329, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 727, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/html_editor/controllers/main.py", line 564, in link_preview_metadata
if link_preview_data['og_description']:
```
This error occurs in the following lines when the link_preview_data value is False, leading to the traceback:
https://github.com/odoo/odoo/blob/36e4b6f93bf2123557947e910e1be651c5357319/addons/html_editor/controllers/main.py#L563-L564
The get_link_preview_from_url method may return False from multiple places.
https://github.com/odoo/odoo/blob/36e4b6f93bf2123557947e910e1be651c5357319/addons/mail/tools/link_preview.py#L30-L35
Therefore, an additional check is needed to verify the value of `link_preview_data` before accessing its value.
Adding this extra check will make the code more robust and prevent the
unnecessary tracebacks from occurring.
sentry-6199384889
Forward-Port-Of: odoo/odoo#192635Description of the issue this PR addresses: Current behavior before PR: Searching for icon names in uppercase was not working. Desired behavior after PR is merged: Icon search now works correctly when names are entered in uppercase. task-4452824 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#192637
Original PR description
Description of the issue this PR addresses: Current behavior before PR: Searching for icon names in uppercase was not working. Desired behavior after PR is merged: Icon search now works correctly when names are entered in uppercase. task-4452824 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#192637
Set the field "is_company" to True on each loca demo companies. Backport of https://github.com/odoo/odoo/pull/190699 task-4310530 Forward-Port-Of: odoo/odoo#192741
Original PR description
Set the field "is_company" to True on each loca demo companies. Backport of https://github.com/odoo/odoo/pull/190699 task-4310530 Forward-Port-Of: odoo/odoo#192741
In this commit: === - Move `l10n_in_hsn_code` field in the order lines view to appear after the `product_id` field. task-4432432 Forward-Port-Of: odoo/odoo#191861
Original PR description
In this commit: === - Move `l10n_in_hsn_code` field in the order lines view to appear after the `product_id` field. task-4432432 Forward-Port-Of: odoo/odoo#191861
### Steps to reproduce: - Install "l10n_mx" and switch to a Mexican company - Create an invoice with a Mexican partner and confirm - Create a Payment - In the invoice form view, go to the "CFDI" page - Click "Update CFDI" - The payment appears, click on "Show" - The button "Request Cancel" does nothing ### Cause: the method `button_request_cancel` on move is called from the payment model but does not return anything: ``` def button_request_cancel(self): self.move_id.button_requ
Original PR description
### Steps to reproduce:
- Install "l10n_mx" and switch to a Mexican company
- Create an invoice with a Mexican partner and confirm
- Create a Payment
- In the invoice form view, go to the "CFDI" page
- Click "Update CFDI"
- The payment appears, click on "Show"
- The button "Request Cancel" does nothing
### Cause:
the method `button_request_cancel` on move is called from the payment model but does not return anything:
```
def button_request_cancel(self):
self.move_id.button_request_cancel()
```
But the `button_request_cancel` from `l10n_mx_edi` is returning a wizard that is never caught.
### Solution:
When clicking the "Request cancel" button, the method `action_request_cancel` is called instead of `action_cancel` which will dispatch the request depending on the type of move being cancelled.
opw-4332483
Forward-Port-Of: odoo/enterprise#76027
Forward-Port-Of: odoo/enterprise#75714In this commit: - After accepting a delivery order, a countdown timer appears, indicating the preparation time. This timer counts down, providing the user with a timeline to prepare the order within the allotted time.  task-4049465 Forward-Port-Of: odoo/enterprise#73620
Original PR description
In this commit: - After accepting a delivery order, a countdown timer appears, indicating the preparation time. This timer counts down, providing the user with a timeline to prepare the order within the allotted time.  task-4049465 Forward-Port-Of: odoo/enterprise#73620
Camera driver was not working, so we updated the logic to detect camera devices, and improved the one to take pictures. We also caught the opportunity to move IoT Handlers corresponding to `quality` modules to `quality_iot`. Community PR: [https://github.com/odoo/odoo/pull/192449](https://github.com/odoo/odoo/pull/192449) Task: 4432584 Forward-Port-Of: odoo/enterprise#76511
Original PR description
Camera driver was not working, so we updated the logic to detect camera devices, and improved the one to take pictures. We also caught the opportunity to move IoT Handlers corresponding to `quality` modules to `quality_iot`. Community PR: [https://github.com/odoo/odoo/pull/192449](https://github.com/odoo/odoo/pull/192449) Task: 4432584 Forward-Port-Of: odoo/enterprise#76511
When [adding this module], the translations were forgotten. We are adding them here. [adding this module]: https://github.com/odoo/enterprise/commit/055ed588dd7558c568373fbaa6d24208d0aeeb87 opw-4425163 Forward-Port-Of: odoo/enterprise#76646 Forward-Port-Of: odoo/enterprise#76612
Original PR description
When [adding this module], the translations were forgotten. We are adding them here. [adding this module]: https://github.com/odoo/enterprise/commit/055ed588dd7558c568373fbaa6d24208d0aeeb87 opw-4425163 Forward-Port-Of: odoo/enterprise#76646 Forward-Port-Of: odoo/enterprise#76612
Forward-Port-Of: odoo/enterprise#75590 Forward-Port-Of: odoo/enterprise#75568
Original PR description
Forward-Port-Of: odoo/enterprise#75590 Forward-Port-Of: odoo/enterprise#75568
Starting from saas-17.4, the default transaction code in settings shows the commidity code instead of transaction codes. This commit applies the domain for showing transaction codes instead. opw-4419718 Forward-Port-Of: odoo/enterprise#76519
Original PR description
Starting from saas-17.4, the default transaction code in settings shows the commidity code instead of transaction codes. This commit applies the domain for showing transaction codes instead. opw-4419718 Forward-Port-Of: odoo/enterprise#76519
Changes to the synchronization system to ensure full synchronization every time a PoS writes to a record. This synchronization will not unlink local records in other PoS. Forward-Port-Of: odoo/enterprise#76465 Forward-Port-Of: odoo/enterprise#76253
Original PR description
Changes to the synchronization system to ensure full synchronization every time a PoS writes to a record. This synchronization will not unlink local records in other PoS. Forward-Port-Of: odoo/enterprise#76465 Forward-Port-Of: odoo/enterprise#76253
Related to https://github.com/odoo/odoo/pull/187430 Forward-Port-Of: odoo/enterprise#74818 Forward-Port-Of: odoo/enterprise#73927
Original PR description
Related to https://github.com/odoo/odoo/pull/187430 Forward-Port-Of: odoo/enterprise#74818 Forward-Port-Of: odoo/enterprise#73927
Following the "nice urls" [task][1] It may happen that the studio's systray item is re-rendered while the actionService is loading a URL with multiple actions In this case, there may be a crash because the SystrayItem would check if the current action (in this case from the virtual controller) is editable. After this commit, there is no crash. part of task-4391729 [1]: https://github.com/odoo/odoo/commit/c63d14a0485a553b74a8457aee158384e9ae6d3f Forward-Port-Of: odoo/enterprise#76
Original PR description
Following the "nice urls" [task][1] It may happen that the studio's systray item is re-rendered while the actionService is loading a URL with multiple actions In this case, there may be a crash because the SystrayItem would check if the current action (in this case from the virtual controller) is editable. After this commit, there is no crash. part of task-4391729 [1]: https://github.com/odoo/odoo/commit/c63d14a0485a553b74a8457aee158384e9ae6d3f Forward-Port-Of: odoo/enterprise#76694
Steps: - Have 2 or more companies, select both in company selector - Go to Cash Flow Statement report -> Traceback: `TypeError: '<' not supported between instances of 'str' and 'NoneType'` Cause: https://github.com/odoo/enterprise/blob/0dad52c1371f2daca50775d72571a0eac768ac03/account_reports/models/account_cash_flow_report.py#L228 is equal to `SQL('("account_move_line__account_id"."code_store"->%s->>0)::VARCHAR', '<self.env.company.id>')` therefore the account code for accounts that
Original PR description
Steps:
- Have 2 or more companies, select both in company selector
- Go to Cash Flow Statement report
-> Traceback: `TypeError: '<' not supported between instances of 'str' and 'NoneType'`
Cause:
https://github.com/odoo/enterprise/blob/0dad52c1371f2daca50775d72571a0eac768ac03/account_reports/models/account_cash_flow_report.py#L228
is equal to `SQL('("account_move_line__account_id"."code_store"->%s->>0)::VARCHAR', '<self.env.company.id>')` therefore the account code
for accounts that are not from `self.env.company` are set to None in the data dict
Fix:
Adding a default value set to '' and reversing the order allowing to
keep the accounts from the selected company first.
opw-4367588
Forward-Port-Of: odoo/enterprise#75892Purpose: -------- The comments popover is not displayed when the computed popover top value is "0". This issue arises from incorrectly using this value as a boolean condition, whereas "0" is an acceptable top value (= top of the body). To fix this issue, we now check if the popover's top is undefined instead of using it as a boolean. Task-4461321 Forward-Port-Of: odoo/enterprise#76703
Original PR description
Purpose: -------- The comments popover is not displayed when the computed popover top value is "0". This issue arises from incorrectly using this value as a boolean condition, whereas "0" is an acceptable top value (= top of the body). To fix this issue, we now check if the popover's top is undefined instead of using it as a boolean. Task-4461321 Forward-Port-Of: odoo/enterprise#76703
Excluding counbtries on an appointment type should not lead to a 404 page when directly given the appointment link (even wihtout invite). Now the countries excluded are used to not display these appointments when necessary but they can still be reached with the direct link. task-4456488 Forward-Port-Of: odoo/enterprise#76674
Original PR description
Excluding counbtries on an appointment type should not lead to a 404 page when directly given the appointment link (even wihtout invite). Now the countries excluded are used to not display these appointments when necessary but they can still be reached with the direct link. task-4456488 Forward-Port-Of: odoo/enterprise#76674
Versions: ------------- 16.0 Steps to Reproduce: ---------------------------- 1. Open the Sign app. 2. Switch to the kanban view of sign templates. 3. Upload a document without adding any sign items. 4. Switch to the list view and open the template. 5. In the form view, go to the "Fields" notebook tab. 6. Add 2-3 sign items, then go back to the kanban view. 7. Reopen the template. Issue: --------- An error occurs when trying to sign the template. Cause: ---------- When a
Original PR description
Versions: ------------- 16.0 Steps to Reproduce: ---------------------------- 1. Open the Sign app. 2. Switch to the kanban view of sign templates. 3. Upload a document without adding any sign items. 4. Switch to the list view and open the template. 5. In the form view, go to the "Fields" notebook tab. 6. Add 2-3 sign items, then go back to the kanban view. 7. Reopen the template. Issue: --------- An error occurs when trying to sign the template. Cause: ---------- When adding sign items in the form view, other required fields are left empty. These missing values are needed to properly render the items in the PDF iframe. Solution: ------------ Make the sign items in the "Fields" notebook read-only. task-4212762 Forward-Port-Of: odoo/enterprise#71017
partial payments An user may receive several partial payments for invoices/bills. These payments could be grouped in a batch and reconciled with a single statement line. However this flow is currently not working because the bank reconciliation fails Steps to reproduce: - Create 2 invoice and register a partial payment for each one - Select the 2 payments create a batch - Create a new statement with the sum of the payment amounts - Reconcile the statement with the created batch Issue:
Original PR description
partial payments An user may receive several partial payments for invoices/bills. These payments could be grouped in a batch and reconciled with a single statement line. However this flow is…
partial payments An user may receive several partial payments for invoices/bills. These payments could be grouped in a batch and reconciled with a single statement line. However this flow is currently not working because the bank reconciliation fails Steps to reproduce: - Create 2 invoice and register a partial payment for each one - Select the 2 payments create a batch - Create a new statement with the sum of the payment amounts - Reconcile the statement with the created batch Issue: An error will block the validation ``` The move (BNK1/2024/00011) is not balanced. The total of debits equals $ 510.60 and the total of credits equals $ 100.00. You might want to specify a default account on journal "Bank" to automatically balance each move. ``` This occurs because the system is taking the amount to reconcile from the invoice, instead of the payment, so it will try to reconcile the full amount. opw-4379673 Forward-Port-Of: odoo/enterprise#76121
Steps to reproduce: 1. Install l10n_uk_reports_cis 2. Open a new bill 3. Set the 20% G tax on a new line. 4. Save without assigning a partner. 5. A traceback is raised. --- Description of the issue this commit addresses: In the l10n_uk_reports_cis module, a tax validation system is implemented that reaches into move.partner_id to check the chosen taxes validity. This causes an issue when the move doesn't have a partner yet, raising a traceback. --- Desired behavior after th
Original PR description
Steps to reproduce: 1. Install l10n_uk_reports_cis 2. Open a new bill 3. Set the 20% G tax on a new line. 4. Save without assigning a partner. 5. A traceback is raised. --- Description of the issue this commit addresses: In the l10n_uk_reports_cis module, a tax validation system is implemented that reaches into move.partner_id to check the chosen taxes validity. This causes an issue when the move doesn't have a partner yet, raising a traceback. --- Desired behavior after this commit is merged: No traceback is raised. --- Note on the fix: An additionnal check verifying the move has a partner is done before reaching into its values. The error happens inside the lambda line 20 and is **not** modified in the PR, the next line is modified to remove the `move.partner_id and ` that became redundant with the ` or not move.partner_id` condition added to the initial `if`. --- opw-4365356 Forward-Port-Of: odoo/enterprise#76527
Steps to reproduce: ------------- - Install Sales, Field Service, and Stock, - Go into Field service and open any task that has products. - Through stat button on the top access the product catalog. - Click on burger menu on any service type product. Issue: - View Availability option should not be shown for service type products Cause: - No condition to make it invisible. Solution: - Added a condition when product type is service to the option invisible. task-3801551
Original PR description
Steps to reproduce: ------------- - Install Sales, Field Service, and Stock, - Go into Field service and open any task that has products. - Through stat button on the top access the product catalog. - Click on burger menu on any service type product. Issue: - View Availability option should not be shown for service type products Cause: - No condition to make it invisible. Solution: - Added a condition when product type is service to the option invisible. task-3801551 Forward-Port-Of: odoo/enterprise#76144 Forward-Port-Of: odoo/enterprise#58817
In project sharing, when the user changes a planned date in task form, a traceback occurs, because the portal user doesn't have the rights on `resource.calendar.attendance`. To solve that, we call the method that get those records with sudo (`_get_tasks_by_resource_calendar_dict`). task-3973305 Forward-Port-Of: odoo/enterprise#72695
Original PR description
In project sharing, when the user changes a planned date in task form, a traceback occurs, because the portal user doesn't have the rights on `resource.calendar.attendance`. To solve that, we call the method that get those records with sudo (`_get_tasks_by_resource_calendar_dict`). task-3973305 Forward-Port-Of: odoo/enterprise#72695