Monday, August 5, 2024
23 changes · saas-17.1
Resolved issues and error corrections
Fixed an error that occurred when users selected multiple partners from the follow-up report and printed customer statements. This helps accounting teams generate statements in bulk without interruption.
Original PR description
Fix singleton error Steps: - Go to follow-up report - Select 2 partners in the list view - Select "Print Customer Statements" in the action menu -> Singleton error opw-4075655
Miscellaneous changes
The "active records" toggle from the domain editor was invisible in darkmode because it has a whit/transparent image over a forces white background. This revision forces a dak background limited to the toggle button so that it becomes visible again. Task-4081249 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-
Original PR description
The "active records" toggle from the domain editor was invisible in darkmode because it has a whit/transparent image over a forces white background. This revision forces a dak background limited to the toggle button so that it becomes visible again. Task-4081249 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#174857
When refreshing the PoS when logged in with a cashier would disconnect the cashier. Steps to reproduce: ------------------- * Install pos_hr * Log in as any cashier * Refresh the page > Observation: You are not logged in anymore Why the fix: ------------ We save the current cashier_id in the session storage. This way when we refresh the page we can get it back. We use the session storage instead of local storage because it's specific to one tab. opw-4005556 --- I confirm I ha
Original PR description
When refreshing the PoS when logged in with a cashier would disconnect the cashier. Steps to reproduce: ------------------- * Install pos_hr * Log in as any cashier * Refresh the page > Observation: You are not logged in anymore Why the fix: ------------ We save the current cashier_id in the session storage. This way when we refresh the page we can get it back. We use the session storage instead of local storage because it's specific to one tab. opw-4005556 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#174322
Since [1] cover images are implicitly converted to webp. An issue was fixed in [2] because the converted image attachments were not public. This commit fixes another issue: if the cover's record name contains a slash inside its name, the name of the attachment also contains that slash. `_compute_image_src` then puts that slash inside `image_src` which is used to reference the converted image from the website page. But the route does not support delivering such paths. Steps to reproduce: -
Original PR description
Since [1] cover images are implicitly converted to webp. An issue was fixed in [2] because the converted image attachments were not public. This commit fixes another issue: if the cover's record name contains a slash inside its name, the name of the attachment also contains that slash. `_compute_image_src` then puts that slash inside `image_src` which is used to reference the converted image from the website page. But the route does not support delivering such paths. Steps to reproduce: - Create a new blog post. - Name it "A/B Testing". - Upload a JPG image as cover. - Save. => The image was not displayed anymore. [1]: https://github.com/odoo/odoo/commit/068dcc27e417d52b51d274c44497f4388fed780a [2]: https://github.com/odoo/odoo/commit/715eb84a35d27fdbb378fd9937d7439f8619f99c opw-4042913 opw-4047244 opw-4086947 Forward-Port-Of: odoo/odoo#175630
### Steps to reproduce * install `l10n_sa` * create a new invoice and add a line with a product and a custom label. * print the invoice You will see in the 'Description' column that the product's display name is shown instead of the label you set opw-4071925 Forward-Port-Of: odoo/odoo#175025
Original PR description
### Steps to reproduce * install `l10n_sa` * create a new invoice and add a line with a product and a custom label. * print the invoice You will see in the 'Description' column that the product's display name is shown instead of the label you set opw-4071925 Forward-Port-Of: odoo/odoo#175025
Contact widget was causing a schema.org error on safari for mobile versions in checkout and in payment confirmation, which caused customers to be weary of paying on odoo. Removed the use of contact widget and displayed the address instead opw-4062917 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175524
Original PR description
Contact widget was causing a schema.org error on safari for mobile versions in checkout and in payment confirmation, which caused customers to be weary of paying on odoo. Removed the use of contact widget and displayed the address instead opw-4062917 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175524
Description of the issue/feature this PR addresses: This commit fixes a read access error on the field employee_ids of hr_leave when a user, who is not in group_hr_holidays_user, tries to cancel/refuse a timeoff. The bug only appears when the timeoff crosses a public holiday. Current behavior before PR: An access error pops up when an user , who is not a timeoff officer/admin, tries to cancel a timeoff. The timeoff should cross a public holiday in order for the bug to appear. Desired
Original PR description
Description of the issue/feature this PR addresses: This commit fixes a read access error on the field employee_ids of hr_leave when a user, who is not in group_hr_holidays_user, tries to cancel/refuse a timeoff. The bug only appears when the timeoff crosses a public holiday. Current behavior before PR: An access error pops up when an user , who is not a timeoff officer/admin, tries to cancel a timeoff. The timeoff should cross a public holiday in order for the bug to appear. Desired behavior after PR is merged: The user is able to cancel its timeoff even if he/she is not a timeoff officer/admin. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#174682
Previously, there was no clean way to redirect old URLs like /xx.asp?id=xx with the correct HTTP status code. This update adds support for such redirects, allowing people to migrate to Odoo more easily. fiximp-realife --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175188
Original PR description
Previously, there was no clean way to redirect old URLs like /xx.asp?id=xx with the correct HTTP status code. This update adds support for such redirects, allowing people to migrate to Odoo more easily. fiximp-realife --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175188
Add the modelo 130 report for spain localization task-3866238 Linked PR : https://github.com/odoo/enterprise/pull/62197 Forward-Port-Of: odoo/odoo#164946
Original PR description
Add the modelo 130 report for spain localization task-3866238 Linked PR : https://github.com/odoo/enterprise/pull/62197 Forward-Port-Of: odoo/odoo#164946
Add some logs to log relevant information in various websocket scenarios. Like odoo logs for HTTP request, the completion of the operation is logged in INFO level with the execution time. e.g: `2024-08-02 09:32:20,542 1821 INFO ? odoo.addons.hw_drivers.websocket_client: device 'Virtual_Braille_BRF_Printer' action finished - 0.077` Detailed logs of the websocket message were set in DEBUG Replace the PR: https://github.com/odoo/odoo/pull/169525 to only keep the log part Forward-Port-Of: o
Original PR description
Add some logs to log relevant information in various websocket scenarios. Like odoo logs for HTTP request, the completion of the operation is logged in INFO level with the execution time. e.g: `2024-08-02 09:32:20,542 1821 INFO ? odoo.addons.hw_drivers.websocket_client: device 'Virtual_Braille_BRF_Printer' action finished - 0.077` Detailed logs of the websocket message were set in DEBUG Replace the PR: https://github.com/odoo/odoo/pull/169525 to only keep the log part Forward-Port-Of: odoo/odoo#175497
**Description** - From 16.0, while opening invoices of accounting and clicking on the web studio button, it is showing traceback for French localization of the "l10n_fr" module. As per [this](https://github.com/odoo/odoo/pull/171275) file in V16, module [l10n_fr_invoice_addr] has been optimized to adapt the documents as per new French law. Although, the traceback is showing due to the fact that while performing the "l10n_fr_invoice_addr" module's view, the "shipping_field" has set the groups
Original PR description
**Description** - From 16.0, while opening invoices of accounting and clicking on the web studio button, it is showing traceback for French localization of the "l10n_fr" module. As per…
**Description** - From 16.0, while opening invoices of accounting and clicking on the web studio button, it is showing traceback for French localization of the "l10n_fr" module. As per [this](https://github.com/odoo/odoo/pull/171275) file in V16, module [l10n_fr_invoice_addr] has been optimized to adapt the documents as per new French law. Although, the traceback is showing due to the fact that while performing the "l10n_fr_invoice_addr" module's view, the "shipping_field" has set the groups to null in this [account_move.py](https://github.com/odoo/odoo/pull/171275/files#diff-5125aad1cd2220c7e0c4cfe80ec0541acf5e9f4dbce46fb370e94cd281012b36R17) file which should not be the case. Due to this, as per this [condition](https://github.com/odoo/odoo/blob/16.0/odoo/models.py#L1464), it is trying to find groups in V16.0, which will lead to traceback as the groups are set null here. Whereas in stable version 15.0, it was working due to the fact that previously the groups were set to null through the [account_move.xml](https://github.com/odoo/odoo/blob/15.0/addons/l10n_fr_invoice_addr/views/account_move_views.xml#L9) file. - As a result, to resolve this issue this commit will pop the groups of "shipping_field" instead of setting it to null to bypass the traceback for the invoices of "l10n_fr" localization. **Steps to Reproduce (V16.0)** - Change the language to French. - Install "l10n_fr" module - Get an FR company. - Create an invoice, it's partner(customer) should be of FR , then confirm the invoice. - Open the invoice and then click on the web studio button. **Solution** - To resolve this issue this commit will pop the groups of "shipping_field" instead of setting it to null to bypass the traceback for the invoices of "l10n_fr" localization. **Current behavior before PR:**  --- opw-[4044861](https://www.odoo.com/odoo/project.task/4044861?cids=2) I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#173162
__Current behavior before commit:__ If `crm` is installed `test_import_multiple_invoices` will fail because the crm demo data are changing the email of the partner `base.res_partner_12` (i.e. Azure Interior)(see [crm_lead_demo.xml][1]). `partner` will therefore be `False`. __Description of the fix:__ Getting `partner` from the `base.res_partner_12` external id so this test does not depend on modifications from other modules. __Steps to reproduce the issue:__ Run: ```sh ./odoo/odoo-bin
Original PR description
__Current behavior before commit:__ If `crm` is installed `test_import_multiple_invoices` will fail because the crm demo data are changing the email of the partner `base.res_partner_12` (i.e. Azure…
__Current behavior before commit:__
If `crm` is installed `test_import_multiple_invoices` will fail because the crm demo data are changing the email of the partner `base.res_partner_12` (i.e. Azure Interior)(see [crm_lead_demo.xml][1]). `partner` will therefore be `False`.
__Description of the fix:__
Getting `partner` from the `base.res_partner_12` external id so this test does not depend on modifications from other modules.
__Steps to reproduce the issue:__
Run:
```sh
./odoo/odoo-bin -d test-17 -i crm,l10n_es --test-tags .test_import_multiple_invoices --addons-path=./enterprise,./odoo/addons
```
You will get:
```log
odoo.addons.l10n_es_edi_facturae.tests.test_edi_xml: FAIL: TestEdiFacturaeXmls.test_import_multiple_invoices
Traceback (most recent call last):
File "/home/odoo/src/odoo/addons/l10n_es_edi_facturae/tests/test_edi_xml.py", line 283, in test_import_multiple_invoices
self.assertRecordValues(moves, [
File "/home/odoo/src/odoo/odoo/tests/common.py", line 659, in assertRecordValues
self.fail('\n'.join(errors))
AssertionError: The records and expected_values do not match.
==== Differences at index 0 ====
---
+++
@@ -1 +1 @@
-partner_id:14
+partner_id:False
==== Differences at index 1 ====
---
+++
@@ -1 +1 @@
-partner_id:14
+partner_id:False
```
opw-4009379
[1]: https://github.com/odoo/odoo/blob/1c8e2555366fe6e6b0d74d6db71a29d09bd5f06a/addons/crm/data/crm_lead_demo.xml#L606
Forward-Port-Of: odoo/odoo#173863Avoid setting default value of zero for Integer/Float fields or False for Boolean fields (those are already the fields default) This avoid triggering write on the related models (on multi-companies database with millions on journal entries this speedup the installation of modules from ~8-9 minutes to ~15 seconds) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175597 Forward-Port-Of: odoo/odoo#175585
Original PR description
Avoid setting default value of zero for Integer/Float fields or False for Boolean fields (those are already the fields default) This avoid triggering write on the related models (on multi-companies database with millions on journal entries this speedup the installation of modules from ~8-9 minutes to ~15 seconds) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175597 Forward-Port-Of: odoo/odoo#175585
Steps to reproduce the issue: - Debug mode > Settings > Technical > Decimal Precision > Product Price - Set to another number - Purchase > Any Purchase order - Mobile view, puchased item has a decimal precision of 2 Why is this a bug: Kanban view is the only one to disregard Product Price Precision setting What this fix does: Update the display with correct decimal precision opw-3984082 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr F
Original PR description
Steps to reproduce the issue: - Debug mode > Settings > Technical > Decimal Precision > Product Price - Set to another number - Purchase > Any Purchase order - Mobile view, puchased item has a decimal precision of 2 Why is this a bug: Kanban view is the only one to disregard Product Price Precision setting What this fix does: Update the display with correct decimal precision opw-3984082 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172049
Filtering devices by name fails if `devices_list` is empty. Type check on devices should prevent from trying to get the value of `name` on a string. PR being fixed: [https://github.com/odoo/odoo/pull/175277](https://github.com/odoo/odoo/pull/175277) Forward-Port-Of: odoo/odoo#175356
Original PR description
Filtering devices by name fails if `devices_list` is empty. Type check on devices should prevent from trying to get the value of `name` on a string. PR being fixed: [https://github.com/odoo/odoo/pull/175277](https://github.com/odoo/odoo/pull/175277) Forward-Port-Of: odoo/odoo#175356
Steps to reproduce the bug: - In Website edit mode. - Drag and drop enough snippets to have a vertical scrollbar. - Scroll the page to the top. - Drag and drop a dynamic snippet (e.g. Products) at the bottom of the viewport. - Bug: The page doesn't scroll to the dynanmic snippet. The bug was due to the fact that we needed to know the top position of the snippet to set the scroll value. However, it wasn't possible to get the offset of the element because the dynamic snippets were set to
Original PR description
Steps to reproduce the bug: - In Website edit mode. - Drag and drop enough snippets to have a vertical scrollbar. - Scroll the page to the top. - Drag and drop a dynamic snippet (e.g. Products) at…
Steps to reproduce the bug: - In Website edit mode. - Drag and drop enough snippets to have a vertical scrollbar. - Scroll the page to the top. - Drag and drop a dynamic snippet (e.g. Products) at the bottom of the viewport. - Bug: The page doesn't scroll to the dynanmic snippet. The bug was due to the fact that we needed to know the top position of the snippet to set the scroll value. However, it wasn't possible to get the offset of the element because the dynamic snippets were set to "display: none" when this calculation was made. It's a bug we had before and fixed with this commit [1]. It worked. But since this other commit [2] where dynamic snippets are no longer hidden with the Bootstrap class "d-none" but with the class "o_dynamic_empty", the fix no longer works. [1]: https://github.com/odoo/odoo/commit/963f0ed02eba929fcbc65fe51bef95c2a1dcf2ea [2]: https://github.com/odoo/odoo/commit/63def9c87305dd7773e0592a28fe19d0b63c0878 task-4072655 Forward-Port-Of: odoo/odoo#175207
The global filter entries of the side panel were not keeping their "light" theme because we relied on the BS class `bg-white` which is adapted when using the dark mode. Task-4081249 Forward-Port-Of: odoo/enterprise#67537
Original PR description
The global filter entries of the side panel were not keeping their "light" theme because we relied on the BS class `bg-white` which is adapted when using the dark mode. Task-4081249 Forward-Port-Of: odoo/enterprise#67537
To reproduce: Activate Avatax (in Sandbox mode) Create an invoice to a partner from Colorado Put the 0F4000000 code on the Avatax Category of a product Create a line with this product Click on "Compute Taxes" => A tax named "Retail Delivery Fee [08] (29.0000 %)" is created The issue is that if you look on Avatax, it's supposed a fixed 0.29 tax. opw-4036105 Forward-Port-Of: odoo/enterprise#67882 Forward-Port-Of: odoo/enterprise#66973
Original PR description
To reproduce: Activate Avatax (in Sandbox mode) Create an invoice to a partner from Colorado Put the 0F4000000 code on the Avatax Category of a product Create a line with this product Click on "Compute Taxes" => A tax named "Retail Delivery Fee [08] (29.0000 %)" is created The issue is that if you look on Avatax, it's supposed a fixed 0.29 tax. opw-4036105 Forward-Port-Of: odoo/enterprise#67882 Forward-Port-Of: odoo/enterprise#66973
Add the modelo 130 report for spain localization task-3866238 Linked PR : https://github.com/odoo/odoo/pull/164946 Forward-Port-Of: odoo/enterprise#62197
Original PR description
Add the modelo 130 report for spain localization task-3866238 Linked PR : https://github.com/odoo/odoo/pull/164946 Forward-Port-Of: odoo/enterprise#62197
Overrides the generic xlsx export button on the intrastat report for Denmark. When pressing the button, it now generates the official documents that can then be uploaded on the official website "Statistics Denmark" for intrastat reporting. Depending on the filter 'intrastat type', the following use cases are possible: Intratat type filter | Document generated ----------------------------------------------- arrivals | official xlsx for arrivals dispatches |
Original PR description
Overrides the generic xlsx export button on the intrastat report for Denmark. When pressing the button, it now generates the official documents that can then be uploaded on the official website "Statistics Denmark" for intrastat reporting. Depending on the filter 'intrastat type', the following use cases are possible: Intratat type filter | Document generated ----------------------------------------------- arrivals | official xlsx for arrivals dispatches | official xlsx for dispatches none or both | zip file containing both xlsx The xlsx files that are generated follow the official format, which can be found at this address in the file examples 'Intrastat eksport/import Excel Line' https://www.dst.dk/en/Indberet/hjaelp-til-indberetning/om-idep-web/intrastat task-3976189 Forward-Port-Of: odoo/enterprise#65412
To reproduce: ============= - on Salary structure type "Worker" change its "Default Scheduled Pay" to another value than monthly (bi-weekly). - on the contract templates, create a new one for that structure and set hourly Wage = 10$ - onrecruitment applications, generate an offer with that template Check the link > It should show 800$ (which is 10$ an hour * 40 hours a week * 2 for the bi-wkeely frequency) but still mention it is the monthly Salary (which should be 1600$) Problem
Original PR description
To reproduce: ============= - on Salary structure type "Worker" change its "Default Scheduled Pay" to another value than monthly (bi-weekly). - on the contract templates, create a new one for that structure and set hourly Wage = 10$ - onrecruitment applications, generate an offer with that template Check the link > It should show 800$ (which is 10$ an hour * 40 hours a week * 2 for the bi-wkeely frequency) but still mention it is the monthly Salary (which should be 1600$) Problem: ======== - the salary displayed on the salary configurator doesn't take into account the frequency of the salary structure Solution: ========= - change the label to mention the frequency of the salary structure opw-3963698 Forward-Port-Of: odoo/enterprise#64105
The message to buy extra credits is escaped and instead of displaying the message with a link it displays the message with a html and a url, not very human user like. We have to unescape the < and > symbols so that the frontend can properly display the message Ticket [link](https://www.odoo.com/web#model=project.task&id=3864033) opw-3864033 Forward-Port-Of: odoo/enterprise#63364
Original PR description
The message to buy extra credits is escaped and instead of displaying the message with a link it displays the message with a html and a url, not very human user like. We have to unescape the < and > symbols so that the frontend can properly display the message Ticket [link](https://www.odoo.com/web#model=project.task&id=3864033) opw-3864033 Forward-Port-Of: odoo/enterprise#63364
### Steps to Reproduce 1. Install the `account_reports` module. 2. Enable Analytic Accounting in the settings. 3. Create a new field for the Journal Items model with a name containing uppercase characters (e.g., `x_TEST`). 4. Navigate to the 'Profit and Loss' report and attempt to use the 'Analytic Group by' feature. ### Current Behavior The following error occurs: ``` psycopg2.errors.UndefinedColumn: column account_move_line.x_test does not exist ``` ### Cause In PostgreSQL, unqu
Original PR description
### Steps to Reproduce 1. Install the `account_reports` module. 2. Enable Analytic Accounting in the settings. 3. Create a new field for the Journal Items model with a name containing uppercase characters (e.g., `x_TEST`). 4. Navigate to the 'Profit and Loss' report and attempt to use the 'Analytic Group by' feature. ### Current Behavior The following error occurs: ``` psycopg2.errors.UndefinedColumn: column account_move_line.x_test does not exist ``` ### Cause In PostgreSQL, unquoted identifiers are automatically converted to lowercase, leading to issues when fields contain uppercase characters. opw-4086902 opw-4082082 opw-4086627 Forward-Port-Of: odoo/enterprise#67807