Thursday, January 30, 2025
19 changes · saas-17.2
Resolved issues and error corrections
This fix prevents Odoo from totaling the same numeric field that users choose for grouping records. It avoids confusing or incorrect grouped results, making views such as Kanban more reliable for everyday analysis.
Original PR description
This commit fixes an issue where if the user applies a group by on an aggregatable field (an integer like color_index for example), this field is also registered as an aggregator in the webReadGroup call and this leads to nonsensical results by the orm. After this commit, the group by field is automatically excluded from aggregators so the issue cannot happen. task-4491839
Miscellaneous changes
Currently, when cancelling a payment sent on a terminal, if you loose access to the internet, you will receive 2 different error. One of them explains Steps to reproduce: ------------------- * Connect an IoT box to the database * Configure a worldline terminal (ethernet) to be connected to the iot box * Create a payment method using that terminal and add it to a pos config * Open the corresponding pos session * Add items to order * Go to pay it, select the created payment method * Sen
Original PR description
Currently, when cancelling a payment sent on a terminal, if you loose access to the internet, you will receive 2 different error. One of them explains Steps to reproduce: ------------------- *…
Currently, when cancelling a payment sent on a terminal, if you loose access to the internet, you will receive 2 different error. One of them explains Steps to reproduce: ------------------- * Connect an IoT box to the database * Configure a worldline terminal (ethernet) to be connected to the iot box * Create a payment method using that terminal and add it to a pos config * Open the corresponding pos session * Add items to order * Go to pay it, select the created payment method * Send the request to terminal * Disconnect ethernet cable from the worldline terminal * Cancel the payment > Observation: After the timeout, two errors appear: 1: underfined:undefined (Bug) 2: Please check if your iot box is still connected. (Normal) Why the fix: ------------ This commit https://github.com/odoo/enterprise/commit/35a392c27e70ffb5f4a5d8ca32bf10c38d7f709c added one more error throwing other than `_onActionFail()` when sending requests. In our case since the error is due to a timeout, it will raise the `_onActionFail()` but also the `Promise.reject(e)`. We consider that the `_onActionFail()` is enough for all potential failure here. opw-4414175 Forward-Port-Of: odoo/enterprise#77555
Before this commit: when triggering a followup reports on parent company, followup levels on both parent company and branches were triggered, meaning duplicated datas could be sent to customers. After this commit: Now only the followup on the current company is triggered, ignoring all the branches. task-4393081 Forward-Port-Of: odoo/enterprise#75572
Original PR description
Before this commit: when triggering a followup reports on parent company, followup levels on both parent company and branches were triggered, meaning duplicated datas could be sent to customers. After this commit: Now only the followup on the current company is triggered, ignoring all the branches. task-4393081 Forward-Port-Of: odoo/enterprise#75572
- make kiosk mode open in the same page and logout the user to avoid unwanted rights Task: 4509632 Forward-Port-Of: odoo/enterprise#77852
Original PR description
- make kiosk mode open in the same page and logout the user to avoid unwanted rights Task: 4509632 Forward-Port-Of: odoo/enterprise#77852
We already support the non-SEPA ISO 20022 method in the `account_sepa` module. However, we were still requiring the origin bank account to be an IBAN account, according to SEPA rules. However, since ISO 20022 can be used outside of the SEPA zone, we don't need to check for an IBAN in that case. This commit fixes that, so non IBAN bank accounts can use ISO 20022 payments. Forward-Port-Of: odoo/enterprise#78023 Forward-Port-Of: odoo/enterprise#77873
Original PR description
We already support the non-SEPA ISO 20022 method in the `account_sepa` module. However, we were still requiring the origin bank account to be an IBAN account, according to SEPA rules. However, since ISO 20022 can be used outside of the SEPA zone, we don't need to check for an IBAN in that case. This commit fixes that, so non IBAN bank accounts can use ISO 20022 payments. Forward-Port-Of: odoo/enterprise#78023 Forward-Port-Of: odoo/enterprise#77873
At the moment, when grouping by a selection field, the in-database name of the selection option is shown rather than the human-readable name. This is fixed by the present commit. task-none Forward-Port-Of: odoo/enterprise#78145 Forward-Port-Of: odoo/enterprise#78128
Original PR description
At the moment, when grouping by a selection field, the in-database name of the selection option is shown rather than the human-readable name. This is fixed by the present commit. task-none Forward-Port-Of: odoo/enterprise#78145 Forward-Port-Of: odoo/enterprise#78128
Versions -------- - 17.0 - saas-17.2 - saas-17.4 - 18.0 Default automation rules were removed from the module via ca5de2aea907 Steps ----- 1. Copy an default automation from Subscriptions; 2. try to edit it. Issue ----- Action form is readonly, displaying the following message: > Action data can not be updated to avoid unexpected behaviors. Create a new automation rule instead. This makes sense for the default automations, but copies should be editable. Cause -----
Original PR description
Versions -------- - 17.0 - saas-17.2 - saas-17.4 - 18.0 Default automation rules were removed from the module via ca5de2aea907 Steps ----- 1. Copy an default automation from Subscriptions; 2. try to edit it. Issue ----- Action form is readonly, displaying the following message: > Action data can not be updated to avoid unexpected behaviors. Create a new automation rule instead. This makes sense for the default automations, but copies should be editable. Cause ----- The Subscriptions module adds a `is_sale_order_alert` field to its automations to make them readonly. This field is copied when duplicating an automation. Solution -------- Add `copy=False` to the field declaration to make copies editable. opw-4055597 Forward-Port-Of: odoo/enterprise#77008
When a note was logged or a message was posted on any move, the email recipients of that message would get an email with both the move name and the total move amount (without any context) in the header. For invoices and vendor bills, this makes sense. As these are typically amounts that can be paid or received. However, for miscellaneous moves this was confusing users. Often it means nothing, and users wonder if they have to pay something. We remove the amount from messages sent on miscell
Original PR description
When a note was logged or a message was posted on any move, the email recipients of that message would get an email with both the move name and the total move amount (without any context) in the header. For invoices and vendor bills, this makes sense. As these are typically amounts that can be paid or received. However, for miscellaneous moves this was confusing users. Often it means nothing, and users wonder if they have to pay something. We remove the amount from messages sent on miscellaneous moves here. [opw-4042715](https://www.odoo.com/odoo/project.task/4042715) Forward-Port-Of: odoo/odoo#195541
Steps to Reproduce: ========= - Install the modules: pos_razorpay, l10n_in, and pos_restaurant. - Create a payment method for the Razorpay terminal. - Open a restaurant register linked to an Indian company with the added Razorpay terminal payment method. - Create an order, add a Razorpay payment line, and navigate to the floor screen. Issue: ========== - A traceback occurs when completing a payment. Cause: ========= - Polling for the Razorpay terminal continues even after leaving
Original PR description
Steps to Reproduce: ========= - Install the modules: pos_razorpay, l10n_in, and pos_restaurant. - Create a payment method for the Razorpay terminal. - Open a restaurant register linked to an Indian company with the added Razorpay terminal payment method. - Create an order, add a Razorpay payment line, and navigate to the floor screen. Issue: ========== - A traceback occurs when completing a payment. Cause: ========= - Polling for the Razorpay terminal continues even after leaving the payment screen and navigating to the floor screen. Fix: ========= - Stop the polling process when the user leaves the payment screen. - Resume polling only when the user returns to the payment screen. task-4414016 Forward-Port-Of: odoo/odoo#192072
This PR is backporting of these commits: [1] Commit https://github.com/odoo/odoo/commit/a1b7d8aba255ec477a030d44897b8ea73d1f37e7 [2] Commit https://github.com/odoo/odoo/commit/3653131d32997392b2170ce542bfc544fd96bef2 These commits introduce the computation of fiscal positions for sales and purchase documents based on the place of supply. While these changes are already merged into version 18.1, they are now required in version 17.0. --- I confirm I have signed the CLA and read
Original PR description
This PR is backporting of these commits: [1] Commit https://github.com/odoo/odoo/commit/a1b7d8aba255ec477a030d44897b8ea73d1f37e7 [2] Commit https://github.com/odoo/odoo/commit/3653131d32997392b2170ce542bfc544fd96bef2 These commits introduce the computation of fiscal positions for sales and purchase documents based on the place of supply. While these changes are already merged into version 18.1, they are now required in version 17.0. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#195399
### Description of the issue/feature this PR addresses: - Similar error: https://github.com/odoo/odoo/pull/194338 - In `_compute_plan_available_ids()` with `self` there can be multiple records but still use `self.department_id` in `for scheduler in todo`. ### Current behavior before PR: - The error ValueError: Expected singleton: mail.activity.schedule(1, 2) occurred Desired behavior after PR is merged: - The problem has been fixed. --- I confirm I have signed the CLA and read
Original PR description
### Description of the issue/feature this PR addresses: - Similar error: https://github.com/odoo/odoo/pull/194338 - In `_compute_plan_available_ids()` with `self` there can be multiple records but still use `self.department_id` in `for scheduler in todo`. ### Current behavior before PR: - The error ValueError: Expected singleton: mail.activity.schedule(1, 2) occurred Desired behavior after PR is merged: - The problem has been fixed. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#194650
Currently foot pedals often don't send their input to Odoo This is due to the fact that the foot pedals are detected as 1 usb device which is associated with 3 separate event files for its 3 different fonctionalities (a foot switch can work as a keyboard, a mouse and a joystick) Our current code only detects input from one of these 3 event files (the last one in the list) while the input is actually only sent to the keyboard event file. Since "evdev" and "usb core" libraries don't allow us t
Original PR description
Currently foot pedals often don't send their input to Odoo This is due to the fact that the foot pedals are detected as 1 usb device which is associated with 3 separate event files for its 3…
Currently foot pedals often don't send their input to Odoo This is due to the fact that the foot pedals are detected as 1 usb device which is associated with 3 separate event files for its 3 different fonctionalities (a foot switch can work as a keyboard, a mouse and a joystick) Our current code only detects input from one of these 3 event files (the last one in the list) while the input is actually only sent to the keyboard event file. Since "evdev" and "usb core" libraries don't allow us to determine which evdev device is the right one this PR allows listening to all of the event files associated to a usb device to read input from all of them. This PR also adds some comment to simplify the understanding of the input detection and event files structure on Linux. Note: on IoT Box images > 25.01 the user "odoo" which runs Odoo service needs to be in the group "input" to be able to correctly detect evdev devices and have access to their event files. task-4432802 Related PR: #195307 Forward-Port-Of: odoo/odoo#195306
The credit limit in the partner form view was missing a currency symbol, leading to ambiguity about whether the limit was in the customer's currency or the company's currency. Displayed the partner limit in the company currency to avoid confusion. task-4507336 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#195325 Forward-Port-Of: odoo/odoo#194807
Original PR description
The credit limit in the partner form view was missing a currency symbol, leading to ambiguity about whether the limit was in the customer's currency or the company's currency. Displayed the partner limit in the company currency to avoid confusion. task-4507336 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#195325 Forward-Port-Of: odoo/odoo#194807
**Current behavior before PR:** Push notifications displayed the Odoo Bot icon regardless of the actual message author. **Desired behavior after PR is merged:** The push notifications now correctly display the avatar of the message author. Task-[4510479](https://www.odoo.com/odoo/project/1519/tasks/4510479) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#195219
Original PR description
**Current behavior before PR:** Push notifications displayed the Odoo Bot icon regardless of the actual message author. **Desired behavior after PR is merged:** The push notifications now correctly display the avatar of the message author. Task-[4510479](https://www.odoo.com/odoo/project/1519/tasks/4510479) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#195219
The reCAPTCHA feature is currently controlled by the "Module Installation" setting: `module_google_recaptcha`, which, due to dependencies, caused the removal of many other modules when disabled. The goal of this commit is to simply hide this option in stable to prevent this misleading behaviour. A user can still disable the reCAPTCHA checks by removing API keys (Which was already mentioned on the setting block) The feature behaviour will be updated in master to allow disabling reCA
Original PR description
The reCAPTCHA feature is currently controlled by the "Module Installation" setting: `module_google_recaptcha`, which, due to dependencies, caused the removal of many other modules when disabled. The goal of this commit is to simply hide this option in stable to prevent this misleading behaviour. A user can still disable the reCAPTCHA checks by removing API keys (Which was already mentioned on the setting block) The feature behaviour will be updated in master to allow disabling reCAPTCHA without uninstalling the modules. task-3380702 Forward-Port-Of: odoo/odoo#194907
… ref, not the name For Bizkaia, when we send the invoices, the numfactura and seriefactura should be the name of the vendor and the one of the customer. In order to make it possible to correct it and to cancel an invoice with the previous way of doing, we check in the original XML what the dates sent were. opw-4498833 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
… ref, not the name For Bizkaia, when we send the invoices, the numfactura and seriefactura should be the name of the vendor and the one of the customer. In order to make it possible to correct it and to cancel an invoice with the previous way of doing, we check in the original XML what the dates sent were. opw-4498833 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#195113
Versions -------- - 16.0 Backport of https://github.com/odoo/odoo/pull/195266 Issue ----- Use `float_compare` to compare floating point amounts on reward validation. Forward-Port-Of: odoo/odoo#195679 Forward-Port-Of: odoo/odoo#195637
Original PR description
Versions -------- - 16.0 Backport of https://github.com/odoo/odoo/pull/195266 Issue ----- Use `float_compare` to compare floating point amounts on reward validation. Forward-Port-Of: odoo/odoo#195679 Forward-Port-Of: odoo/odoo#195637
The b2b fields are still required in the portal form even if the "Show b2b fields" is deactivated Steps: - From the website editor, on the checkout form, unselect the "Show b2b fields" setting - Log out and go to ecommerce - Add a product to card and checkout - Fill the address form with a Brazilian address -> Error: "Some required fields are empty." With this commit, we add the field `vat` to the mandatory fields only if the option "Show b2b" fields is activated. opw-4403161 Forward-Port
Original PR description
The b2b fields are still required in the portal form even if the "Show b2b fields" is deactivated Steps: - From the website editor, on the checkout form, unselect the "Show b2b fields" setting - Log out and go to ecommerce - Add a product to card and checkout - Fill the address form with a Brazilian address -> Error: "Some required fields are empty." With this commit, we add the field `vat` to the mandatory fields only if the option "Show b2b" fields is activated. opw-4403161 Forward-Port-Of: odoo/odoo#194110
**Problem**: `this.state.showCodeView` cannot be relied upon because `toggleCodeView` of `HtmlField` is never called in cases like mass mailing. Instead, `MassMailingSnippetsMenu` forces code view without using the `HtmlField` mechanism. **Solution**: Instead of checking `this.state.showCodeView`, directly check the return value of `this._getCodeViewEl()` in `MassMailingHtmlField`. **Steps to Reproduce**: 1. Add an Image-Text snippet. 2. Save the snippet. 3. Resize the image. 4.
Original PR description
**Problem**: `this.state.showCodeView` cannot be relied upon because `toggleCodeView` of `HtmlField` is never called in cases like mass mailing. Instead, `MassMailingSnippetsMenu` forces code view without using the `HtmlField` mechanism. **Solution**: Instead of checking `this.state.showCodeView`, directly check the return value of `this._getCodeViewEl()` in `MassMailingHtmlField`. **Steps to Reproduce**: 1. Add an Image-Text snippet. 2. Save the snippet. 3. Resize the image. 4. Switch to code view. 5. Save. 6. Observe that the class `o_modified_image_to_save` is not removed from the image. opw-4406195 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#195587 Forward-Port-Of: odoo/odoo#195539