Monday, September 9, 2024
16 changes · 17.0
Resolved issues and error corrections
This fix makes uninstall warnings for Account Audit Trail and Account Lock more specific by showing both the readable app name and the technical module name. This helps users understand why an operation is blocked, especially when uninstalling another app indirectly triggers one of these protected modules.
Original PR description
The modules `account_audit_trail` and `account_lock` cannot be uninstalled since [1]. The issue is that the error message displayed to the end user is not specific enough and causes confusion when people are not directly uninstalling the module, but rather another module that happen to trigger the uninstallation of `account_audit_trail` or `account_lock` (`account` for example). After this commit the human readable and technical name of the module are displayed in the error message which should allow the end user to either have a better understanding of why the operation is impossible or should not be performed, or at the very least will help them go check the description of the right modules to get further information. [1] https://github.com/odoo/odoo/pull/171244 opw-4172056
Event category names with spaces no longer break the mobile events page. This prevents errors when visitors expand category filters, making event browsing more reliable on phones.
Original PR description
Category tags names are used directly as selectors. Adding spaces to the names leads to tracebacks. Reproduce --- - Install website_event - Create new event category with spaces in it - Open mobile view of all events - Select the category collapsible -> BUG opw-4009122
Task rating notifications in Discuss now show a clear space between the task name and the calendar icon. This small visual fix improves readability and makes notifications look cleaner for users.
Original PR description
Steps to reproduce: ----------------------------------------------------------------------------------------------------------- 1. Install the Project. 2. Go to settings and select customer ratings.…
Steps to reproduce: ----------------------------------------------------------------------------------------------------------- 1. Install the Project. 2. Go to settings and select customer ratings. 3. Then go to any project edit the stage and select the template for the rating email template. 4. Then change the stage of any task. check the email and give a rating to your task. 5. Check the Discus app then you will see a notification and no space between the name of the task and the calendar icon. Issue: ----------------------------------------------------------------------------------------------------------- - A missing space between the name of the task and the calendar icon. Cause: ----------------------------------------------------------------------------------------------------------- - The task's name and the calendar icon are not separated. Fix: ----------------------------------------------------------------------------------------------------------- - After this commit there is a space between the name of the task and the calendar icon task-3681318
Percent pie widgets created in Studio no longer show a repeated field name next to the chart in list views. This makes list displays cleaner and easier for users to read.
Original PR description
Specification: When creating a percent pie widget in the list view using Studio, the field's name has been added after percent pie, which is not user-friendly. Expected behavior: The duplicate label should not be visible in the list view. Task-3942207 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The point of sale IoT Box image build now includes a missing dependency and corrects access permissions for its configuration file. This helps ensure IoT Box images can be built and started reliably without manual intervention.
Original PR description
IoT Box image build was failing due to missing `libffi-dev` pkg. In addition to that, the previously moved `odoo.conf` was inaccessible due to incorrect access rights. This commit fixes these two problems.
The generic accounting chart template is renamed to make clear that it is the US accounting localization. This helps users find and install the correct accounting setup more easily.
Original PR description
It happens often enough that whenever someone wants to install The US Accounting localization they have a hard time finding it because they do not know that the "Generic Chart Template" is for the US. This task will rename the template so that it's more clear for users. task: 4146856 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents XML and P7M files from being mistakenly selected as the primary attachment in Mail. Users will no longer see these technical attachments opened as previews in the attachment viewer, reducing confusion when viewing messages.
Original PR description
Before this commit: Sometimes attachments with extension 'p7m' or 'xml' were incorrectly assigned as the main attachment. This caused the attachment viewer to treat these attachments as previews that could be displayed. Approach to fix this issue: Added a check for attachments with file extensions 'xml' and 'p7m' to prevent them from being considered as the main attachment. After this commit: Attachments with mimetypes 'xml' and 'p7m' will no longer be considered as the main attachment, preventing them from appearing in the attachment viewer. task-3669465
Invoice PDFs in languages such as French and German will now fully translate the small word “on” in tax descriptions. This avoids mixed-language text on customer-facing invoices and improves localization quality.
Original PR description
Description of the issue/feature this PR addresses: There is a text "on" which is not getting translation in some languages and that's because for that record we do most of the translations on the python side. so it was missing appropriate config in `<lang>.po` file Current behavior before PR: When you install German or French (and some other languages), when you create and invoice pdf with that language there is a "on" text which is not getting translated. Desired behavior after PR is merged: When you install German or French (and some other languages), when you create and invoice pdf with that language everything is translated as expected. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Accounting report configuration no longer lets users manually change a report line's parent in a way that leaves the line displayed in the wrong position. This helps keep financial reports such as the Balance Sheet organized correctly and avoids confusing report layouts.
Original PR description
### Steps to reproduce issue: 1. Go to _Accounting > Configuration > Account Reports_ 2. Select Balance Sheet and Add a line in it 3. Select the new line and give it ASSETS as parent_id 4. Go to Reporting > Balance Sheet 5. The new line is still at the end of the report ### Explanation: Lines have a `sequence` to sort them in the report. It is not computed to change along with `parent_id`, since the lines are supposed to be arranged through the `AccountReportListRenderer` widget. Because of it a line whose `parent_id` changes will not be placed correctly. ### Fix reasoning: The `parent_id` field will be removed from the view, the hierarchy is already shown in the widget. Since the change is made in a view, the field will be set as readonly to avoid users whose view has not been updated from changing it manually. opw-4101282
Odoo Studio now opens correctly when editing an empty kanban view that is grouped by a date field. This prevents users from being blocked by a crash in a specific Studio editing scenario.
Original PR description
Before this commit: When on a kanban view with no record, a progressbar and grouped by a date field, it would crash and prevent entering the studio app. The error only occurred when the group_by was set on a field of type date as the fake record/group created by the studio kanban editor does not support creating the additional data needed for the progressbar. The studio kanban editor does not include the progressbar, this was the case but changes to the model where not accounted for and the progressbar was not properly ignored anymore. After this commit: The progessbar is now properly ignored when in studio.
This update removes an automatic copy action that was triggered immediately when using the Spreadsheet Share Button. Users will now have more control over when content is copied, improving the user experience by preventing unintended clipboard actions. This fix applies to both spreadsheet dashboards and document spreadsheets.
Original PR description
*spreadsheet* = spreadsheet_dashboard_edition documents_spreadsheet opw-4144551
Miscellaneous changes
Problem: While merging two partners in the contact app using the _update_foreign_keys method, the foreign keys are merged using SQL instead of ORM. The issue is that the partner_share field is computed based on the user_ids field and is stored. If we update using SQL, it will not trigger the _compute_partner_share method, which will set the latest value. Other problems might arise for fields that are computed based on foreign keys updated using SQL during a merge. Steps to reproduce: I
Original PR description
Problem: While merging two partners in the contact app using the _update_foreign_keys method, the foreign keys are merged using SQL instead of ORM. The issue is that the partner_share field is computed based on the user_ids field and is stored. If we update using SQL, it will not trigger the _compute_partner_share method, which will set the latest value. Other problems might arise for fields that are computed based on foreign keys updated using SQL during a merge. Steps to reproduce: In a new database, create a basic contact (individual, with name and email). Merge this contact with another contact who has document access (e.g., Marc Demo). Go to any product page. Add a log note and tag the new contact. The contact will receive an email without the "View product" button. opw-3864317 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175966
### Steps to reproduce: - Go to Inventory > Configutation > Products > Barcode Nomenclatures - Click on Default Nomenclature > Add a line with the invalid barcode Pattern: "****" and put that one on the top of the list - Open a POS session > click on the list icon on the right corner - Debug window > enter any barcode and scan #### > Odoo Error: Invalid regular expression "****" ### Cause of the issue: The pattern field of the barcode.rule model that we created does not lead to a
Original PR description
### Steps to reproduce: - Go to Inventory > Configutation > Products > Barcode Nomenclatures - Click on Default Nomenclature > Add a line with the invalid barcode Pattern: "****" and put that one on the top of the list - Open a POS session > click on the list icon on the right corner - Debug window > enter any barcode and scan #### > Odoo Error: Invalid regular expression "****" ### Cause of the issue: The pattern field of the barcode.rule model that we created does not lead to a valid regular expression but is used as such by the String.match calls done in the "barcode_parser": https://github.com/odoo/odoo/blob/28871371c39bcc164e167842cf7212ce05f49a51/addons/barcodes/static/src/js/barcode_parser.js#L124-L130 opw-4100030 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#178096
The position of the records button was set to absolute with top: 0 and right: 0, which caused it to always hide the text and/or button of the selection (all/any). The fix applied is to show it in the same position as in version 17.0 (at the bottom of the conditions) Steps to reproduce: - Switch to French - Go to data cleaning - model data_merge.model - Edit the domain by adding one other condition - Try to switch between ALL and ANY for the conditions opw-3890382 --- I conf
Original PR description
The position of the records button was set to absolute with top: 0 and right: 0, which caused it to always hide the text and/or button of the selection (all/any). The fix applied is to show it in the same position as in version 17.0 (at the bottom of the conditions) Steps to reproduce: - Switch to French - Go to data cleaning - model data_merge.model - Edit the domain by adding one other condition - Try to switch between ALL and ANY for the conditions opw-3890382 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175031
If we have two bills with the same bill ref and two different partner, one with NIF and the other without it, the schedule action to process SII response might fail since the code expect a NIF in the SII response when there is not (bill with partner without NIF). Technical example: ```py >>> partner_info # Candidate invoice in odoo {'IDOtro': {'ID': 'NO_DISPONIBLE', 'IDType': '06', 'CodigoPais': 'ES'}} >>> respl_partner_info # SII response {'NIF': '12345678K', 'IDOtro': None} ``` This
Original PR description
If we have two bills with the same bill ref and two different partner, one with NIF and the other without it, the schedule action to process SII response might fail since the code expect a NIF in the…
If we have two bills with the same bill ref and two different partner, one with NIF and the other without it, the schedule action to process SII response might fail since the code expect a NIF in the SII response when there is not (bill with partner without NIF).
Technical example:
```py
>>> partner_info # Candidate invoice in odoo
{'IDOtro': {'ID': 'NO_DISPONIBLE', 'IDType': '06', 'CodigoPais': 'ES'}}
>>> respl_partner_info # SII response
{'NIF': '12345678K', 'IDOtro': None}
```
This causes a rollback and no bills at all are processed in Odoo's side.
Steps to reproduce:
1/ Create a l10n_es company with l10n_es_edi_sii in test mode
2/ Create a bill with a bill reference 10001, some lines (ex: negative lines)
that will trigger an error from SII and a partner with a NIF
3/ Copy the partner and remove the NIF
4/ Copy the first bill, keep the same bill reference and change the partner to
copied one
5/ Post both bills
6/ Trigger the schedule action "EDI : Perform web services operations" => Traceback with
ValueError: <class 'AttributeError'>: "'NoneType' object has no attribute 'ID'" while evaluating
Now, a default value is set when the key is not found in respl_partner_info.IDOtro .
opw-4102638
Forward-Port-Of: odoo/odoo#177902### Steps to reproduce: - In the settings in Barcode scanner use Default GS1 nomenclature - Create a storable product tracked by lot - Register a lot with 1 unit and lot_name: 10032324016 - Go to the barcode app > Inventory adjustment > scan: 1010032324016 ### Expected result: Using the gs1 nomenclature this should look for a lot with lot_name 10032324016 ### Actual result: "You are expected to scan one or more products" ### Cause of the issue: Since commit af5d56f, the l
Original PR description
### Steps to reproduce: - In the settings in Barcode scanner use Default GS1 nomenclature - Create a storable product tracked by lot - Register a lot with 1 unit and lot_name: 10032324016 - Go to the…
### Steps to reproduce: - In the settings in Barcode scanner use Default GS1 nomenclature - Create a storable product tracked by lot - Register a lot with 1 unit and lot_name: 10032324016 - Go to the barcode app > Inventory adjustment > scan: 1010032324016 ### Expected result: Using the gs1 nomenclature this should look for a lot with lot_name 10032324016 ### Actual result: "You are expected to scan one or more products" ### Cause of the issue: Since commit af5d56f, the lot of the result of the "_parseBarcode" is only set if there is a product rule: https://github.com/odoo/enterprise/blob/6dc662dfca8e1d277df19aa377bcdc761f7e7bf3/stock_barcode/static/src/models/barcode_model.js#L965-L979 Hence the parser will only return a lot_name rather than a lot even though a lot was found. Note that prior to this change it associated a lot as soon as `this.useExistingLots` was truthy. ### Note: The issue is not reproducible from 17.0 onwards since this part of the code was refactored. opw-4124016 Forward-Port-Of: odoo/enterprise#69302 Forward-Port-Of: odoo/enterprise#69119