Thursday, December 11, 2025
22 changes · master
Enhancements to existing features
This update enhances the user interface for selecting online accounts within Odoo Enterprise. The outdated 'online_account_radio' component has been removed, streamlining the process and improving usability. This change focuses on a better user experience for managing online accounts.
Original PR description
This commit refactor the online account selection widget to have a better ui. Removed the online_account_radio since it's not used anymore. task-5090281
This update enhances the HR Homeworking Calendar module by moving a key field to the Calendar module itself. This allows for better reuse of components and simplifies the overall design, leading to a more streamlined user experience for managing homeworking arrangements. It’s a small, internal improvement focused on code organization.
Original PR description
Moved the badge_selection_icon_mapping_field to the Calendar module, so that it can be reused in hr_homeworking.calendar module Added optional default icon prop Task ID: 5215931 Community PR: https://github.com/odoo/odoo/pull/235440
This update improves the visibility of Kanban groups in the Helpdesk module. The system now displays the group name within the no-content helper, making it easier to identify and manage tickets. This change was implemented as an improvement to the user experience.
Original PR description
Due to changes made in https://github.com/odoo/odoo/pull/236049, the CSS class for the Kanban group no-content helper has been updated. task-5266317
This update clarifies the setup for approval categories within the Odoo Enterprise system. Specifically, the tooltip for automatic sequence settings has been updated for better understanding, and a label change (Code to Prefix Code) has been made to improve consistency and reduce confusion.
Original PR description
- Updating the tooltip for the automatic sequence field in the approval category setting - Renaming label Code to Prefix Code Task: 5384511
This update simplifies role configuration by making the 'Point of Sales' field optional. Previously, this field was always visible, leading to cluttered views. Now, it can be hidden when not needed, resulting in a cleaner and more user-friendly role configuration experience.
Original PR description
**Before this commit:** - The 'Point of Sales' field was always visible in the Roles configuration under Planning. **After this commit:** - The 'Point of Sales' field becomes optional and can be hidden from the roles configuration menu. - This improves usability by allowing cleaner role configuration views, showing the POS field only when required. **task-5264737**
Resolved issues and error corrections
This update allows HR to now select a PDF template and designated signatories when creating offers for employee versions. Previously, this functionality was unavailable, limiting the customization options for offer documents. This change streamlines the offer creation process and ensures greater control over offer presentation.
Original PR description
Before if you created an offer for an employee version and not a contract template, it was impossible to choose a pdf template or signatories. This commit fixes this issue. Task-5375821
Features or functions removed from Odoo
This update removes the reliance on a signature dependency within the Odoo Enterprise accounting module. This simplifies the system and reduces potential complexity for users. The change improves the overall stability and maintainability of the accounting features.
Original PR description
task-5154292
Code cleanup and technical improvements
This update streamlines maintenance request notifications by consolidating message logic and removing a redundant custom controller. The changes ensure consistent user feedback across Odoo, aligning with other key actions and improving the overall user experience.
Original PR description
_* = mrp_maintenance 1. Refactor Completion Notifications * Converted the constant notification message mapping into a getter method, as the constant was not reused elsewhere. This improves extensibility and allows easier overrides in inheriting modules. 2. Remove Custom Form Controller * This custom form controller was originally added to display a feedback notification when Maintenance Requests are successfully created from the shopfloor. After this PR (#76035), the action notification can now be handled directly there, making the custom controller unnecessary. * The notification message is also updated to use the correct phrasing, aligning it with Scrap and Quality Alert actions for consistent user feedback. This cleanup removes redundant code and keeps the notification logic in a single place, avoiding the need to maintain separate implementations across modules.
This update improves our internal referral process by logging all emails sent when a job promotion is initiated. Previously, no record was kept of these emails, making it difficult to track and analyze promotion activity. Now, only key email details (subject, body, recipient) are logged for auditing and reporting.
Original PR description
Before: - Once a job is published, a Promote button appears. The steps are: Recruitment > select a job (configuration) > Publish > Promote - After clicking the Promote button and sending the email, no log was being maintained for that job. After: - With this commit, we will log every promote email sent to the employee. - We will log only the subject, the body (skeleton only), and the recipient of the email. Task: 5375111
This update corrects a previous issue where employees working less than 6 months were incorrectly denied PFA (Pension Funds Agreement) eligibility. The change now accurately checks if an employee started their employment at least 6 months ago, ensuring correct PFA rights for all employees regardless of their tenure.
Original PR description
If you worked less than 6 months, you could have the right to the PFA. Instead of verifying that the employee worked for 6 full months, we should check that he started at least 6 months ago. task-5405293 Forward-Port-Of: odoo/enterprise#101721
This update corrects a technical issue where reverting a payslip incorrectly flagged related payslips as duplicates, leading to confusing warnings. The fix ensures that payslips linked to a reverted payslip are properly identified as 'Related Payslips' instead of duplicates, streamlining the payroll process.
Original PR description
## Steps to Reproduce 1. Create a payslip and validate it. 2. Mark it as Paid. 3. Click on Revert and it will create a new payslips related to the other payslip. ## Issue When reverting a payslip, it is flagged as a "Duplicate". When there is a payslip that has "Related payslips", it should not be considered as a duplicate. ## Fix Duplicate warnings now ignore the original and refund payslips linked to each other (`origin_payslip_id/related_payslip_ids`) are removed from the duplicate recordset. task - [5240436](https://www.odoo.com/odoo/project/1251/tasks/5240436) Forward-Port-Of: odoo/enterprise#99988
This update removes a problematic field from the employee data module, preventing errors during debugging. The issue stemmed from a previous, poorly handled code change. The fix involves removing the unnecessary computed field and adjusting its storage settings.
Original PR description
### Issue: The field `l10n_sa_leaves_count_compensable` is a computed field with no compute method. When in debug mode, trying to look at the fields of an employee results in a traceback because of…
### Issue: The field `l10n_sa_leaves_count_compensable` is a computed field with no compute method. When in debug mode, trying to look at the fields of an employee results in a traceback because of this. ### Cause: This [forward port](https://github.com/odoo/enterprise/commit/4124dc4c13055d39d233d7ea9374b5191afdfcf2#diff-1d84d9d2c9ad02353f40d1b88baa5c66af063880df1e14459befd2d02d66cae5) had a conflict that was badly resolved by re-adding a previously deleted field. The field was replaced by `l10n_sa_remaining_annual_leave_balance` in [this commit](https://github.com/odoo/enterprise/commit/339bc032aa763c62d4dd27b73fc42488b3e1c3aa#diff-1d84d9d2c9ad02353f40d1b88baa5c66af063880df1e14459befd2d02d66cae5). [Failing FWP](https://github.com/odoo/enterprise/commit/b3f276d0d73a24faf322aa2ae8965c3d5aad4a87#diff-1d84d9d2c9ad02353f40d1b88baa5c66af063880df1e14459befd2d02d66cae5) ### Solution: We can no longer delete the field because of the stable policy. The solution is to remove the compute and add `store=False`. Then remove the field in master. opw-5352456 Forward-Port-Of: odoo/enterprise#100756
This update resolves a technical issue causing errors during the creation of WPS reports for Saudi Arabia's HR payroll. The problem stemmed from an incorrect function usage, which has now been corrected. This ensures accurate report generation and avoids potential disruptions to payroll processing.
Original PR description
this commit addresses traceback errors occured due to incorrect usage of `_` function. task-5310946 Forward-Port-Of: odoo/enterprise#99789
This update fixes a visual issue in the Odoo Enterprise Icon Creator dialog, which previously lacked proper spacing. The change adds necessary padding to improve the dialog's appearance and usability, ensuring icons are displayed correctly within the interface. This enhances the user experience when customizing application icons.
Original PR description
Before this commit When editing an application icon, the IconCreator dialog was missing top and bottom padding. This regression occurred after the milk dialogs, where top and bottom padding was removed from the `modal-body`, [see reference](https://github.com/odoo/odoo/blob/2ace54d281f15baef2a498b0a5f5ad7f7be79387/addons/web/static/src/core/dialog/dialog.scss#L46) After this commit Added the necessary padding to the IconCreator dialog. task-5345762
This update eliminates a technical issue where call recordings were duplicated in the chatter attachments after transcription. The change ensures that only the necessary recording is retained, streamlining call history and improving the user experience. This resolves a minor inconsistency in the system.
Original PR description
When the transciption in on, you always find two recordings in the call attachments in the chatter. This is because there is an original recording and another one for the transcription that wasn't deleted. This commit deletes the additional recording after using it in the transcription. Task-5404304
This update resolves a technical problem preventing the correct installation of the Indian demo data for Odoo Enterprise's payroll module. The issue stemmed from an incorrect calculation within the demo data, which was replaced with the correct value, ensuring proper functionality.
Original PR description
Issue: Demo leave used an invalid eval value for leave_type_request_unit, causing a NameError during installation. Fix: Replaced the eval expression with the correct string value `half_day`. task-5410134
This update corrects a data inconsistency in subscription sales reporting by replacing a field used for invoice grouping with the correct incoterm ID. This ensures more accurate and reliable reporting of international shipping costs within Odoo Enterprise subscriptions. The change improves the accuracy of sales data and aligns with standard accounting practices.
Original PR description
_get_auto_invoice_grouping_keys is used on sale.order but _get_invoice_grouping_keys contains fields that are only present in account.move, invoice_incoterm_id needs to be replaced by incoterm_id Task-5081775
This update fixes a technical issue that occasionally caused errors when viewing the VoIP call history, specifically when recording call transcripts. The fix ensures unique identifiers are used for icons, preventing duplicate key errors and improving the stability of the history tab.
Original PR description
Sometimes, you get a traceback saying that there are duplicate keys in a t-foreach when you try to open the history tab in VoIP. This only happens when you have both recording a transcript for one or more calls. This commit creates a unique id for each icon rendered using `JSON.stringify()` Task-5403715
This update fixes an issue where the LWF report incorrectly included data from previous runs when a department was selected. The fix clears existing report data before generating a new report, ensuring accurate reporting for employees across different departments. This improves the reliability of the LWF report data.
Original PR description
Step to reproduce: - Install l10n_in_hr_payroll. - Create 3-4 employee with labour welfare fund, all in different departments. - Open the LWF report wizard and do not select any department. -…
Step to reproduce: - Install l10n_in_hr_payroll. - Create 3-4 employee with labour welfare fund, all in different departments. - Open the LWF report wizard and do not select any department. - Download report , all employee will come in report. - Now select any department and download report again. - All employee(It is fetching previous data) + employee from selected department will come in report. Cause: - In '_compute_line_ids()' wizard computed field 'line_ids' doesn't properly reset previous lines as a result previous data remains in lines. - When the department is changed, the wizard id remain same, so previously lines added to wizard are coming with new lines. - Using `Command.link()` for new lines is invalid because it requires an existing database record ID, but wizard lines are creating inside a compute method so their IDs are only saved after the flush. Fix: - Since this is a stable version, clear the previously existing lines using 'Command.clear()' before creating new ones. Task - 5366498 Forward-Port-Of: odoo/enterprise#101190
This update allows users to modify the subject line of a sign request before it's sent. Previously, the subject was fixed, which could lead to confusion and errors. This change improves the clarity and accuracy of sign requests, streamlining the approval process.
Original PR description
Previously, users could not modify the subject of a sign request. This PR enables the subject to be edited before the request is sent. task-5348690 Forward-Port-Of: odoo/enterprise#100102
A test related to payroll accounting was failing when run on a database without the standard demo data. The fix involved adding a default account to the test environment to ensure accurate calculations and balance reconciliation. This resolves a technical issue impacting payroll reporting.
Original PR description
Steps to reproduce: Install hr_payroll_account on a fresh db without demo data. Run the test test_payment_hr_payslip. The test fails. Cause: With demo data, the us payroll was installed and with it, the payroll accounts were configured. Without demo data, default account is missing. Fix: Add a default account in the test and fix the amount balance with a new debit rule to balance the credit one. Task: 5386528 Runbot Error: 161615 Forward-Port-Of: odoo/enterprise#101371 Forward-Port-Of: odoo/enterprise#101299
This update removes outdated and unused code within the Voip module, streamlining the system and improving performance. Specifically, a component and a related feature were identified as no longer needed, resulting in a cleaner and more efficient codebase. This change focuses on internal improvements and doesn't impact external users.
Original PR description
### Changes - DeviceSelectionDialog component is no more needed - The only use case for `Voip.bus` was made by CallQueueSwitch component but the event it was listening to is never triggered. Removed. - CallQueueSwitch has been renamed in CallQueueSwitchField to better reflect what this component is.