Tuesday, February 4, 2025
44 changes · master
Enhancements to existing features
This update improves internal test reliability for Belgian payroll accounting by enabling real-time communication support during automated checks. It helps ensure payroll accounting features are validated more consistently before release, with no direct change for end users.
Original PR description
task-3970199
The Studio app's automated tests have been converted from an older test system to the newer HOOT framework. This improves maintainability and helps ensure Studio features like app creation, navigation, menus, icons, and action editing continue to work reliably.
Original PR description
Conversion of all legacy studio tests to HOOT
This update removes outdated internal helper code used by Documents tests. It helps keep the Documents app easier to maintain and reduces future technical risk without changing day-to-day user workflows.
Original PR description
part of task-3818666 community: https://github.com/odoo/odoo/pull/196010
The refund action on employee payslips is now shown only after a payslip has been marked as paid. This helps prevent refunds from being started too early and keeps payroll actions aligned with the actual payment status.
Original PR description
- make refund btn visible only when the payslip is in `paid` state instead of `done or paid` Task: 4452180
Changes to the Employee and Manager fields on appraisal goals are now recorded in the chatter. This improves transparency and makes it easier to review who changed key appraisal ownership details.
Original PR description
Purpose: - Employees with basic rights can modify the Employee and Manager fields on the Appraisal Goals form. Therefore, it’s better to track these changes in the chatter for better transparency. This PR includes the following updates: - Any changes to Employee and Manager fields are now visible in the chatter for better visibility and auditing. Task - 4488582
Payslip generation emails are now sent only when the Human Resources option is selected in document settings. This helps ensure employees receive payslip emails only when the company has configured HR documents for that workflow.
Original PR description
In this Pr, emails for payslip generation will only be sent to employees if 'Human Resources' is selected in the document settings Task-4338046
Code cleanup and technical improvements
This update standardizes how the system reads country-specific sections of IBAN bank account numbers. It makes payment-related code easier to maintain and reduces the chance of future mistakes when handling bank data for ISO 20022, UK BACS, and Italian Ri.Ba. payments.
Original PR description
Factoring out a standard method of identifying parts of the IBAN depending on the country, making it easier to read and understand instead of slicing the IBAN with magic numbers Community PR: odoo/odoo#189288
Miscellaneous changes
Change an f-string into an sql.identifier for injection prevention Forward-Port-Of: odoo/enterprise#77956
Original PR description
Change an f-string into an sql.identifier for injection prevention Forward-Port-Of: odoo/enterprise#77956
From version 18.0, the closing should work fine and there's no need to hide the closing button anymore. This reverts commit cf86ce0e0c7c47336446da5b335cbc53b7602fcd. Forward-Port-Of: odoo/enterprise#77906
Original PR description
From version 18.0, the closing should work fine and there's no need to hide the closing button anymore. This reverts commit cf86ce0e0c7c47336446da5b335cbc53b7602fcd. Forward-Port-Of: odoo/enterprise#77906
[This commit][1] changed the Sign action helper to onboard users. However, in doing so the text was put inside conditional `t-esc` attributes, causing it to not be translatable. This change fixes that by properly using text nodes. [1]: https://github.com/odoo/enterprise/commit/a5fc0b098c4a4b61d7ce7fd87180ed32dcb1f6f5 [opw-4421055](https://www.odoo.com/odoo/project.task/4421055) Forward-Port-Of: odoo/enterprise#78147
Original PR description
[This commit][1] changed the Sign action helper to onboard users. However, in doing so the text was put inside conditional `t-esc` attributes, causing it to not be translatable. This change fixes that by properly using text nodes. [1]: https://github.com/odoo/enterprise/commit/a5fc0b098c4a4b61d7ce7fd87180ed32dcb1f6f5 [opw-4421055](https://www.odoo.com/odoo/project.task/4421055) Forward-Port-Of: odoo/enterprise#78147
### The Issue: In `l10n_es` 347 serves to declare operations within Spain. 349 serves to declare operations in other EU countries https://github.com/odoo/enterprise/commit/9d79ed1128e76e8553a7cc39e790de4369345eec However, when creating an invoice for a Spanish customer, the field `Type for mod 349` is set despite the field `Available for Mod349` being False. ### How to Reproduce: 1. Install `l10n_es`. 2. Create an invoice for a Spanish customer and check that field 347 (AEAT tab)
Original PR description
### The Issue: In `l10n_es` 347 serves to declare operations within Spain. 349 serves to declare operations in other EU countries…
### The Issue: In `l10n_es` 347 serves to declare operations within Spain. 349 serves to declare operations in other EU countries https://github.com/odoo/enterprise/commit/9d79ed1128e76e8553a7cc39e790de4369345eec However, when creating an invoice for a Spanish customer, the field `Type for mod 349` is set despite the field `Available for Mod349` being False. ### How to Reproduce: 1. Install `l10n_es`. 2. Create an invoice for a Spanish customer and check that field 347 (AEAT tab) is set as regular operation. 3. Add both fields (type for 347 and type for 349) to the customer invoices list view using Studio. 4. Observe that for invoices where 347 is set, 349 is also set (E-Suministros/Supplies). ### Cause: In the `account_move` model of `l10n_es_reports`, the field `l10n_es_reports_mod349_invoice_type` was being set with a default value even when `Available for Mod349` is False. opw-4339292 Forward-Port-Of: odoo/enterprise#77996 Forward-Port-Of: odoo/enterprise#76042
Modifiy the test since it's not possible anymore to modify the UoM if all the different record doesn't belong to the same UoM than the product ones. Forward-Port-Of: odoo/enterprise#78282
Original PR description
Modifiy the test since it's not possible anymore to modify the UoM if all the different record doesn't belong to the same UoM than the product ones. Forward-Port-Of: odoo/enterprise#78282
task-4478365 Forward-Port-Of: odoo/enterprise#78243 Forward-Port-Of: odoo/enterprise#77772
Original PR description
task-4478365 Forward-Port-Of: odoo/enterprise#78243 Forward-Port-Of: odoo/enterprise#77772
Before this commit, if a user was an attendee of an event linked to an appointment type, but did not have access to the appointment (not part of the staff_user_ids), an access error would occur when trying to sync their calendar with Google or Microsoft. This error happened inside the `_get_customer_description` function overridden in the appointment module. opw-4402859 Forward-Port-Of: odoo/enterprise#78110 Forward-Port-Of: odoo/enterprise#76113
Original PR description
Before this commit, if a user was an attendee of an event linked to an appointment type, but did not have access to the appointment (not part of the staff_user_ids), an access error would occur when trying to sync their calendar with Google or Microsoft. This error happened inside the `_get_customer_description` function overridden in the appointment module. opw-4402859 Forward-Port-Of: odoo/enterprise#78110 Forward-Port-Of: odoo/enterprise#76113
This PR fixed tests when runbot runs without demo data installed. Creates users instead of referencing them and editing. Forward-Port-Of: odoo/enterprise#78431
Original PR description
This PR fixed tests when runbot runs without demo data installed. Creates users instead of referencing them and editing. Forward-Port-Of: odoo/enterprise#78431
"currency_id_of_value_currency" is redundant with "invoice_currency_id" Forward-Port-Of: odoo/enterprise#77649
Original PR description
"currency_id_of_value_currency" is redundant with "invoice_currency_id" Forward-Port-Of: odoo/enterprise#77649
In quant_barcode_model we fetch the quant at the new line creation. It's use in order to define the current theorical inventory quantity. But with rfid, it could be heavy since each serial number can be a new line and doing an rpc by line will be a bottleneck. To improve it, each time we add a product in the cache, we also add the associated quants. During the new line creation, we search for the product in the cache rather than doing an rpc with a specific domain Forward-Port-Of: odoo/en
Original PR description
In quant_barcode_model we fetch the quant at the new line creation. It's use in order to define the current theorical inventory quantity. But with rfid, it could be heavy since each serial number can be a new line and doing an rpc by line will be a bottleneck. To improve it, each time we add a product in the cache, we also add the associated quants. During the new line creation, we search for the product in the cache rather than doing an rpc with a specific domain Forward-Port-Of: odoo/enterprise#77525 Forward-Port-Of: odoo/enterprise#71660
Previously after activating debug mode and then dark mode, the letters of database name are not visible clearly. It is happening because in new bootstrap version we are having an inappropriate color for mark tag in dark mode. After this commit the database name will be clearly visible in dark mode. Task- 4389154 Forward-Port-Of: odoo/enterprise#78364
Original PR description
Previously after activating debug mode and then dark mode, the letters of database name are not visible clearly. It is happening because in new bootstrap version we are having an inappropriate color for mark tag in dark mode. After this commit the database name will be clearly visible in dark mode. Task- 4389154 Forward-Port-Of: odoo/enterprise#78364
Steps to Reproduce: • Install the Payroll app. • Navigate to the Work Entries Gantt view. • When there is deferred time off, a warning message is displayed. • Scrolling horizontally in the Gantt view causes the warning message to move along, whereas it should remain static. Cause: • The position of the warning message element is not fixed. Fix: • Set the element's position to sticky so that it remains static while scrolling. task-4367336 Forward-Port-Of: odoo/enterprise#75037
Original PR description
Steps to Reproduce: • Install the Payroll app. • Navigate to the Work Entries Gantt view. • When there is deferred time off, a warning message is displayed. • Scrolling horizontally in the Gantt view causes the warning message to move along, whereas it should remain static. Cause: • The position of the warning message element is not fixed. Fix: • Set the element's position to sticky so that it remains static while scrolling. task-4367336 Forward-Port-Of: odoo/enterprise#75037
…ling test in saas-18.1 This commit aims to add missing partner_id at the creation of calendar_booking in test_project_user_appointment_type_task_population_on_confirmed_so. related task-3823058 fixes following runbot error: https://runbot.odoo.com/odoo/runbot.build.error/110584 Forward-Port-Of: odoo/enterprise#78261
Original PR description
…ling test in saas-18.1 This commit aims to add missing partner_id at the creation of calendar_booking in test_project_user_appointment_type_task_population_on_confirmed_so. related task-3823058 fixes following runbot error: https://runbot.odoo.com/odoo/runbot.build.error/110584 Forward-Port-Of: odoo/enterprise#78261
Whatsapp API doesn't allow to send captions with audio anymore, therefore we should modify the way we handle captions. After this commit audio will be sent first while text message will stay in a composer, it will only be sent after the audio is sent. task-4007616 Forward-Port-Of: odoo/enterprise#78328 Forward-Port-Of: odoo/enterprise#66818
Original PR description
Whatsapp API doesn't allow to send captions with audio anymore, therefore we should modify the way we handle captions. After this commit audio will be sent first while text message will stay in a composer, it will only be sent after the audio is sent. task-4007616 Forward-Port-Of: odoo/enterprise#78328 Forward-Port-Of: odoo/enterprise#66818
Steps to reproduce ================== - Install hr_timesheet - Use an android device - Click on a time field => A numeric virtual keyboard appears. This prevents us from entering the `:` character. Cause of the issue ================== The inputmode attribute is set to numeric Solution ======== Set the inputmode to it's default value: text. See also [float_time_field] --- [float_time_field]: https://github.com/odoo/odoo/commit/8b919ae51d7deb34169b7c6970964056ef2e
Original PR description
Steps to reproduce ================== - Install hr_timesheet - Use an android device - Click on a time field => A numeric virtual keyboard appears. This prevents us from entering the `:` character. Cause of the issue ================== The inputmode attribute is set to numeric Solution ======== Set the inputmode to it's default value: text. See also [float_time_field] --- [float_time_field]: https://github.com/odoo/odoo/commit/8b919ae51d7deb34169b7c6970964056ef2eb632 opw-4344083 Forward-Port-Of: odoo/enterprise#77429 Forward-Port-Of: odoo/enterprise#77339
When creating a shift in planning from the top bar, the shift is created but does not appear. task-4446957 Forward-Port-Of: odoo/enterprise#78099 Forward-Port-Of: odoo/enterprise#76563
Original PR description
When creating a shift in planning from the top bar, the shift is created but does not appear. task-4446957 Forward-Port-Of: odoo/enterprise#78099 Forward-Port-Of: odoo/enterprise#76563
Bug introduced in the last changes before merging the module that wasn't caught Forward-Port-Of: odoo/enterprise#78382
Original PR description
Bug introduced in the last changes before merging the module that wasn't caught Forward-Port-Of: odoo/enterprise#78382
Mod349 tax report in Spanish localization report the total number of intra-community operations. This counter however, does not take into account paid invoices Steps to reproduce: - With an ES company setup - Create an invoice to an EU partner - Register payment for the invoice - Go to Accounting / Reporting / Statement Reports / Tax Report - Select Tax Report (Mod 349) (ES) Issue: Total number of intra-community operations is 0 opw-4403287 Forward-Port-Of: odoo/enterprise#77928
Original PR description
Mod349 tax report in Spanish localization report the total number of intra-community operations. This counter however, does not take into account paid invoices Steps to reproduce: - With an ES company setup - Create an invoice to an EU partner - Register payment for the invoice - Go to Accounting / Reporting / Statement Reports / Tax Report - Select Tax Report (Mod 349) (ES) Issue: Total number of intra-community operations is 0 opw-4403287 Forward-Port-Of: odoo/enterprise#77928 Forward-Port-Of: odoo/enterprise#77238