Thursday, May 20, 2021
13 changes · master
Enhancements to existing features
The web interface now loads key page templates at the same time as JavaScript assets instead of waiting for one step to finish before starting the next. This improves startup performance and can save around half a second during initial loading, making the system feel more responsive.
Original PR description
BEFORE: browser loads js assets first, then qweb, then makes other initialization. AFTER: load qweb in parallel with js assets. This saves ~500 ms in runbot Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Sales and payment users can now specify which payment provider should be used when generating a payment link. This gives teams more control over the customer payment experience and helps route payments through the most appropriate provider.
Original PR description
Simplified version of #69334 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Lead mining requests now show clear warnings when no results are found or when credits are insufficient. This helps sales users quickly understand the problem and adjust their search or buy more credits without restarting the process.
Original PR description
This commit improves the crm.iap.lead.mining.request error handling by displaying the encountered error (currently one of "no results" or "insufficient credits") within a warning block on top of the form view. This allows the user to quickly understand what's going on and change his parameters to get results or buy additional credits if he's out. Furthermore, this commit simplifies the technical implementation by avoiding to re-create a separate crm.iap.lead.mining.request when we encounter an issue and instead allow the user to modify the current request with an error state. Task-2478427 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Project tasks now keep their assigned customer when a project or parent task customer changes, avoiding unexpected bulk updates. New tasks still receive sensible default customers from their project or parent task, and project cards show the commercial customer consistently.
Original PR description
Purpose ====== During the development of the task #2169100, it appeared that the synchronisation of a task's partner_id according to its project's partner_id and its parent's partner_id was not very…
Purpose
======
During the development of the task #2169100, it appeared that the synchronisation
of a task's partner_id according to its project's partner_id and its parent's
partner_id was not very clear.
A first idea was to simplify the partner_id management: as it could be annoying
for the customer to see all the task's partner_id overriden after project's
partner_id modification, the idea was to just use the parent's parnter_id or the
project's partner_id as default value of the task's partner_id. Then, if the
partner_id of the project or of the parent is changed, there is no more impact
on the task partner_id itself.
The main problem of this solution is that the management of the task's partner_id
is also extended in several others modules like sale_project and sale_timesheet.
You can find below what seems to happen with all these task partners.
Start following rules according to which module is installed.
(for the record: sale_timesheet depends on sale_project which depends on project).
Rules are applied in the order they are written.
Rules labelled "O" only apply when changing the project through the task form view.
Rules labelled "C" apply everywhere.
technical: C=compute, O=onchange
project
C.1 If parent's partner changes and the partner is not set, then set the parent's
partner
C.2 Else if project's partner changes ant the partner is not set, then set the
project's partner
sale_project [+ project]
C.1 If the project's sale order line's partner changes and the partner is not set,
then set the project's sale order line's partner
C.2 Else apply (project.C) rules
sale_timesheet + [sale_project + project]
C.1 Apply (sale_project.C) rules
O.1 If the project is billed "At Project rate" or "At Employee Rate" and the
partner is not set, then set the project's sale order's partner
the sale order line's partner
Specification
===========
- If the partner changes, we ignore all current tasks and let them be. We set the
new partner as default value on all new tasks. In detail, we have done
this:
- When the user creates a task give the customer of the default project or the
task parent as default customer for the task.
- When the user changes the project and no partner in the task, we take the
partner of the new project (if this project has a customer).
- When the user changes the customer of the project, the linked tasks are not
impacted by this changes, even if some tasks have not a customer yet.
- When the user changes the customerf of the parent task, the child tasks are
not impacted by this changes, event if these tasks have not a customer yet.
- remove the onchange rule to remain consistent.
- get the display_project_id if parent is subtask.
## Miscellaneous
- display commercial_partner_id in project kanban view rather than the partner_id
in the kanban card of each project to be consist with task's kanban card.
TaskID: 2232042
closes #51471
Co-authored-by: Xavier BOL (xbo) <xbo@odoo.com>Users can now choose or unchoose several companies from the company switcher without the page reloading after every single click. The system waits briefly before applying the changes, making multi-company switching faster and less repetitive.
Original PR description
PURPOSE Allow users to (de)select multiple companies from the company switcher before the page reloads. SPECIFICATION Give the user some time to (de)select another company before reloading the page. After the user has clicked on a company checkbox, wait 500ms. If after 500ms, the user hasn't clicked another checkbox, submit the changes and reload the page. This means that, as long as the user checks the multiple boxes within less than 500ms each time, he'll be able to select all the desired companies at once before the page reloads. TASK 2467747 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Many dropdown-style links across Odoo now use the standard searchable field while still preventing users from creating or opening linked records from those spots. This makes choosing existing records easier and removes the previous 100-item limitation without changing the intended restrictions.
Original PR description
currently, Across Odoo, there are around 40+ many2one fields defined with a
'selection' widget. Since the many2one widget has options to limit record
creation and opening, there is no reason to define a many2one field with a
selection widget. The selection widget does not allow for searching, and is
limited to 100 records.
PURPOSE
to update the definition of any many2one on which we applied a 'selection'
widget, and instead use the standard many2one widget with disabled
opening/creation instead.
after this commit,
for each many2one field defined with widget="selection", widget="selection" is
replaced with options="{'no_open': True, 'no_create': True}"
Task : 2476488
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThe mass mailing form now gives more space and attention to the email body, making campaigns easier to design. Settings are better organized, scheduling is clearer through a dedicated wizard, and empty emails show helpful guidance instead of a blank area.
Original PR description
Make the email body take the entire space to avoid having some wasted space, this will also make the user have more focus when designing an email. Revamp the settings notebook page in order to give more clarity to the user, furthermore, some fields from the main form have been moved to this section to have more space in the bottom for the email body. Add a wizard that enables the user to schedule a mailing, the schedule field is still kept in the form for the user to be able to change the date when the mailing is in the queue (if they want to send it sooner). Display an action helper-style content when the email is empty, because, currently, the user is left with a big white screen when the email has no content which is not desirable. Task-2469409 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The expense app demo data now uses clearer, more realistic expense categories with updated sample expenses and reports. The cost field help text was also clarified so users can better understand fixed versus variable expense costs during demos or evaluation.
Original PR description
Currently, in the expense module, demo expense products are more specific to the expenses and label tooltip of the cost field doesn't convey proper difference between fixed and variable cost of expense products. So in this commit, replace old expense products with new expense products and recreate expenses and reports using these categories(products). it will provide better experience on demo. overwrite label tooltip of cost field in expense app to convey proper difference between fixed and variable cost of expense products. Task-id: 2491238 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users can now create custom filters for file or image fields to find records where those fields are set or not set. This makes it easier to manage products, contacts, and other records that need attachments or images reviewed.
Original PR description
PURPOSE Allow to check whether a binary field is set or not by adding a basic filtering on binary fields. The main use case is to give users a way to filter records (e.g. products, contacts) that (do not) have a image set. SPECIFICATION Add binary fields to the list of field types usable in custom filters. The only supported operators are 'set' and 'not set' (just like when filtering based on a boolean field). TASK 2512226 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users can now select or deselect several companies from the company switcher without the page reloading after every click. The system briefly waits before applying changes, making multi-company switching faster and less repetitive.
Original PR description
PURPOSE Allow users to (de)select multiple companies from the company switcher before the page reloads. SPECIFICATION Give the user some time to (de)select another company before reloading the page. After the user has clicked on a company checkbox, wait 500ms. If after 500ms, the user hasn't clicked another checkbox, submit the changes and reload the page. This means that, as long as the user checks the multiple boxes within less than 500ms each time, he'll be able to select all the desired companies at once before the page reloads. TASK 2467747
The mailing form in Marketing Automation now places the activities field below the source field. This small layout adjustment makes the form easier for users to understand and follow when setting up mailings.
Original PR description
This commit puts the activities field below the source field following community changes which aim at making the mailing form easier to understand by the user. Task-2469409 COM-PR: https://github.com/odoo/odoo/pull/68882
Several dropdown-style relationship fields now use Odoo’s standard searchable selector while still preventing users from creating or opening related records where that was intended. This makes choices easier to find and avoids the previous 100-item limit without changing the underlying business process.
Original PR description
currently, Across Odoo, there are around 40+ many2one fields defined with a
'selection' widget. Since the many2one widget has options to limit record
creation and opening, there is no reason to define a many2one field with a
selection widget. The selection widget does not allow for searching, and is
limited to 100 records.
PURPOSE
to update the definition of any many2one on which we applied a 'selection'
widget, and instead use the standard many2one widget with disabled
opening/creation instead.
after this commit,
for each many2one field defined with widget="selection", widget="selection" is
replaced with options="{'no_open': True, 'no_create': True}"
Task : 2476488Referral users can now be granted permission to view referral rewards and plan follow-up activities on them. This makes it easier for teams responsible for referral gifts to manage rewards directly without broader system access.
Original PR description
Refferal: Gift responsible access right improvement and activity view on Refferal Rewards configuration Add technical right for referral users. The referral users with this right should be able to see rewards and schedule activities on them Task - 2391337