Thursday, February 23, 2023
20 changes
Enhancements to existing features
This change removes rarely used calculated task fields that were only shown in a small Gantt chart popover. By eliminating these costly calculations, project views can load more efficiently with minimal impact on day-to-day use.
Original PR description
**[IMP] project_enterprise: delete useless fields** In this commit: allocated_hours is only displayed in Gantt view popover. its calculation is costy and needs two additional other fields allocated_type and duration. Having 3 computed fields to display an information in a popver isn't really worth it -> delete the 3 fields task-3103701
The CRM view linked from a social media post no longer shows the "Generate Leads" button. This reduces confusion by removing an action that was not appropriate in that context, keeping the user experience more focused.
Original PR description
Remove the "generate leads" button from the crm view coming from a social post stat button. Task-3107232
When inserting grouped pivot data into a spreadsheet, the first row grouping field is now used as the row title. This makes spreadsheet output clearer and easier for users to understand without extra manual labeling.
Original PR description
With this revision, the label of the field of the first row groupby is inserted as the row title. There are some adaptations to the tests to take into account this new feature. Task-id 2901960
Resolved issues and error corrections
This update aligns Sign tests with a fix that prevents inactive users from being subscribed as followers. It helps ensure document-related notifications and follower lists only involve active users, reducing confusion and unwanted subscriptions.
Original PR description
Sign runs tests with root user which is inactive. However inactive users should never be added as followers, which is now fixed in community. This commit updates tests accordingly. Tests should probably user a real user, but trying to convert them lead to other issues in tests which require some cleaning, and which is outside the scope of this fix. Task-3046371 (Mail: Better Language Support in Composer)
Code cleanup and technical improvements
This update streamlines how field information is passed inside Odoo Enterprise components, reducing duplicated data handling. It is an internal cleanup that should make future maintenance easier without changing day-to-day user workflows.
Original PR description
This commit aims to simplify the extractProps api by removing "field". The Field will need to go into this.props.record.fields[this.props.fieldname] to access the information previously stored in the "field" parameter. Part of Task: 3179751
Miscellaneous changes
Steps to reproduce - install hr, hr_contract, hr_attendance, hr_work_entry_contract_attendance, hr_payroll; - create an employee; - create a contract for him with a work entry source equal to "Attendances"; - set the start date of the contract to January 1st; - change contract status to "Running"; - in the attendance app, create an attendance for this employee in January; - in the Payroll app, create a payslip for this employee for January --> there is no problem - in the attendance app,
Original PR description
Steps to reproduce - install hr, hr_contract, hr_attendance, hr_work_entry_contract_attendance, hr_payroll; - create an employee; - create a contract for him with a work entry source equal to…
Steps to reproduce
- install hr, hr_contract, hr_attendance, hr_work_entry_contract_attendance, hr_payroll;
- create an employee;
- create a contract for him with a work entry source equal to "Attendances";
- set the start date of the contract to January 1st;
- change contract status to "Running";
- in the attendance app, create an attendance for this employee in January;
- in the Payroll app, create a payslip for this employee for January --> there is no problem
- in the attendance app, create an attendance for this employee in February;
- in the Payroll app, create a payslip for this employee for February --> there is a problem
Issue:
`ValueError: time data '22 Feb 2023' does not match format '%d %b %Y'`
Illustration:
For January:
```console
> result['check_in:day']
> '22 Jan 2023'
> datetime.strptime(result['check_in:day'], '%d %b %Y').date()
> datetime.date(2023, 1, 22)
```
For February:
```console
> result['check_in:day']
> '22 Feb 2023'
> datetime.strptime(result['check_in:day'], '%d %b %Y').date()
> ... Traceback ...
```
An other test:
```console
> datetime.strptime('22 fév 2023', '%d %b %Y').date()
> datetime.date(2023, 2, 22)
```
Cause:
According to research, the problem seems to come from the language or local settings.
Solution:
Use `dateutil.parser.parser()` method to get the right date format.
opw-3182713
Forward-Port-Of: odoo/enterprise#37417Fixed an issue where a message in the contract signing workflow did not display correctly in the activity feed. This helps users see contract-related updates in a clear, properly formatted way.
Original PR description
Prior to the fix, the Markup was joined with a string and that's why it was not rendered properly. task - 3140639
This update reorganizes how several Odoo apps list the fields they depend on, using a simpler array format. It is an internal cleanup that should make future maintenance easier without changing day-to-day user workflows.
Original PR description
As with fieldsToFetch in commit 25bf5a3fabfa9da5367e82d1c5713425c77bc373, we will convert fieldDependencies into an array of fields. Part of task 3179751
The Belgian payroll integration for SD Worx has been separated into its own dedicated module. This makes payroll functionality easier to manage and install only where SD Worx export support is needed, without changing the core Belgian payroll features.
Original PR description
Move the SD Worx export functions to its own module. task-2929493
Before this commit, trying to export the partner VAT listing with load more active would generate a traceback. This occured when trying to retrieve the VAT number from the last report line since it is the "load more" line. The additional problem was that the remaining partners were simply omitted from the XML. The fix consists in setting the `print_mode` to `True` in the context before calling `_get_lines()` in order to ignore the `load_more` limit. task-3200219 Forward-Port-Of: odo
Original PR description
Before this commit, trying to export the partner VAT listing with load more active would generate a traceback. This occured when trying to retrieve the VAT number from the last report line since it is the "load more" line. The additional problem was that the remaining partners were simply omitted from the XML. The fix consists in setting the `print_mode` to `True` in the context before calling `_get_lines()` in order to ignore the `load_more` limit. task-3200219 Forward-Port-Of: odoo/enterprise#37428
Before this commit, when the change partner wizard was used on confirmed recurring orders, the following error occured: ``` File "/home/odoo/src/odoo/saas-16.1/addons/sale/models/sale_order.py", line 782, in action_confirm raise UserError(_( odoo.exceptions.UserError: It is not allowed to confirm an order in the following states: cancel, sale, done ``` This commit makes sure to confirm SO in draft and sent state. Forward-Port-Of: odoo/enterprise#37420
Original PR description
Before this commit, when the change partner wizard was used on confirmed
recurring orders, the following error occured:
```
File "/home/odoo/src/odoo/saas-16.1/addons/sale/models/sale_order.py", line 782, in action_confirm
raise UserError(_(
odoo.exceptions.UserError: It is not allowed to confirm an order in the following states: cancel, sale, done
```
This commit makes sure to confirm SO in draft and sent state.
Forward-Port-Of: odoo/enterprise#37420When loading a module, the code in the tests directories should not be loaded. One does not need freezegun on a server without running the tests. Forward-Port-Of: odoo/enterprise#37342
Original PR description
When loading a module, the code in the tests directories should not be loaded. One does not need freezegun on a server without running the tests. Forward-Port-Of: odoo/enterprise#37342
Since c3e4016c83ec9b1dd884bfd52d5ec0b982c2920f, product creation can be disabled through studio on Sales Order Lines. Nevertheless, in 16.0, the widget was renamed and the fix didn't work anymore. This commit makes sure the correct widget name is used and removes the ability to disable record opening, since the widget already relies on a customized behavior for the 'no_open' logic and it might not behave as expected if the option was modified through studio. opw-3144343 opw-3144319 Fo
Original PR description
Since c3e4016c83ec9b1dd884bfd52d5ec0b982c2920f, product creation can be disabled through studio on Sales Order Lines. Nevertheless, in 16.0, the widget was renamed and the fix didn't work anymore. This commit makes sure the correct widget name is used and removes the ability to disable record opening, since the widget already relies on a customized behavior for the 'no_open' logic and it might not behave as expected if the option was modified through studio. opw-3144343 opw-3144319 Forward-Port-Of: odoo/enterprise#37463
## Current behaviour If all the teams on the helpdesk app have sla_policy disabled, you have a stacktrace when trying to open the helpdesk app, if a ticket has been closed in the past 7 days. ## Expected behaviour Should be able to open the helpdesk dashboard, without having to check the sla_policy on one of the team. ## Steps to reproduce - Install Helpdesk - Remove the SLA Policies from all the teams in the Helpdesk - Try reopening the Helpdesk app, you get a stacktrace. ## Reaso
Original PR description
## Current behaviour
If all the teams on the helpdesk app have sla_policy disabled, you have a stacktrace when trying to open the helpdesk app, if a ticket has been closed in the past 7 days.
## Expected behaviour
Should be able to open the helpdesk dashboard, without having to check the sla_policy on one of the team.
## Steps to reproduce
- Install Helpdesk
- Remove the SLA Policies from all the teams in the Helpdesk
- Try reopening the Helpdesk app, you get a stacktrace.
## Reason for the problem
Key error on a result of a `read_group` of `sla_reached` and `sla_reached_late`, those are not present in the result if the option is not present on the teams.
## Fix
Replace the dictionary indexing (`['key']`) with a `get('key', False)`.
## Affected versions
- saas-15.2
- 16.0
- saas-16.1
- master
---
opw-3169337
Forward-Port-Of: odoo/enterprise#37107After https://github.com/odoo/enterprise/pull/22813, the copy method of sign.template was overwritten to add a custom name to the template in case no name was given in the copy call. As the use layout wizard uses the copy method and wasn't passing a name explicitly, the name of the new template would be set wrong. This commit fixes this by adding the name set in the attachment to prevent the copy method of setting the wrong name. task-3119880 Forward-Port-Of: odoo/enterprise#35418
Original PR description
After https://github.com/odoo/enterprise/pull/22813, the copy method of sign.template was overwritten to add a custom name to the template in case no name was given in the copy call. As the use layout wizard uses the copy method and wasn't passing a name explicitly, the name of the new template would be set wrong. This commit fixes this by adding the name set in the attachment to prevent the copy method of setting the wrong name. task-3119880 Forward-Port-Of: odoo/enterprise#35418
…in tests impacted versions: 16.0+ issue: Accessing external URLs during a test will fail when those URLs are down, failing the test for the wrong reasons. fix: Remove external URLs from 2 existing tests. Task-3199669 Forward-Port-Of: odoo/enterprise#37344
Original PR description
…in tests impacted versions: 16.0+ issue: Accessing external URLs during a test will fail when those URLs are down, failing the test for the wrong reasons. fix: Remove external URLs from 2 existing tests. Task-3199669 Forward-Port-Of: odoo/enterprise#37344
If we keep the data in noupdate=0 each time we update the module (like in an upgrade 14->15 for example) we recompute many fields due to the write done by the load. It has been observed that even if the write doesn't change anything in the DB the computation could cause MemoryError or maximum recursion depth exceed. Forward-Port-Of: odoo/enterprise#37401 Forward-Port-Of: odoo/enterprise#36592
Original PR description
If we keep the data in noupdate=0 each time we update the module (like in an upgrade 14->15 for example) we recompute many fields due to the write done by the load. It has been observed that even if the write doesn't change anything in the DB the computation could cause MemoryError or maximum recursion depth exceed. Forward-Port-Of: odoo/enterprise#37401 Forward-Port-Of: odoo/enterprise#36592
before this commit, the license given for module l10n_bo_reports is LGPL-3 after this commit, the license will be updated to OEEL-1 Forward-Port-Of: odoo/enterprise#37307
Original PR description
before this commit, the license given for module l10n_bo_reports is LGPL-3 after this commit, the license will be updated to OEEL-1 Forward-Port-Of: odoo/enterprise#37307
task - 3138157 Change pronouns from He/She to They/Them Forward-Port-Of: odoo/enterprise#36854
Original PR description
task - 3138157 Change pronouns from He/She to They/Them Forward-Port-Of: odoo/enterprise#36854
Purpose: - 1. Previously, clicking on the toggle favorite button while on a readonly article threw an access error. This happened because we tried to update the record while not having write access on it. Now, the toggle button uses the `action_toggle_favorite` method of the knowledge article model instead. 2. Previously, a user could not move a readonly article in the favorite tree. This commit reintroduces the fix done in [1] that has been removed in [2]. [1]: https://github.com/odo
Original PR description
Purpose: - 1. Previously, clicking on the toggle favorite button while on a readonly article threw an access error. This happened because we tried to update the record while not having write access on it. Now, the toggle button uses the `action_toggle_favorite` method of the knowledge article model instead. 2. Previously, a user could not move a readonly article in the favorite tree. This commit reintroduces the fix done in [1] that has been removed in [2]. [1]: https://github.com/odoo/enterprise/commit/d23b3957addae81789809dcb73e41137ba43a65a [2]: https://github.com/odoo/enterprise/commit/ccad94e8e1f6f4ff9a8f1d7a57c4cd4098f35a15 Task-3175460 Forward-Port-Of: odoo/enterprise#36814