Thursday, March 30, 2023
30 changes · master
Enhancements to existing features
Sales reports can now identify the related point-of-sale order when the report entry comes from POS. This improves traceability between reporting data and the original transaction, while leaving regular sales order report entries unchanged.
Original PR description
Steps to reproduce: Solution: Add a field `pos_order_id` (which is null when the `sale.report` comes from a `sale.order`) Problem: `sale.report` doesn't have any field linking it to its `pos.order` opw-3067700
Project sample data now includes additional business context such as company, customer, and assigned users. This helps teams test and demonstrate project workflows with more realistic information.
Original PR description
In this commit, we added extra fields: company, partner, users task-3082068
The mail emoji picker is easier to use, with larger centered emojis, clearer search focus, and a friendlier empty-search screen. These visual refinements make message composition smoother and more consistent, including when emoji loading fails.
Original PR description
- Bigger and centered emojis in grid - Better visual clue of focused input from search icon - No search screen with icon + text - Consistent sizing of emoji picker in case of failure - Added basic test for active highlighted category Before <img width="288" alt="before" src="https://user-images.githubusercontent.com/6569390/228522941-594721f8-a7b9-45ac-a86b-213dd11c701c.png"> After <img width="291" alt="after" src="https://user-images.githubusercontent.com/6569390/228523053-d2f0d7b3-9027-4bfa-bbc8-a0231be95d3a.png"> <img width="290" alt="empty-search" src="https://user-images.githubusercontent.com/6569390/228523102-b28a7160-7b57-4b75-94b1-2054ae2b5032.png">
Live survey presenters now see a short label next to the forward arrow indicating what content comes next. This helps speakers prepare their transition and run survey presentations more smoothly.
Original PR description
Current behavior before PR: While presenting a survey, sometimes it is good to know what content will be next. However, this is not possible currently. Desired behavior after PR is merged: Ease the job of the live speaker by letting them know in advance what the next slide will be about? Added a label next to the arrow icon based on what the next slide will be. Task: https://www.odoo.com/web#id=2791000&cids=2&menu_id=4720&action=4043&model=project.task&view_type=form -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
CRM users can now access cancelled quotations linked to a lead from the lead’s quotation shortcut, giving them a more complete view of past sales activity. Cancelled quotes remain excluded from the visible quotation count and only appear when users remove the standard quotations filter, so regular pipeline figures stay unchanged.
Original PR description
In order to be able to see all quotes linked to a crm lead, we now allow cancelled quotes in the domain of leads when using the stat button. The cancelled ones are not shown until the 'quotations' filter is removed in the search. Also, cancelled ones are not accounted for in the counter. To do that, we create a specific domain method for the action, and override it in sale_renting_crm to exclude rental orders. The _get_lead_quotation_domain is not directly modified as one would also need to exclude cancelled quotes in _compute_sale_data. Also, we cannot add an expression.OR method in the action code, because the domain is extended in sale_renting_crm and the domain order of operation could include cancelled rental orders, which is not desired. Task-3237734 ENT PR https://github.com/odoo/enterprise/pull/38957
Project and invoice timesheet totals are now calculated without applying each user's detailed timesheet access checks. This should improve performance in project and sales workflows while keeping the displayed totals consistent for business use.
Original PR description
Before this PR total time on timesheet for projects and Invoices computed according to user's access to timesheet and security rules on account.analytic.line are quite complex. So, in this PR compute those fields with sudo to ease the perfomance of project and sale apps. task-2890184
This update adds a way to quickly generate sample Discuss channels, members, and messages. It helps teams test and demonstrate Discuss with realistic data more easily, without affecting day-to-day users.
Original PR description
This PR add a populate command for models `mail.channel`, `mail.channel.member` and `mail.message`.
It will only create channel of type `channel` and `group`.
I used this bash function to quickly delete/create a database and populate it.
```bash
# Quickly drop the current db (it use the git branch name as database name) and
# create a new one that will be populated.
# usage: odoo-populate model_name size
odoo-populate() {
dropdb $(git branch --show-current)
odoo -i mail --stop-after-init
./odoo-bin populate --models $1 --size $2 -d $(git branch --show-current) --addons-path=~/projets/pro/odoo/addons,~/projets/pro/enterprise --c ~/projets/pro/.odoorc
}
```Project screens and reports were refined to make everyday project tracking clearer and easier to use. Users get better search filters, clearer milestone and recurrence information, and small layout improvements in task and timesheet-related views.
Original PR description
Purpose of this commit to improve generic usage of project app. So in this commit done the following changes: - the sequence field should not be optional for project.task.type list view - move the fa-play icon next to the remaining hours widget in kanban view - add the filters that are highlighted to the project sharing search view - add group bys for project sharing search view - add filter and separator for burndown chart search view - transform the 'milestones' stat button into 'x Milestones /n y Reached - change the recurrence banner - add the placeholder for the label_tasks field 'e.g. Tasks' task-2947481
The mail chat recipient selector now gives clearer feedback when no matches are found and opens or closes more predictably based on where the user clicks. This makes starting conversations smoother and reduces confusion in the messaging interface.
Original PR description
1. Display no result when having no matched results. 2. Hidden when clicking outside of the field. 3. Be visible when clicking inside the field. 4. Add related tests task-3208033 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Project app now groups task-related options under a single Tasks menu, with separate choices for My Tasks and All Tasks. This makes navigation cleaner and easier to extend in the future, especially when custom task menus are added.
Original PR description
Purpose: - In the project, My Tasks and All Tasks menu are related to the task model so having two main menus for the same model which display almost the same thing would not be great for UI and it'll not look good if we add another menu in the future or via customer customization. So in this Commit: - We have added a menu named Tasks which has 2 sub-menus My Tasks and All Tasks which would be great to display tasks task-3180910
Project task updates have been optimized to reduce delays caused by repeated permission checks during internal processing. This should make saving or modifying tasks faster, especially in environments with many tasks or users.
Original PR description
All write operations on the `project.task` model are slowed down significantly by a dict comprehension mapping tasks to their user_ids because of the access rules checks. By adding a sudo to that dict comprehension, this PR makes it bypass those checks and speeds it up. Task-3164004
Odoo now uses a shared overlay layer for foreground elements such as popups, dialogs, and visual effects. This improves consistency and prevents display layering issues when multiple foreground elements are opened from one another.
Original PR description
This commit adds a new service "overlay" that will be used as a base for other service which displays a component on foreground like "popover" or "dialog". The services "popover", "dialog" and "effect" already uses this new service to have a common container. The "overlay" service also fix a stacking context issue that could happen when a popover opened a dialog and this dialog then opened another popover thanks to the common container. task id: 3233266
Odoo now records changes to a contact’s full address in the activity history, making it easier to see who updated important partner address information. Instead of logging each address line separately, the update presents address changes as one clear entry for better readability.
Original PR description
Currently there is no way of knowing who changed the address of a partner. This field is of high importance and should be tracked to be able to follow who is editing it. As addresses are represented with a bunch of fields, tracking them individually would result in weird-looking tracking messages with each value stacked on top of the other. To avoid this, we take advantage of the fact that tracking can be used on non-stored compute fields to log any change as a change over the full address. The full address is derived from the contact_address field to take advantage of the existing regional formatting of addresses. It is however modified to replace return to lines with commas to acomodate the formatting of tracking messages in the front-end. task-3165293 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update makes it easier for administrators and developers to edit action helper text by enabling a raw HTML editing option. It improves maintenance of on-screen guidance without changing day-to-day business workflows.
Original PR description
When editing an action using the dev options, one may need to update the action helper of the current action. Currently, the html field used to edit the action helper does not have the "codeview" option. As a result, the raw html of the action helper can not be edited easily. To solve that problem, this commit will simply add the "codeview" option on the html field. task-3252414 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Sales order fields now show clearer placeholder text to indicate that users can type with the keyboard to search. This small usability improvement helps users find and select related records more easily while entering sales orders.
Original PR description
make clear for the user that the keyboard can be used for the search task-3175239 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The project burndown chart search options have been aligned more closely with the standard task search views. This makes reporting filters more consistent and useful for users analyzing project progress.
Original PR description
This commit removes some field from the burndown chart search view that were previously removed from the task search views. It also adds a few fields present in the task search views but missing from the burndown chart. Enterprise: https://github.com/odoo/enterprise/pull/36804 Task-3142077
Clicking charts or pivot tables in Project reporting will no longer open the underlying form or list views. This keeps reporting focused on analysis and avoids accidentally navigating users away from the report.
Original PR description
Before this commit open the form/list view from reporting views when clicking on the graph and pivot. This commit prevents the opening of the form/list view from reporting. task-3166747
The sales order list now makes the Create Invoice action more prominent. This helps sales teams complete a frequent invoicing step faster and improves day-to-day usability.
Original PR description
create invoice is a common action in sales orders listview that should be promoted for the better user experience task-3037442
Field service burndown chart reporting can now include worksheet template information in its search options. This helps teams analyze progress by the type of worksheet used, making operational reporting more flexible and easier to segment.
Original PR description
This PR adds the worksheet template field to the burndown chart search view Community: https://github.com/odoo/odoo/pull/112194 Task-3142077
Field Service reporting charts and pivot tables now keep users within the reporting view when they click data points. This reduces accidental navigation and helps users stay focused on analyzing reports rather than opening individual record lists or forms.
Original PR description
Before this commit open the form/list view from reporting views when clicking on the graph and pivot. This commit prevents the opening of the form/list view from reporting. task-3166747
When creating planning slots, choosing a material resource now automatically fills in that resource's default role. This saves time and reduces manual entry, making slot creation smoother and more consistent.
Original PR description
In this commit improve the following generic UX - selecting material resource will select the role by default of that material - earlier only employee was selected by default - will ease the creation of slot task-3146985
Rental quotations created from CRM leads now use the salesperson assigned to the lead when one is set. This keeps sales reporting aligned with the person responsible for the opportunity instead of defaulting to another salesperson from the customer record.
Original PR description
In order to match the logic of sale_crm, we want the salesperson set on the lead to be propagated on the quotation, so that the reporting correctly accounts for them. The user set on the lead is added to context for both actions leading to the rental quotations. It will be prioritized as the salesperson on the newly created quotation, if any. Note: we want to add it as a default user_id only if set, otherwise user_id will be False by default in the newly created quotation. Before, the next salesperson in line inherited the quotation, i.e. the one set on the partner_id. (For more details on order of user_id based on the partner_id, check the _compute_user_id method in the sale.order model) Task-2612207
When a human resource is created from a planning role, the system now automatically creates and links the corresponding employee to that role. This reduces manual setup and keeps planning roles and employee records aligned.
Original PR description
In this particular commit, it has been established that if a Human type of resource is created dynamically from a planning role, a new employee will be linked to that specific role. task-3162601
Users can now leave extracted field selections empty when processing documents. This reduces unnecessary validation friction across invoice, purchase, expense, recruitment, and extraction workflows when no suitable value is available.
Original PR description
Before this commit, `selected_value` needed to be set with a content. This commit allows `selected_value` that are `None`. task-3109453
HR salary package configurators can now make some benefits available only when required related benefits are selected. This helps companies enforce benefit rules, such as allowing a fuel card only when a company car is also chosen.
Original PR description
Purpose: There are some business cases when one would like to make some advantages dependent on others. Thus only allow to pick specific (dependent) advantage if the mandatory advantage(s) are picked. For example, the company might want to forbit to pick fuel card, in case car is not picked. To solve this, the m2m advantage_ids field is added on the 'hr.contract.salary.advantage' model. All the mandatory advantages should be selected in order to select the dependent advantage. task - 2941827
The task timer in the project kanban view has been adjusted to make time tracking easier and more intuitive. This helps project users work more smoothly when recording time on tasks.
Original PR description
Purpose of this commit to improve generic usage of project app. So in this commit, we adjust the timer on task kanban view. task-2947481
Helpdesk team time totals are now calculated in a way that avoids complex access-rule checks during the calculation. This should improve Helpdesk performance while keeping the displayed total time available for teams.
Original PR description
Before this PR total time on timesheet for helpdesk team computed according to user's access to timesheet and security rules on account.analytic.line are quite complex. So, in this PR compute those fields with sudo to ease the perfomance of helpdesk app. task-2890184
Sales teams can now see cancelled quotes linked to a CRM lead while keeping rental orders out of that quote view. This makes lead follow-up clearer by showing relevant quote history without mixing in rental-specific orders.
Original PR description
In this part of the task, we extend the new function returning the domain of the action leading from crm lead to quotes, to exclude rental orders. Task-3237734 COM PR https://github.com/odoo/odoo/pull/115864
The Field Service and Project apps now include generated sample data to make demonstrations, testing, and onboarding easier. This helps teams evaluate workflows with realistic records without having to create them manually.
Original PR description
This commit add populate for FSM app. task-3082068
This update makes it easier for payroll localizations to use a different payslip email template. It reduces the need for deeper custom changes when adapting payslip emails for specific business or country requirements.
Original PR description
Useful improvement for payroll module localization It will be nice to have a way to change payslip email template without rewriting all `_generate_pdf` method