Daily updates from Odoo
Friday, December 6, 2024
18 changes · master
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