Daily updates from Odoo
Friday, December 6, 2024
24 changes
18 changes
Enhancements to existing features
Grid views now validate date range settings more strictly, so only supported time periods can be used. This helps prevent configuration mistakes that could lead to incorrect grid displays or data loading issues.
Original PR description
Before this commit, `range` tag can be defined as child of field, that range is used if the parent field is a column and a Date/Datetime field to know the number of grid columns to display and how to fetch data to fill in those columns. However, the content of `span` and `step` attributes defined in the `range` xml tag is not really checked during the xml validation of the grid view. This commit makes sure `span` attribute only contains `day`, `week`, `month` or `year` and `step` attribute is either `day` or `month`. task-4373526
Shift times in the Planning kanban view now hide unnecessary seconds, making schedules easier to read at a glance. Single-day shifts show the date once with start and end times, while multi-day shifts show both full dates and times for clarity.
Original PR description
Removed seconds from the planned date display for shifts in the kanban view, it will improves readability and provides a cleaner display of shift times in the kanban view - for multiple days it will show the full date and time e.g., '10/10/2024 8:00 - 10/12/2024 17:00'. - For the single day it will show only the start date with start time and end time '10/10/2024 8:00 - 17:00'.. task- 4247327
Subscription renewals now update the contract end date only once instead of briefly setting it to today first. This avoids temporary date inconsistencies that could disrupt custom business processes during renewals.
Original PR description
Before this commit, the end_date in set_close was always set to today. During a renewal, it was later updated. Unfortunately, it could break customization when the parent end_date was set to today during a shrt amount of time. During that time, it would be earlier than the start_date and this could lead to issues on some customizations. This change aimes to avoid setting the end_date twice and have single update of the end_date during the renewal process.
This update adds automated test coverage for expanding resources in the Planning app. It helps ensure this scheduling behavior remains reliable in future updates, reducing the risk of regressions for users who manage resource planning.
Original PR description
In this commit: planning expand resource is tested task-4367703
The interview scheduling email template was updated to use a simpler layout that improves alignment. This helps recruitment-related appointment emails look cleaner and more consistent for candidates and recruiters.
Original PR description
- Remove the table structure from "Recruitment: Schedule interview" email template and go for just div to fix the alignment Task: 4363968
Website editors can now choose Appointments and Knowledge Articles directly in the search bar building block's search scope options. This makes the visible choices match what is already searched under "Everything" and uses a clearer book icon for knowledge articles to avoid confusion with forums.
Original PR description
 
Specification:
- Add new objects in 'search within' option of s_searchbar
snippet.
- The list must contain all objects that are searched when
"Everything" is selected in "search within" toggler.
- Change the 'knowledge article' icon to "fa-book" from "fa-comment-o".
Before this commit:
- In search building block options, there were missing
`knowledge articles` and `Appointments` objects in
`search within` options.
After this commit:
- Added two new searchable objects "knowledge articles" and
"Appointments" in "search within" option.
- Icon for knowledge article is changed to fa-book to avoid
confusion with forums because both has same icons.
task-3060611The Indian GST reporting module now uses a standard Odoo grouping method instead of custom grouping logic. This cleanup should improve performance and maintainability without changing how users work with the reports.
Original PR description
Before this commit: We created a manual method to group by the journal items After this commit: We cleanup the manual created method and use the orm `grouped` method for better performance
Rental-related website pages are now marked so they can be served by read-only database replicas where appropriate. This helps distribute traffic more efficiently and can improve scalability without changing the customer-facing shopping experience.
Original PR description
Mark readonly routes/methods so that those requests can be handled by readonly database replicas. task-4167831 See also: odoo/odoo#187616
Planning screens are easier to read with cleaner list labels, less visual noise in Gantt progress bars, and more relevant calendar filters. This helps users find planned work and their resources faster during scheduling.
Original PR description
Planning Slots: List view: - Hide resources' job title. - Rename `Start Date` column label to `Planned Date`. Gantt view: - Remove the warning in the progress bar. Calendar view: - Display the resources of the current user on top of the filter panel. task-3823383
The old mobile testing setup has been removed because those tests now run through the newer testing system. This is an internal cleanup that helps keep the codebase simpler and does not change how users work with Odoo.
Original PR description
Because all mobile tests are now converted to hoot. We decided to remove the `web.qunit_mobile_suite` QUnit suite. task-4028335
Restaurant kitchen preparation cards now remain unchanged when an order is merged from one table into another. This prevents previously sent items from being incorrectly cancelled after merging or unmerging tables, reducing kitchen confusion and order mistakes.
Original PR description
Before this commit: ==================== - When items were ordered on Table 1 and then merged into Table 2, the preparation card for Table 1 was cancelled, and a new card was created for Table 2. After this commit: ================== - The preparation card for Table 1 remains intact even after merging its order with another table. - Upon unmerging, order lines from Table 1 are not automatically canceled and will remain intact when the order, along with any new lines, is sent back to the kitchen display for processing. Task- 4224207 Related Community PR: https://github.com/odoo/odoo/pull/188183
This update streamlines how Odoo loads and filters application menus, reducing unnecessary database checks and improving performance when menu data is cached. It also updates related tests and enterprise menu customizations to align with the improved behavior, with no expected change to day-to-day user workflows.
Original PR description
See https://github.com/odoo/odoo/pull/188278 ### [IMP] web: improve test_web_icon For the commit in community, it is important to have a realistic behavior and avoid patching the `search` method without calling the original one, because the current implementation only works with the override of `search_fetch`. ### [REF] base: refactor ir.ui.menu search_fetch Get rid of the 'ir.ui.menu.full_list' context. See community PR. ### [IMP] base: improve perf of _visible_menu_ids Improve the performance of _visible_menu_ids() to speed up load_menus() when the orm is cached. Avoid using ref because it always makes a SQL query for check the existence of the attached record. In this case, we don't care. task-4360403
Users can now copy a selected sign item and paste it elsewhere in a document using keyboard shortcuts. This makes preparing signature templates faster and reduces repetitive setup work.
Original PR description
This commit aims to add the ability of copying sign items using ctrl+c and ctrl+v. The user can: 1. click on sign item 2. hit ctrl+c 3. navigate to the desired position on any page and do a mouse click 4. hit ctrl+v and a new copy appears! task: 4069487
Gantt items now show their start and end dates only when those dates are not visible within the current timeline view. This makes schedules easier to read with dynamic date ranges and year views, while avoiding unnecessary date text when the timeline already shows the information.
Original PR description
In the past, there used to be just "static" scales (day, week, month, year) in the gantt view. For a given scale, we displayed the start and end dates of a record when it spanned across several units of that scale, because then, you couldn't see both limits at once. For example, when the scale is in weeks and the current focus is this week, we display the dates of a record if it starts this week and ends on next week, because you can't see the end of it. Now that it is possible to set the start and end date of the period that is displayed more dynamically, we want to keep this rationale "we display the dates if you can't see them graphically". So we display the start and end dates of the record if it starts before the start of the period or ends after the end of the period, no matter the "scale". task-3974394
Planning, Project, and Field Service Gantt views now display a progress bar on total rows, including selected grouped planning views. This helps managers quickly understand overall workload progress without opening individual items.
The Point of Sale Pricer module now includes its own app icon. This makes the module easier to recognize in Odoo’s app list and improves the overall presentation for users.
Original PR description
added pricer icon to module. 
Payslips can no longer be generated for employees who do not have a valid contract covering the payslip period. This helps prevent incorrect payroll processing and reduces the risk of paying employees outside approved employment terms.
Original PR description
Before this commit, a payslip was generated for employees even if they didn't have a valid contract for the payslip duration. This commit brings a restriction on payslip generation, preventing it if the employee doesn't have a valid contract for the payslip duration. task-3810418
The Timesheets settings action now opens employees in a list that shows the billable time target fields directly. This makes it clearer what managers need to fill in and allows faster bulk updates across employees.
Original PR description
Before this commit, when the user would like to set billable time targets to his employees and clicks on `Set Employee Billable Time Targets` action displayed in `Timesheets > Configuration > Settings` when `Billing Rate Indicators` is enabled. The user will be redirected to the kanban view of employees but he does not really know which field he has to set if he tries the feature, and he has to go to the form view and find the field and set it for each employee using timesheets app. This commit reviews the action loaded in that button to directly show the list view with the fields needed. By doing that, the user will directly see the field to set for his employees and he will be able to mass edit thanks to the list view. task-4179246
6 changes
Enhancements to existing features
PayPal payment requests now include a safeguard that prevents the same payment attempt from being processed twice. If a payment response is missed, retrying the same attempt retrieves the original result, while a deliberate new retry creates a separate request.
Original PR description
An idempotency key was added to avoid processing a payment request twice. If the payment attempt fails and result wasn't received, sending the same request again will return the result of the first executed request. If User decides to retry, another request is made with the same parameters but a different idempotent id, thus resulting in a new request. task-2894752 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The emoji picker has received small visual refinements to make it cleaner and more pleasant to use. This improves the everyday messaging experience without changing how users interact with the feature.
The accounting lock dates wizard now uses clearer labels, improved guidance, and more visible exception messaging. This helps users better understand which accounting periods are being locked and reduces confusion when configuring exceptions.
Original PR description
This commit is part of a bigger commit in the enterprise PR. This commit improves the UX of the Lock Dates Wizard with the following changes: - Reworded the tooltips of all 5 lock date fields - Change label for "Lock Everyone" to "Lock Everything" - Move the Exception to the bottom and highlight it in an alert - Make it so that the relevant field of the exceptions are highlighted with an info class (using `decoration-info`) In addition, it also changes the help and string of other related invisible fields (even though it's not needed) to keep it the same everywhere in the code. related enterprise-PR: https://github.com/odoo/enterprise/pull/74262 task-id: 4297145
Video calls now handle focused participants more clearly when cameras or screen sharing are turned on. This keeps the main call view consistent, reducing confusion by showing the most relevant video or shared screen in the center.
Original PR description
Backport of https://github.com/odoo/odoo/pull/185215
Before this commit:
When a participant turned on their video while they're focused in a call, their video appeared in the corner, while their profile card remained visible in the center.
After this commit:
1. When a participant is in focus and screen sharing begins, their video will be in focus even after screen sharing ends.
2. When a participant turns on their video while they're focused in a call:
-Screen Sharing Off:
The participant's video will replace the profile card,
appearing in the center of the screen, while the profile card will be hidden.
-Screen Sharing On:
The shared screen will remain focused in the center, and the participant's
video will stay in the corner, maintaining existing behavior.
task-4195731Event visitors now get clearer favorite-track actions, email reminders with calendar links, and a prompt to provide an email address when needed. The agenda also avoids sending users to empty track pages, improving the browsing experience around event sessions.
Original PR description
Impacted version: - 18.0 Impacted code: -Module: website_event_track -Edition of event.track model -Edition of EventTrack controller -New mail template added -New widget for the email reminder modal…
Impacted version: - 18.0 Impacted code: -Module: website_event_track -Edition of event.track model -Edition of EventTrack controller -New mail template added -New widget for the email reminder modal -Edition of wigdet of favorites button (in shape of a bell) -New test tours -Edition of the wevent_register_tour Description of the issue/feature this PR addresses: This task aims to improve the UX of the agenda on the website. 1. There is an hover effect has been added to the bell button to set tracks as favorite. 2. Click on the bell button must send an email to visitors with url that give them the possibility to add tracks to their external calendars (Outlook, Appel, Yahoo and Google). For logged visitors the mail is send when they click on the bell button. For unlogged visitors a mal is displayed to allow them to indicate their email address, if they haven't already provided it. The modal had to appear only if the bell is filled up, if visitor is unlogged and do not have already sumbitted is email address. 3. When the mail is sent, a toaster with a notification is display. This last one is "Track successfully added to your favorites. Check your email to add them to your agenda.". The toaster must stay visible even if the user is scrolling down. 4. The track that do not have description nor biography must not be clickable both on the sidebar of track detail page and on the event agenda.So it prevent blank page. Current behavior before PR: The bell only add or remove tracks from favorite. Desired behavior after PR is merged: -When a button of favorites, is empty, it change of color when the cursor pass on it to invite users to click on it. They often do not understand that they can do it. -Creation of the modal for unlogged visitor allow them to indicate their email address, if they do not have already submit it. -When users add tracks to their favorites, they receive a mail that allow them to create reminders in their Appel, Google, Outlook and Yahoo calendars. -The message of the toast, when a track is added to favorite, is changed by "Track successfully added to your favorites. Check your email to add them to agenda.". -The toasts, generated when user clicks on the favorite button, stays at the same place in the window of the browser when user scrolls. -In the agenda and in the 'Other talk' section of the track page, it is not possible to click on the track that does not have description nor partner bigraphy. That prevent blank page. -Unit tests have been created to verify that the modal, which allow visitors to indicate their email for reminders, is displayed and to verify that emails with reminders are sent to visitors and logged users. task-4246975 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Lock Dates Wizard now uses clearer wording, better field labels, and a more visible exceptions section. This helps accounting users understand which lock dates apply and spot exceptions more easily before making changes.
Original PR description
This commit improves the UX of the Lock Dates Wizard with the following changes: - Reworded the tooltips of all 5 lock date fields - Change label for "Lock Everyone" to "Lock Everything" - Move the Exception to the bottom and highlight it in an alert - Make it so that the relevant field of the exceptions are highlighted with an info class (using `decoration-info`) In addition, it also changes the help and string of other related invisible fields (even though it's not needed) to keep it the same everywhere in the code. related community-PR: https://github.com/odoo/odoo/pull/188017 task-id: 4297145