Wednesday, June 5, 2024
23 changes · master
Enhancements to existing features
Task-related time fields in the Project Gantt view are now shown only to users with timesheet access. This keeps sensitive or role-specific time planning information out of view for users who do not need it.
Original PR description
After this commit, time fields (e.g. allocated_hours, ...) related to tasks in the Project module are only visible if the user has the "hr_timesheet.group_hr_timesheet_user" group. task-3815771
The follow-up reminder wizard layout has been streamlined to make email, SMS, and postal mail options easier to review and select. This improves usability for staff preparing customer payment follow-ups by reducing visual clutter and aligning related messages with their checkboxes.
Original PR description
In this commit, we will do multiple modifications to improve the display of the followup wizard. The following changes has been done: - Remove the title "Actions" - Made the checkbox on the same line - Moving the group for the sms below the things about the email - Using classes instead of inline style - Putting the snailmail message next to the according checkbox and not in a group below. task:3931191
This update strengthens the internal checks behind spreadsheet global filters, helping reduce future errors when filters are edited or maintained. The change is mostly technical and should not alter day-to-day behavior for users, but it improves long-term stability of spreadsheet filtering.
Original PR description
This commit fixes & improves the typing of the global filter related files, and enable type checking on the files. Note that some files are still in red for typing issues: - in the business code, it's mostly due to wrong typing of LazyTranslatedString - in the tests, the import of legacy files isn't resolving properly. Task: [3948130](https://www.odoo.com/web#id=3948130&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
The VoIP softphone error message is now centered and easier to read. Its styling has also been adjusted for dark mode, giving users a cleaner and more consistent experience when errors appear.
Original PR description
Prior to this commit, the VoIP error text was not properly centered within the overlay div, and had background color issues in dark mode. This commit restructures the code for improved maintainability, centers the error text, updates a few classes, and adapts the design for dark mode.. task-3539670 | Master | This PR | |--------|--------| | <img alt="image" src="https://github.com/odoo/enterprise/assets/80678921/c9af3455-7562-40ec-af78-ac6c98a384bd"> | <img alt="image" src="https://github.com/odoo/enterprise/assets/80678921/119ccd03-9b80-424d-894e-847264678143"> | <details> <summary>Dark Mode</summary> | Master | This PR | |--------|--------| | <img alt="image" src="https://github.com/odoo/enterprise/assets/80678921/f83bc318-5fe0-4d52-ab2c-029875eead79"> | <img alt="image" src="https://github.com/odoo/enterprise/assets/80678921/0b56d874-5bd0-4ddc-84ab-5b66e6f85cea"> | </details>
Features or functions removed from Odoo
The Belgian payroll double pay recovery wizard has been simplified by removing a field that was populated but never actually used. This reduces unnecessary internal complexity without changing how users work with the wizard.
Original PR description
In the double pay recovery wizard, there is a field 'classic_holiday_pay' which is never used. Its value is set but never read. Task: 3932947
Code cleanup and technical improvements
This internal cleanup prepares Odoo's guided test tours for a clearer default behavior. It reduces ambiguity in automated test steps, helping future updates be safer and easier to maintain without changing day-to-day user workflows.
Original PR description
Miscellaneous changes
In the balance sheet and Profit & Loss reports, we allow users to audit the General Ledger of a specific account if we want to look at the details of that account for the period of the report. When clicking on the link of the audit, it works well for small db, but if the account is low in the list, you don't even see it. This commit adds a default filter on the report. task-3839845 Forward-Port-Of: odoo/enterprise#63775 Forward-Port-Of: odoo/enterprise#60827
Original PR description
In the balance sheet and Profit & Loss reports, we allow users to audit the General Ledger of a specific account if we want to look at the details of that account for the period of the report. When clicking on the link of the audit, it works well for small db, but if the account is low in the list, you don't even see it. This commit adds a default filter on the report. task-3839845 Forward-Port-Of: odoo/enterprise#63775 Forward-Port-Of: odoo/enterprise#60827
Currently, in tour_compiler, to check that an element is actually present in the DOM in a step, there are 2 possibilities. - `isCheck: true` => Checks that the element is in the DOM. The latter can…
Currently, in tour_compiler, to check that an element is actually present in the DOM in a step, there are 2 possibilities.
- `isCheck: true` => Checks that the element is in the DOM. The latter can be disabled.
- `run() {}` => Checks that the element is in the DOM (because this is what is done by default). However, if the element is disabled, the step will be aborted.
In the codebase, we can see a lot of `run() {} //it's a check` and `isCheck:true`. However, the behavior is not exactly the same. What's more, there are 2 ways to do "the same thing". In order to clarify the turns API, it was decided to no longer put an action (step.run) by default. (Previously, the default action was the "click" action).
From then on, it is no longer necessary to stipulate `step.isCheck: true` nor `run() {}`.
The corollary is that now, you must explicitly write `run: click`, if you want the click action to be triggered on the target.
This commit sets the stage for making this change.
https://github.com/odoo/odoo/pull/167743users were getting a traceback from the sdk when credentials were incorrect AttributeError: 'Response' object has no attribute '_dom' opw-3873151 Forward-Port-Of: odoo/enterprise#63735 Forward-Port-Of: odoo/enterprise#62049
Original PR description
users were getting a traceback from the sdk when credentials were incorrect AttributeError: 'Response' object has no attribute '_dom' opw-3873151 Forward-Port-Of: odoo/enterprise#63735 Forward-Port-Of: odoo/enterprise#62049
Currently, an error occurs when installing a 'l10n_ec_edi' module. Step to produce: - Create a company and set its country 'Ecuador'. - And install the 'l10n_ec_edi' module. ```ValueError: External ID not found in the system: account.1_ec_sale_withhold_tax_base``` An error occurs when the system tries to retrieve a 'Sales Tax Base Account' through account view id at [1], but the view id is not available. To handle this issue, add 'raise_if_not_found=False' so that if the external
Original PR description
Currently, an error occurs when installing a 'l10n_ec_edi' module. Step to produce: - Create a company and set its country 'Ecuador'. - And install the 'l10n_ec_edi' module. ```ValueError: External ID not found in the system: account.1_ec_sale_withhold_tax_base``` An error occurs when the system tries to retrieve a 'Sales Tax Base Account' through account view id at [1], but the view id is not available. To handle this issue, add 'raise_if_not_found=False' so that if the external id of view is not found, the 'Sales Tax Base Account' will get an empty record. sentry-5183479269 Forward-Port-Of: odoo/enterprise#62700
Followup to refactoring that removed the product type=product (i.e. storable). Remove some leftover references to it. Forward-Port-Of: odoo/enterprise#63612
Original PR description
Followup to refactoring that removed the product type=product (i.e. storable). Remove some leftover references to it. Forward-Port-Of: odoo/enterprise#63612
Access with User having Accounting permissions Open a posted invoice Click 'Reset to draft' Delete the draft invoice Issue: Access Error will raise """ This operation is allowed for the following groups: - Payroll/Officer : Manage all contracts Contact your administrator to request access if necessary. """ Accounting user should be able to unlink the draft without having payroll permissions opw-3932705 Forward-Port-Of: odoo/enterprise#63262
Original PR description
Access with User having Accounting permissions Open a posted invoice Click 'Reset to draft' Delete the draft invoice Issue: Access Error will raise """ This operation is allowed for the following groups: - Payroll/Officer : Manage all contracts Contact your administrator to request access if necessary. """ Accounting user should be able to unlink the draft without having payroll permissions opw-3932705 Forward-Port-Of: odoo/enterprise#63262
Before this commit, when sending an invoice to the AFIP and that the result was accepted, it was still possible to reset the invoice the draft which caused discrepancies between the data in Odoo and the data that has already been sent to AFIP. This button to reset to draft is enabled for all users in Accounting. After an invoice is sent and validated, we cannot edit them. task-3955111 Forward-Port-Of: odoo/enterprise#63407
Original PR description
Before this commit, when sending an invoice to the AFIP and that the result was accepted, it was still possible to reset the invoice the draft which caused discrepancies between the data in Odoo and the data that has already been sent to AFIP. This button to reset to draft is enabled for all users in Accounting. After an invoice is sent and validated, we cannot edit them. task-3955111 Forward-Port-Of: odoo/enterprise#63407
Forward-Port-Of: odoo/enterprise#63578
Original PR description
Forward-Port-Of: odoo/enterprise#63578
also modified: test_marketing_automation Previously, campaign templates could not be used by non-admin users. This commit allows non-admin users with access to the marketing_automation app to create campaigns from templates as expected. task-3603400 Backport of: odoo@8fcdb85f0c4279c6a16c26aa669496cf456f0631 Forward-Port-Of: odoo/enterprise#63155
Original PR description
also modified: test_marketing_automation Previously, campaign templates could not be used by non-admin users. This commit allows non-admin users with access to the marketing_automation app to create campaigns from templates as expected. task-3603400 Backport of: odoo@8fcdb85f0c4279c6a16c26aa669496cf456f0631 Forward-Port-Of: odoo/enterprise#63155
Steps to reproduce: - share a workspace with more than one document and a spreadsheet - open the sharing link,(make sure you are login as internal user) - from the sharing portal page, click on the spreadsheet title to open the spreadsheet => access right error Task: 3897719 Forward-Port-Of: odoo/enterprise#63256
Original PR description
Steps to reproduce: - share a workspace with more than one document and a spreadsheet - open the sharing link,(make sure you are login as internal user) - from the sharing portal page, click on the spreadsheet title to open the spreadsheet => access right error Task: 3897719 Forward-Port-Of: odoo/enterprise#63256
If we upload a Soda and an account is not mapped, we'll fall back on the Suspense Account. However, when modifying the entry line with the Suspense Account, the general Soda Mapping is not updated. For UX reasons, we should update the general Soda Mapping too so that the user doesn't have to modify it twice. However, we shouldn't do the reverse. I.e. when modifying the general Soda Mapping, we shouldn't modify the existing entries. taks-id: 3954585 Forward-Port-Of: odoo/enterprise#6
Original PR description
If we upload a Soda and an account is not mapped, we'll fall back on the Suspense Account. However, when modifying the entry line with the Suspense Account, the general Soda Mapping is not updated. For UX reasons, we should update the general Soda Mapping too so that the user doesn't have to modify it twice. However, we shouldn't do the reverse. I.e. when modifying the general Soda Mapping, we shouldn't modify the existing entries. taks-id: 3954585 Forward-Port-Of: odoo/enterprise#63691 Forward-Port-Of: odoo/enterprise#63356
Some of the records had their `groupby` set to `account_id` in previous versions That field was removed from the data file and new expressions were added. This means that the records which already have `groupby` set won't get that field updated during an upgrade, and will trigger [an error](https://github.com/odoo/odoo/blob/17.0/addons/account/models/account_report.py#L571-L578). By explicitly removing the value from the field, we ensure the field will be emptied. The change in the data fi
Original PR description
Some of the records had their `groupby` set to `account_id` in previous versions That field was removed from the data file and new expressions were added. This means that the records which already…
Some of the records had their `groupby` set to `account_id` in previous versions That field was removed from the data file and new expressions were added. This means that the records which already have `groupby` set won't get that field updated during an upgrade, and will trigger [an error](https://github.com/odoo/odoo/blob/17.0/addons/account/models/account_report.py#L571-L578). By explicitly removing the value from the field, we ensure the field will be emptied. The change in the data files comes from: https://github.com/odoo/enterprise/pull/52603 ``` odoo.tools.convert.ParseError: while parsing /home/odoo/src/enterprise/17.0/l10n_ro_reports/data/balance_sheet_short.xml:3 Groupby feature isn't supported by aggregation engine. Please remove the groupby value on 'SOLDE C | 43' ``` Note: The original change to the data file happened in saas~16.1. Given that it's not possible to upgrade to intermediate versions any more and there's no issue in standard, the PR targets 17.0. Forward-Port-Of: odoo/enterprise#62421
This commit fixes an issue with the Knowledge Article Thread notifications where the user would be redirected to the technical view instead of the Article's view. To fix this, the threadActionsRegistry has been updated for the `expand-form` action so that if the thread model is a `knowledge.article.thread`, it will redirect the user to the corresponding article. task-3904795 Forward-Port-Of: odoo/enterprise#63779 Forward-Port-Of: odoo/enterprise#62024
Original PR description
This commit fixes an issue with the Knowledge Article Thread notifications where the user would be redirected to the technical view instead of the Article's view. To fix this, the threadActionsRegistry has been updated for the `expand-form` action so that if the thread model is a `knowledge.article.thread`, it will redirect the user to the corresponding article. task-3904795 Forward-Port-Of: odoo/enterprise#63779 Forward-Port-Of: odoo/enterprise#62024
In order to see all the resulting pages on the saas databases, we publish them by default. Also fixes a bug which would throw an error when menus had the same name. Forward-Port-Of: odoo/enterprise#63795
Original PR description
In order to see all the resulting pages on the saas databases, we publish them by default. Also fixes a bug which would throw an error when menus had the same name. Forward-Port-Of: odoo/enterprise#63795
There were translations such as "1. Gross profit/gross loss", which were translated to "1. Annoncering og reklame" That translation does not match and we have therefore identified the ones that were off and updated them Forward-Port-Of: odoo/enterprise#63564
Original PR description
There were translations such as "1. Gross profit/gross loss", which were translated to "1. Annoncering og reklame" That translation does not match and we have therefore identified the ones that were off and updated them Forward-Port-Of: odoo/enterprise#63564
When using the 'Find missing transactions' from account_online_synchronization module, the `transaction_details` field gets encapsulated in `<p></p>` HTML tags This is caused by that field being declared as a HTML field in the transient model `account.bank.statement.line.transient`, but then as a JSON field in the `account.bank.statement.line` model. That encapsulation causes Python JSON decoder to fail to decode from `transaction_details` when called in `_format_transaction_details()
Original PR description
When using the 'Find missing transactions' from account_online_synchronization module, the `transaction_details` field gets encapsulated in `<p></p>` HTML tags This is caused by that field being declared as a HTML field in the transient model `account.bank.statement.line.transient`, but then as a JSON field in the `account.bank.statement.line` model. That encapsulation causes Python JSON decoder to fail to decode from `transaction_details` when called in `_format_transaction_details()` in the bank reconciliation widget, resulting in a traceback Removing the HTML tags after the call to `read()` in the transient model allows the field to be correctly decoded. opw-3783078 opw-3773454 opw-3772561 and more.
[FIX] account_reports: adapt pil usage for ubuntu noble The `getsize` method on a FreeTypeFont object was deprecated [0] in Pillow 9.2.0. Ubuntu Noble provides Pillow 10.2.0. They advise to use `getbbox` which is already available in Pillow 9.0.1 provided by Ubuntu Jammy. See: https://pillow.readthedocs.io/en/stable/releasenotes/9.2.0.html#font-size-and-offset-methods [FIX] account_report: adapt xlsxwriter usage for ubuntu noble The `col_sizes` attribute
Original PR description
[FIX] account_reports: adapt pil usage for ubuntu noble The `getsize` method on a FreeTypeFont object was deprecated [0] in Pillow 9.2.0. Ubuntu Noble provides Pillow 10.2.0. They advise to use…
[FIX] account_reports: adapt pil usage for ubuntu noble
The `getsize` method on a FreeTypeFont object was deprecated [0] in Pillow
9.2.0. Ubuntu Noble provides Pillow 10.2.0. They advise to use `getbbox`
which is already available in Pillow 9.0.1 provided by Ubuntu Jammy.
See: https://pillow.readthedocs.io/en/stable/releasenotes/9.2.0.html#font-size-and-offset-methods
[FIX] account_report: adapt xlsxwriter usage for ubuntu noble
The `col_sizes` attribute on an worksheet was removed in xlsxwriter
version 3.0.6 [0]. Ubuntu Noble provides xlsxwriter 3.1.9.
The xlsxwriter author advises [1] to use the `col_info` attribute
instead, but this attribute appeared in 3.0.6 too (rename of `colinfo`).
With this commit, the version is checked in order to use the right
attribute.
See: jmcnamara/XlsxWriter@860f4a2404549aca1eccf9bf8361df95dc574f44
and jmcnamara/XlsxWriter#937
Forward-Port-Of: odoo/enterprise#63762
Forward-Port-Of: odoo/enterprise#63515The tariff fraction catalog has been updated on April 2024: https://www.snice.gob.mx/cs/avi/snice/ligie.info22.mod24.html opw-3921546 Forward-Port-Of: odoo/enterprise#63730 Forward-Port-Of: odoo/enterprise#62638
Original PR description
The tariff fraction catalog has been updated on April 2024: https://www.snice.gob.mx/cs/avi/snice/ligie.info22.mod24.html opw-3921546 Forward-Port-Of: odoo/enterprise#63730 Forward-Port-Of: odoo/enterprise#62638