Daily updates from Odoo
Navigate
Branch
Tuesday, November 23, 2021
20 changes
New functionality added to Odoo
Odoo Sign now lets recipients refuse to sign a document when something is wrong, instead of leaving the request pending. The refusal reason is recorded and shared with all signers, and the signing process is stopped for everyone on that request.
Original PR description
add allow refuse check in the sign.send.request
add refuse button in the signing page, a user can see it when
* scroll up the pdf
* haven't filled all sign items
show a refuse confirm and add a textarea for the refuse reason
add refuse reason in chatter log
add refuse in sign.log
send mail to all signers with the refuse reason
when a sign.request is refused by a signer, other signers cannot sign it anymore
When someone is asked to sign a document that is not correct, his only solution is to let the signature request pending and contact the sender.
it's a loss of time for the people that are asked to sign, because they don't know that the document doesn't meet the requirements, or is wrong.
In other software, you've got a functionality called "refuse to sign".
We need to offer that possibility to the users of Sign.
taskid: 2614105Enhancements to existing features
This update simplifies how several messaging-related business app components are defined behind the scenes. It reduces repetitive code and prepares these areas for future improvements without changing day-to-day user workflows.
Original PR description
\* = approvals, voip, website_helpdesk_livechat Task-2695223 See https://github.com/odoo/odoo/pull/79259
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
The Project app user experience is clearer with outdated closed-status references removed and planning labels updated. Users now see planned hours described consistently, reducing confusion when reviewing projects, tasks, and field service work.
Original PR description
Purpose of this commit to improve generic UX for the project app. So, In this commit done following changes: - remove 'is_closed' references. - change stat button string 'hours Forecast' to 'hours Planned' in project and task form view. task-2536044
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
Resolved issues and error corrections
The Sign All action now avoids repeating a step that only needs to happen once. This should make the signing flow more efficient and reduce unnecessary processing without changing the user experience.
Original PR description
When clicking on sign all, currently there is some code being run iteratively that is not required to be run more than once. This PR fixes this issue.
The project cost and revenue tracking option now remains visible in Project settings when Project and Invoicing are installed. Once Accounting is installed, the option moves to Accounting settings as expected, helping users find and enable project financial tracking consistently.
Original PR description
[FIX] project_account: fix the analytic accounting setting Before this fix, the "Track costs & revenues by project" option is missing from the project module if both project and invoicing are installed. Now, this setting is shown on the project module until accounting is installed, as expected. It is then shown in the settings of the account module. task-2695812 See odoo/odoo#80045 See odoo/upgrade#3051 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The eLearning reporting screen now opens the dedicated course reporting list instead of the standard course list when the Enterprise module is installed. This helps users see the right reporting information without confusion or extra navigation.
Original PR description
PURPOSE Show the correct course reporting list view in e-Learning. SPECIFICATIONS By default (in `website_slides`), for course reporting action, we have `slide_channel_view_tree_report` bound to the action. But once `website_slides_enterprise` is installed, it binds dashboard view to the same action. Due to this, now the default course list view (`slide_channel_view_tree`) is displayed with this action instead of the one dedicated to reporting action. This commit fixes the issue by binding the proper views to the course reporting action. LINKS PR #22072 Task 2607467
Features or functions removed from Odoo
The project overview and related costs and revenues report have been removed because they duplicated information available elsewhere and were difficult to improve. Project financial and operational details are now expected to be reviewed through existing project views and analytic information, reducing maintenance burden while keeping the data accessible.
Original PR description
The project overview is a significant technical debt as it is a custom qweb view. It is quite limited: It is not possible to group the data, to filter on dates, SOs or Field Service projects.…
The project overview is a significant technical debt as it is a custom qweb view. It is quite limited: It is not possible to group the data, to filter on dates, SOs or Field Service projects. Improving this is very difficult and would require weeks of development that are not worth it. In any case, all the information provided by the project overview can be found elsewhere. The stat buttons of the report are basically duplicates of the ones from the project form view. Therefore, we are removing this report and its twin, the Project Costs and Revenues. In addition, analytic items lack context for the user to understand what generated a certain cost or revenue: there is no link to the source document; the entries are not categorized (e.g. it is not easy to understand if a cost comes from a timesheet cost, a purchase order or an expense); the billable type group by works fine for timesheets but then all the other entries are flagged as Undefined, which is not very helpful; there is no option to easily isolate costs from revenues. task-2646234 See odoo/odoo#76553
Code cleanup and technical improvements
This update standardizes the internal name used for the reason a sales lead is marked as lost. The change helps reduce confusion for teams maintaining or extending CRM-related processes, with no expected direct impact on daily users.
Original PR description
As this is a many2one, it should end with an ``_id`` suffix. Otherwise we may think this is a char field, which was probably the case at one point. Task-2671709
Miscellaneous changes
Currently the edition of two reports on studio is impossible, because a traceback appears. This fix adds more userfriendly error message Tickets: opw-2689419 opw-2695615 opw-2680819 Forward-Port-Of: odoo/enterprise#22385
Original PR description
Currently the edition of two reports on studio is impossible, because a traceback appears. This fix adds more userfriendly error message Tickets: opw-2689419 opw-2695615 opw-2680819 Forward-Port-Of: odoo/enterprise#22385
- Add domain to only show "general" type journals - Add "name" to parameters that force tax recompute when changed on a line update. Needed because setting the name can change the "invalid" value of a proposition. If that is the case, taxes related to this proposition must also have their "invalid" updated. Task: 2611348 Forward-Port-Of: odoo/enterprise#22423 Forward-Port-Of: odoo/enterprise#21166
Original PR description
- Add domain to only show "general" type journals - Add "name" to parameters that force tax recompute when changed on a line update. Needed because setting the name can change the "invalid" value of a proposition. If that is the case, taxes related to this proposition must also have their "invalid" updated. Task: 2611348 Forward-Port-Of: odoo/enterprise#22423 Forward-Port-Of: odoo/enterprise#21166
Trying to confirm a DO based on EasyPost services leads to a traceback error. `float_repr` returns a String, so using its returned value in `max` is incorrect OPW-2696907 OPW-2697517 OPW-2697456 Forward-Port-Of: odoo/enterprise#22456
Original PR description
Trying to confirm a DO based on EasyPost services leads to a traceback error. `float_repr` returns a String, so using its returned value in `max` is incorrect OPW-2696907 OPW-2697517 OPW-2697456 Forward-Port-Of: odoo/enterprise#22456
Issue: When there is a lot of slot not all the slots are available. The dropdown does not display all the dates because the dropdown is too high. opw-2633197 Forward-Port-Of: odoo/enterprise#20924
Original PR description
Issue: When there is a lot of slot not all the slots are available. The dropdown does not display all the dates because the dropdown is too high. opw-2633197 Forward-Port-Of: odoo/enterprise#20924
The forward port (commit 89d0b32, "[IMP] account_invoice_extract: allow the use of intracom taxes") didn't work in v14.0 as it seems that the tax computation mechanism has changed in between v13 and v14. Forward-Port-Of: odoo/enterprise#22287
Original PR description
The forward port (commit 89d0b32, "[IMP] account_invoice_extract: allow the use of intracom taxes") didn't work in v14.0 as it seems that the tax computation mechanism has changed in between v13 and v14. Forward-Port-Of: odoo/enterprise#22287
Inspired from https://github.com/odoo/enterprise/blob/13.0/sale_ebay/models/product.py#L868 The client_order_ref used to create a SO is OrderLineItemID and not OrderID. In some cases, OrderLineItemID != OrderID client_order_ref must be ItemID-TransactionID An order is created for each transaction opw:2530289 Forward-Port-Of: odoo/enterprise#19957 Forward-Port-Of: odoo/enterprise#18687
Original PR description
Inspired from https://github.com/odoo/enterprise/blob/13.0/sale_ebay/models/product.py#L868 The client_order_ref used to create a SO is OrderLineItemID and not OrderID. In some cases, OrderLineItemID != OrderID client_order_ref must be ItemID-TransactionID An order is created for each transaction opw:2530289 Forward-Port-Of: odoo/enterprise#19957 Forward-Port-Of: odoo/enterprise#18687
… on the bank reconciliation widget This feature can't be used anymore since the payment refactoring in 14.0. Steps to active the feature: - Create a reconciliation model with 'button' type, to_check and set an activity type. - Open the bank reconciliation widget - Select the reconciliation button for any statement line - Click on validate => A pop-up wizard is opened to create a document inside the 'documents' module. Forward-Port-Of: odoo/enterprise#22400
Original PR description
… on the bank reconciliation widget This feature can't be used anymore since the payment refactoring in 14.0. Steps to active the feature: - Create a reconciliation model with 'button' type, to_check and set an activity type. - Open the bank reconciliation widget - Select the reconciliation button for any statement line - Click on validate => A pop-up wizard is opened to create a document inside the 'documents' module. Forward-Port-Of: odoo/enterprise#22400