Daily updates from Odoo
Tuesday, November 23, 2021
5 changes · master
Enhancements to existing features
The Time Off overview now opens with a default filter showing records for the user's own department instead of the entire company. This reduces the amount of information loaded at once, helping the page load faster and making the view more focused.
Original PR description
Currently, in the overview page of timeoff, in gantt view all records of the company are displayed. The purpose of this commit is to improve the loading time by displaying less information. So in this commit, added a default filter "My Department" on overview page. TaskID: 2695774
UTM tracking records can now be cleaned up by more authorized user groups, reducing database clutter from automatically created sources, mediums, and campaigns. The update also prevents accidental deletion of linked business records and provides clearer messages when a UTM record cannot be removed.
Original PR description
PURPOSE This commit consolidates UTM usage across all applications. Global purpose is to avoid having undesired side-effects, such as unlinking an utm.source/utm.medium/utm.campaign and at the same…
PURPOSE This commit consolidates UTM usage across all applications. Global purpose is to avoid having undesired side-effects, such as unlinking an utm.source/utm.medium/utm.campaign and at the same time cascading the deletion to various records without noticing. SPECS ALLOW MORE PEOPLE TO CLEAN UTM RECORDS Currently, not even the system administrator can delete utm.mediums and utm.sources (he can only delete campaigns). These were considered as "technical records", but allowing some cleanup is a good idea since these records are often automatically generated and can create a lot of unnecessary noise in the database. That's why we now allow the following groups to delete all UTM records (sources, mediums and campaigns): - group_system - group_mass_mailing_user - group_social_manager PREVENT DELETION For some use cases, removing an utm.source/utm.medium/utm.campaign would cascade delete the related record, which was unintended / hidden side effect. These combinations were secured by preventing to unlink: - res.users utm_source_id field Trying to delete the utm.source will throw an error message - hr.job utm_campaign_id field Trying to delete the utm.campaign will throw an error message - marketing.activity utm_source_id field Trying to delete the utm.source will throw an error message ADD CLEAN ERROR MESSAGES When trying to delete an UTM record that is linked with ondelete="restrict", we improved the error message to give a clear explication to the user, e.g: "You can't delete these UTM sources as they are linked to the following mailings in the Mass Mailing APP, and deleting the source would break the statistics: Newsletter" SPECIFY 'ondelete' strategy For a lot of uses of sources/mediums/campaigns, the 'ondelete' strategy was not specified, leading to the confusion of "is this really how we want to handle this?". A lot of ondelete="set null" have been added in various field definitions to ensure that this is the desired and logical strategy we want for that specific model. ENFORCE NEW RULES WITH TESTS A lot of python tests have been added to make sure we enforce the decisions taken here above. LINKS COM PR odoo/odoo#72239 Task-2459480
Helpdesk users can now create refunds and returns with more relevant sales orders, deliveries, products, and invoices suggested from the ticket context. This reduces manual searching and helps teams process customer return and refund requests faster and with fewer mistakes.
Original PR description
Generic UX improvements to ease the creation of returns and refunds
from tickets.
Purpose of helpdesk_stock_account module-
- If the product is set on the ticket then the last sale order of that product is
to be set in the invoice refund wizard.
Ticket:
- If there is a customer set on the ticket then the product of his
confirmed sale order or outgoing picking will appear. Otherwise all.
Refund and Return:
- sale_order_id field should be editable.
- restricted to the SO from the partner set on the ticket else, all sale_order_id should be visible.
Return:
- the selectable picking_id should be restricted to the ones containing the
product_id set on the ticket else, all picking_id should be visible.
Refund:
- the Invoice to Refund (move_ids field )should be restricted to the product selected on the ticket.
closes odoo#20230
task-2496333Documents spreadsheets have been reorganized so the spreadsheet tools can load only when a user opens or needs them. This should improve initial loading performance while keeping the spreadsheet experience available in Documents.
Planning now keeps a sale order line assigned to the same employee when it has already been scheduled for a given period. This prevents the same work from being accidentally planned across multiple employees, improving scheduling consistency and avoiding duplicate assignments.
Original PR description
Purpose ======= Prior to this commit, when a sale order line was already planned during a given period for a given employee, the next call to action_plan_orders was still planning a new slot for another employee. The goal of this task is to avoid planning same sale order line to multiple employees within the same period. Specification ============= The employees assigned on sale line orders already planned during the period are retrieved and then are the only employees assignable on those sales order lines. task-2654922