Daily updates from Odoo
Thursday, December 11, 2025
13 changes · master
Enhancements to existing features
This update enhances the email notifications sent after a website is generated, providing a direct link to the newly created website. The email now dynamically adjusts its subject and utilizes the standard Odoo notification template, respecting the user's preferred notification method (inbox or email).
Original PR description
Improved import done email: - Dynamic subject - Uses the mail notification template - Button with url that redirects to the generated website (rather than the default published one). Also used the message_notify to respect the user choice for notification (odoo inbox or email).
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 pull request improves the Stripe expense card experience by addressing visual issues, adding helpful notifications, and resolving critical bugs related to expense creation, validation, and shipping status updates. These changes enhance usability and ensure accurate expense tracking for users.
Original PR description
- Create Expense at the authorization instead of the capture
- Send a mail when a virtual card is assigned to someone
- Correct text inside card pause dialog
- Improve card look:
- Align date, pin and copy button on the card
- Fix physical card pin number not visible with dark mode
- Fix date horizontal alignment on pending physical cards
- Add Unlimited as placeholder on cards payement limits
task-4860676
Forward-Port-Of: odoo/enterprise#95523This 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 introduces the ability to apply dynamic surcharges to rental orders based on time periods and days of the week. Users can now configure flat or weekday-specific fees, providing greater flexibility in pricing rental agreements. Note that complex surcharge configurations can result in decimal adjustments to the final rental price.
Original PR description
This commit introduce a new model `product.pricing.surcharges` to enable users to configure additional fees for rental orders during specific periods. Two modes are supported: - 'flat': apply a flat…
This commit introduce a new model `product.pricing.surcharges` to enable
users to configure additional fees for rental orders during specific
periods.
Two modes are supported:
- 'flat': apply a flat surcharge for each day within the specified
period.
- 'per_weekday': define surcharges for specific weekdays within the
period (e.g., add +30% to the rental price every Sunday in December).
Surcharges are computed as the sum of applicable surcharge rates over
the rental period, multiplied by price_per_day. Partial days are
prorated by the fraction of the day reserved (hours / 24). For example,
a 6-hour reservation on a day with a +50% surcharge and price_per_day =
$100 results in (6/24) * 50% * $100 = $12.5.
Full example:
- Rule 1 (June 1st - June 30th): flat +10%
- Rule 2 (July 1st - July 31st): +15% every Monday, +30% every Sunday
For a rental order starting on June 25th @9pm and ending on July 13th
@6pm with a pricing of $700/week:
- Base price: 3x $700/week = $2100
- Price per day: $700 / 7 days = $100/day
- Surcharge breakdown:
- +10% from June 25th to June 30th (9/24 + 5 days)
- +15% on Monday, July 7th (1 day)
- +30% on Sundays, July 6th and 13th (1 + 18/24 days)
- Sum of surcharge: 5.375 * 10% + 1 * 15% + 1.75 * 30% = 121.25%
- Final price: $2100 + $100 * 121.25% = $2221.25
Two points to note:
- The surcharge is not added as a separate order line but is included
with the base rental price.
- Depending on the rental duration and the surcharge configuration, the
computed surcharges can add "unwanted" decimals to the final rental
price (see example above). This is especially true when dealing with
hourly periods.
task-4968689This update optimizes the process of generating account reports by replacing a slow data count with a faster query. The change significantly reduces report generation time, improving performance and responsiveness. This results in a smoother user experience for generating financial reports.
Original PR description
When generating working files, we did a _read_group that counted the number of move lines per account during the period. However we had no use for the number of move, so we can replace this by a query with EXISTS. With about 160000 move lines and 154 accounts, it went down from 2.48s to 4ms. Before: <img width="1919" height="574" alt="Screenshot_20251209_091543" src="https://github.com/user-attachments/assets/247d21f1-6c0b-4d8d-b4a3-5981c3dfde60" /> After: <img width="1920" height="581" alt="Screenshot_20251209_091509" src="https://github.com/user-attachments/assets/5c04e83d-b3ff-4a72-a3f6-c97c0235c3ea" />
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 adds a 'Cancelled' filter to the visitor report, making it easier for users to identify and analyze cancelled visits. This improves usability and allows for more efficient tracking of visitor interactions. It addresses a previous gap in reporting functionality.
Original PR description
Before: - The visitor report lacked a filter to show cancelled visits. After: - Added a "Cancelled" filter in the visitor search view for easier tracking. Impact: Improves usability by allowing users to quickly isolate cancelled visitor entries. Task- 5387265
This update prevents accidental modifications to core return type settings within the Enterprise system, safeguarding critical business processes. Users can still add new return types, but changes to existing master data are now restricted to prevent disruptions. A related fix improves error messaging for international data checks.
Original PR description
Issue: - Users can easily edit return types coming from master data. - Even small experiments (e.g., changing category or states) may break critical behavior. Solution: - For such records, made critical fields (category and states) readonly in the form view. - User added records remain fully editable. Impact: - Prevents accidental or harmful changes to predefined return types. - Still allows users to add their own return types safely. _Also added a fix to replace ValueError to ValidationError for return type’s country and report’s country check._ TaskID-5060125
This update enhances the IoT Box password reset process by integrating with the `iot_http` service via websocket. This change allows for a more secure and efficient method of resetting passwords, improving user convenience and security.
Original PR description
To allow resetting the IoT Box password using websocket, we now use the `iot_http` service. see odoo/odoo#239497 Task: 5169648
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**
This update streamlines article management by introducing a convenient action dropdown in the sidebar and consolidating side panels for a cleaner user experience. It also adds a table of contents for easier navigation within articles, particularly those with multiple headings.
Original PR description
**[IMP] knowledge: add quick-action dropdown menu to article sidebar** This commit introduces an action dropdown in the article sidebar, allowing users to perform common tasks without opening the…
**[IMP] knowledge: add quick-action dropdown menu to article sidebar** This commit introduces an action dropdown in the article sidebar, allowing users to perform common tasks without opening the article. The menu provides options to: - Open the article in a new page - Toggle favorite - Rename article - Copy article - Move article - Open permission panel - Send to trash - View last edit info ---- **[REF] knowledge: merge all side panel into single panel** Previously, panels such as the chatter, comments, and property panels were implemented as separate widgets. As a result, opening multiple panels at once doesn't look good. This commit merges them into a single side-panel widget, allowing only one panel to be displayed at a time, and enabling users to switch between panels using the side-panel toggler. ---- **[IMP] knowledge: add toc panel for ease navigation** This commit adds a table of contents panel to improve article navigation, toggleable from the sidepanel toolbar. The TOC button is visible in the sidepanel toolbar when an article contains more than three headings. If the panel is already open and the user switches to different article that does not meet this condition, the button remains visible so the panel can still be closed. ---- **[IMP] knowledge: adapt tests/tours for sidepanel** This commit fix tests to align with side panel refactor and the addition of the table of contents panel. ---- **[IMP] knowledge: add anchor link overlay on readonly article** This commit add a overlay component to display anchor links in readonly and public articles, matching `HeadingLinkPlugin` behaviour since plugins aren't supported in readonly mode. Task-4813333