Daily updates from Odoo
Navigate
Branch
Wednesday, December 20, 2023
26 changes
14 changes
Enhancements to existing features
This update refines how Discuss channels are folded or expanded in Odoo Enterprise. It helps keep the messaging interface behavior consistent and easier to use, with added test coverage to prevent regressions.
Original PR description
follow-up of https://github.com/odoo/odoo/pull/145905 community: https://github.com/odoo/odoo/pull/146674
The WhatsApp button in the chatter is now hidden when no approved templates are available for the current document type, reducing confusing dead-end actions for users. Administrators still see the button so they can create or configure templates, with setup opening directly filtered to the relevant model.
Original PR description
**PURPOSE:** If there are no approved templates for the model then the `WhatsApp` button will just be noise as it will return a `ValidationError`. **SPECIFICATIONS:** - Do not display the button if no approved templates for the model - Button should be always visible to admin users as they can create templates. - After clicking on `Configure Templates` button in the warning popup the `Whatsapp Templates` should be opened with a filter for the current model. task-[3497496](https://www.odoo.com/web#id=3497496&cids=2&menu_id=4720&model=project.task&view_type=form)
The salary offer process now checks whether an applicant or employee has an email address before sending an offer. This prevents failed or confusing offer-sending attempts by showing a clear error when contact details are missing.
Original PR description
Steps To Reproduce: --------------- 1. Install Salary Configurator 2. Go to Recruitment 3. Create an applicant 4. Make the email field empty 5. Go to Generate Offer 6. No validation is shown for an empty email I made the following modifications in this commit. --------------------- If the applicant's or employee's email is unavailable, an error message will be displayed when sending the offer to them. task-3431995
Swiss payroll now shows only the relevant marital status options for the employee's localization instead of combining options from multiple localizations. This keeps employee records clearer and reduces the chance of selecting an incorrect status.
Original PR description
We've now moved the selection options within a dedicated function. This ensures that with each new localization, only the default options plus the options specific to that localization are displayed, preventing the accumulation of all options on top of each other. Task-3478191 related PR on odoo: https://github.com/odoo/odoo/pull/133999
The appraisal list now shows each employee's department and groups records by department by default. This makes it easier for managers and HR teams to review appraisals by organizational area without extra setup.
Original PR description
In this PR, - Added department field on an appraisal to start list view - Set Department as the default filter task-3541390
Resolved issues and error corrections
Belgian payroll now applies benefits in kind to the first paid payslip in a period, rather than the first payslip overall. This prevents benefits from being assigned to a fully unpaid payslip and helps avoid incorrect payroll treatment when multiple payslips exist for the same period.
Original PR description
Purpose ======= Currently if there is several payslips on the same period, the BIK are applied on the first payslip to avoid double imposition. The issue is when the first payslip is fully unpaid (credit time, unpredictable reasons, ...). Specification ============= Apply the BIK on the first paid payslip instead. task : 3519721
Features or functions removed from Odoo
Accounting settings no longer show Taxcloud because the service is deprecated. Avalara AvaTax is also hidden from general settings because it is now installed automatically where relevant, reducing setup clutter for most users.
Original PR description
The accounting settings no longer have Taxcloud or Avatax. Taxcloud was removed because it's deprecated. Avatax was removed because accounting now auto-installs Avatax in the appropriate countries during installation, so users will rarely need to install it manually. We keep the setting_account_avatax field to keep the settings screen clean for users who don't use Avatax. task-3516826 [1] https://github.com/odoo/odoo/commit/70329177713131d3d6ec424137cad3702e9d38ae
Miscellaneous changes
Recent changes in how the ORM works in 17.0 have made it so when computing `allowed_parent_ids`, the <activity.campaign> record of the new activity is a NewID record instead of a regular record in prior versions. Additionally this seems to lead to the campaign not being aware of its stored `marketing_activity_ids`, which means they cannot be added to `allowed_parent_ids` which means they are then filtered out by the domain in the form view of activities. A temporary solution is to use th
Original PR description
Recent changes in how the ORM works in 17.0 have made it so when computing `allowed_parent_ids`, the <activity.campaign> record of the new activity is a NewID record instead of a regular record in prior versions. Additionally this seems to lead to the campaign not being aware of its stored `marketing_activity_ids`, which means they cannot be added to `allowed_parent_ids` which means they are then filtered out by the domain in the form view of activities. A temporary solution is to use the property `_origin` to force the ORM to use the current record instead of what it believes is the new one. task-3643719 Forward-Port-Of: odoo/enterprise#52957
Some error message parameters were missing for the `move_to` operation, preventing the user from seeing the article name related to the erroneous operation. task-3640010 Forward-Port-Of: odoo/enterprise#52979 Forward-Port-Of: odoo/enterprise#52761
Original PR description
Some error message parameters were missing for the `move_to` operation, preventing the user from seeing the article name related to the erroneous operation. task-3640010 Forward-Port-Of: odoo/enterprise#52979 Forward-Port-Of: odoo/enterprise#52761
Steps: - Open timesheet - Click the start button - In the task field, enter the non-existing task name - Select 'Create and Edit' Issue: - If we haven't selected any project and directly try to create a new task, the project shown is 'Private'. Cause: - The newly created task doesn't belong to any project. The project id is not found. Fix: - Apply the 'task_with_hours' widget, so that if the project id is not found then it doesn't allow the user to create a new task. task-3378
Original PR description
Steps: - Open timesheet - Click the start button - In the task field, enter the non-existing task name - Select 'Create and Edit' Issue: - If we haven't selected any project and directly try to create a new task, the project shown is 'Private'. Cause: - The newly created task doesn't belong to any project. The project id is not found. Fix: - Apply the 'task_with_hours' widget, so that if the project id is not found then it doesn't allow the user to create a new task. task-3378532 Forward-Port-Of: odoo/enterprise#52495 Forward-Port-Of: odoo/enterprise#42971
https://github.com/odoo/enterprise/pull/52634 introduced the possibility to save the token of full payment on renewal. Since saas-16.3 the token must be retrieved with sudo. taskid: 3499685 Forward-Port-Of: odoo/enterprise#53049 Forward-Port-Of: odoo/enterprise#52939
Original PR description
https://github.com/odoo/enterprise/pull/52634 introduced the possibility to save the token of full payment on renewal. Since saas-16.3 the token must be retrieved with sudo. taskid: 3499685 Forward-Port-Of: odoo/enterprise#53049 Forward-Port-Of: odoo/enterprise#52939
Prior to this commit, if you try to invoice a new contact created in the PoS, but forgot to put his RUT, then you get an error and it gets stuck there "thinking". This commit adds the RUT number to the required fields in the chilean localization of the PoS, so that it is not possible to invoice without it. This commit also adapts the partner_editor override in the chilean and mexican localization to adapt it to the fix of the community branch. This fix makes it impossible for a user to mo
Original PR description
Prior to this commit, if you try to invoice a new contact created in the PoS, but forgot to put his RUT, then you get an error and it gets stuck there "thinking". This commit adds the RUT number to the required fields in the chilean localization of the PoS, so that it is not possible to invoice without it. This commit also adapts the partner_editor override in the chilean and mexican localization to adapt it to the fix of the community branch. This fix makes it impossible for a user to modify commercial fields of a child partner. task-id: 2810741 Forward-Port-Of: odoo/enterprise#52885 Forward-Port-Of: odoo/enterprise#52775
Before this PR, within the "Measures" button, We have provided both the "Average Rating" and the "Rating (/5)" as both of measures representing rating values. Therefore, we don't need "Average Rating" in the "Measures" dropdown menu any further. In this PR: removed the "Average Rating" field from the "Measures" dropdown menu. task-3475975 Forward-Port-Of: odoo/enterprise#46458
Original PR description
Before this PR, within the "Measures" button, We have provided both the "Average Rating" and the "Rating (/5)" as both of measures representing rating values. Therefore, we don't need "Average Rating" in the "Measures" dropdown menu any further. In this PR: removed the "Average Rating" field from the "Measures" dropdown menu. task-3475975 Forward-Port-Of: odoo/enterprise#46458
In this commit, we revert the below commit because l10n_hr_in_payroll is not dependent on hr_contract_salary module. commit-https://github.com/odoo/enterprise/pull/50365/commits/5588df97a956e5f83a4c4b7bc7d669c198ddbd40 task-3493469 Forward-Port-Of: odoo/enterprise#53067 Forward-Port-Of: odoo/enterprise#52938
Original PR description
In this commit, we revert the below commit because l10n_hr_in_payroll is not dependent on hr_contract_salary module. commit-https://github.com/odoo/enterprise/pull/50365/commits/5588df97a956e5f83a4c4b7bc7d669c198ddbd40 task-3493469 Forward-Port-Of: odoo/enterprise#53067 Forward-Port-Of: odoo/enterprise#52938
12 changes
Resolved issues and error corrections
This fix resolves an issue where timesheet entries would incorrectly display as negative values after validation when timesheets are recorded in days. Users will now see accurate timesheet data in the list view without unexpected negative entries appearing after they validate their daily timesheet submissions.
Original PR description
Before this commit: Whenever timesheets is encoded in days, after validating the timesheets if entries were changed then negative entries were encountered in list view. Following this commit negative entries are been avoided. task-3514426
Users were unable to edit tags or facets from the kanban search panel in Documents because the system was incorrectly opening the folder view instead of the appropriate tag or facet view. This fix ensures the correct form view is opened when editing tags and facets, restoring the expected functionality.
Original PR description
Steps: - go to documents - edit a tag or a facet from kanban search panel => error because we open the documents.folder view instead of documents.tag or documents.facet view This is happening since https://github.com/odoo/enterprise/commit/2254eb07fd42ec88341d9d7ac92f09a379c6fa55 Solution: if the model is not documents.folder, switch to default form view. note: without the fix, the added test fails by using the documents.folder view instead of using the default facet or tag one. note: thanks to https://github.com/odoo/enterprise/commit/49cf1bc7b49e697c5c099d1734b4bd7501828d28 in master form_view_ref can be removed completely, but we keep it in 17.0 for non-updated views. opw-[3615726](https://www.odoo.com/web#id=3615726&view_type=form&model=project.task) opw-[3610331](https://www.odoo.com/web#id=3610331&view_type=form&model=project.task)
This fix resolves an issue where marketing activities were incorrectly filtered out when creating new activities in a campaign. Due to changes in how Odoo 17.0 handles data records, the system wasn't properly recognizing existing activities in the campaign, preventing users from selecting them as parent activities. The fix ensures activities are now correctly displayed and available for selection.
Original PR description
Recent changes in how the ORM works in 17.0 have made it so when computing `allowed_parent_ids`, the <activity.campaign> record of the new activity is a NewID record instead of a regular record in prior versions. Additionally this seems to lead to the campaign not being aware of its stored `marketing_activity_ids`, which means they cannot be added to `allowed_parent_ids` which means they are then filtered out by the domain in the form view of activities. A temporary solution is to use the property `_origin` to force the ORM to use the current record instead of what it believes is the new one. task-3643719
This update resolves a technical issue in the subscription payment system that was preventing proper data serialization. The fix ensures that subscription orders and payment transactions process correctly without data handling errors, improving the reliability of recurring billing operations.
This update fixes three critical issues in the Web Studio report editor that were causing data loss and crashes. Reports now properly save multi-column layouts and other structural elements, prevent infinite loops when templates call themselves, and no longer accidentally remove existing content when adding new elements near inherited sections. These fixes ensure users can reliably design and edit reports without losing their work.
Original PR description
Forward-Port-Of: odoo/enterprise#52440
This fix resolves an issue where payment tokens were not being properly retrieved during subscription renewals. The system now correctly accesses payment information using the proper security permissions, ensuring that automatic renewal payments process smoothly without errors.
Original PR description
https://github.com/odoo/enterprise/pull/52634 introduced the possibility to save the token of full payment on renewal. Since saas-16.3 the token must be retrieved with sudo. taskid: 3499685 Forward-Port-Of: odoo/enterprise#52939
This fix improves error messages in the Knowledge module by displaying the article name when users encounter issues while moving articles. Previously, error messages were incomplete and didn't show which article caused the problem, making it harder for users to identify and resolve issues.
Original PR description
Some error message parameters were missing for the `move_to` operation, preventing the user from seeing the article name related to the erroneous operation. task-3640010 Forward-Port-Of: odoo/enterprise#52979 Forward-Port-Of: odoo/enterprise#52761
This update corrects how salary offers are displayed in the system. Previously, the offer display was showing the validity date, which was confusing. Now it correctly shows the creation date of the offer, making it clearer when the offer was actually created and sent to employees.
Original PR description
Currently, when sending an offer the display name of the offer uses the validity date of the offer instead of the create date. This commit fixes this as displaying the validity date does not make sense. task-3619108 Forward-Port-Of: odoo/enterprise#51959
This update fixes a data migration issue that occurs when upgrading Turkish accounting reports from version 16 to SaaS 16.3. The problem happens because a database constraint was introduced in version 16.2 that conflicts with existing data being migrated. The fix adds a missing field to the XML configuration file to ensure data migrates correctly without constraint violations.
Original PR description
This error occurs because in saas~16.1, the "account_report_tr_balance_sheet_data.xml" file was introduced. However, if I migrate the database from version 16 to saas~16.1, then this error does not…
This error occurs because in saas~16.1, the "account_report_tr_balance_sheet_data.xml" file was introduced. However, if I migrate the database from version 16 to saas~16.1, then this error does not occur. The reason is that when this file "account_report_tr_balance_sheet_data.xml" attempting to insert a value at that time, the "account_report_expression_line_label_uniq" constraint was not present, so it could be easily inserted. However, when I migrate the database from version 16 to saas~16.3, then this error occurs. This is because, during migration this file "account_report_tr_balance_sheet_data.xml" attempt to insert the value but at that time the "account_report_expression_line_label_uniq" constraint had already been introduced (this constraint is introduced under saas~16.2) because of that unique value error occur. This is for reference to understand the type of error occurring in the terminal For that, I have attached the link: [https://pad.odoo.com/p/1184596_BlockingRequest]. To resolve this issue, we need to add the "domain_formula" field in the XML file. I have described "domain_formula" above, and to substantiate that, I have provided a description of the corresponding table below. You can see that below...... Before Migration:- Account_report_expression:- 1184596_org_saak=> select id,report_line_id,label,engine,subformula,create_date,write_date from account_report_expression where id in (305,307,309); id | report_line_id | label | engine | subformula | create_date | write_date -----+----------------+---------+--------+------------+----------------------------+---------------------------- 305 | 277 | balance | domain | sum | 2023-08-14 21:02:03.609768 | 2023-08-14 21:02:03.609768 307 | 279 | balance | domain | sum | 2023-08-14 21:02:03.609768 | 2023-08-14 21:02:03.609768 309 | 281 | balance | domain | sum | 2023-08-14 21:02:03.609768 | 2023-08-14 21:02:03.609768 After Migration:- Account_report_expression:- 1184596_org_saak_saas~16.3=> select id,report_line_id,label,engine,subformula,create_date,write_date from account_report_expression where report_line_id in (277,279,281); id | report_line_id | label | engine | subformula | create_date | write_date -----+----------------+----------+---------------+------------------+----------------------------+---------------------------- 391 | 277 | accounts | account_codes | | 2023-12-20 08:39:40.144248 | 2023-12-20 08:39:40.144248 393 | 277 | balance | aggregation | if_above(TRY(0)) | 2023-12-20 08:39:40.144248 | 2023-12-20 08:39:40.144248 392 | 277 | earnings | domain | -sum | 2023-12-20 08:39:40.144248 | 2023-12-20 08:39:40.144248 394 | 279 | balance | aggregation | if_above(TRY(0)) | 2023-12-20 08:39:40.144248 | 2023-12-20 08:39:40.144248 396 | 281 | balance | aggregation | if_above(TRY(0)) | 2023-12-20 08:39:40.144248 | 2023-12-20 08:39:40.144248 395 | 281 | earnings | domain | -sum | 2023-12-20 08:39:40.144248 | 2023-12-20 08:39:40.144248 Without the fix, as you can observe in the "account_report_expression" table above, under the "Before migration" heading, the `create_date` is set to "2023-08-14 21:02:03.609768." With the fix implemented, you can notice that under the "After migration" heading, the `create_date` has changed to "2023-12-20 08:39:40.144248." This implies that the `domain_formula` creates a new record and unlinks records that are already present if conflicts arise.
This update removes an unnecessary dependency between the Indian payroll module and the salary contract module. The payroll system was incorrectly marked as dependent on the salary contract module, which has been corrected to ensure the modules can operate independently as intended.
Original PR description
In this commit, we revert the below commit because l10n_hr_in_payroll is not dependent on hr_contract_salary module. commit-https://github.com/odoo/enterprise/pull/50365/commits/5588df97a956e5f83a4c4b7bc7d669c198ddbd40 task-3493469 Forward-Port-Of: odoo/enterprise#53067 Forward-Port-Of: odoo/enterprise#52938
This update resolves an issue where the self-assignment button was appearing twice in the Planning schedule form. The fix removes unnecessary user group restrictions on the button and ensures it properly respects visibility settings, providing a cleaner user interface.
Original PR description
Before this PR, header button for self assigning display twice inside the planning.slot form view. In this PR, fixes the issue by removing user group access on the button. as well as button get invisible on 'invisible' attribute condition and ignore 'attrs' conditions. task-3475975 Forward-Port-Of: odoo/enterprise#46462
This update removes unwanted extra spacing that was appearing in warning messages displayed during barcode scanning operations. The issue was caused by formatting characters in the message text and has been corrected to improve the visual presentation of these important user notifications.
Original PR description
Extra spacing was appearing between two sentences in warning message. Steps to reproduce: ------------------- * Install 'barcode' * On barcode, close the blue message under 'Barcode Scanning' Why the fix: ------------ Since 16.0 the message is shown in 'white-space: pre-wrap style'. Character '\ ' was causing extra spacing. NOTE: ----- The fix doesn't brake translations. Translations weren't working prior to the fix anyway. opw-3608979 Forward-Port-Of: odoo/enterprise#52927 Forward-Port-Of: odoo/enterprise#52867