Thursday, October 28, 2021
8 changes · master
New functionality added to Odoo
The DIN 5008 business document layout has been separated from the German localization so it can also be used for Switzerland and Austria. This makes compliant document formatting available to more countries without requiring the German localization module.
Original PR description
DIN 5008 is not specific to Germany. It also applies to Switzerland, Austria (& Lichtenstein). The goal is to make DIN independent from l10n_de, for Switzerland and Austria. Task: 2613993
Enhancements to existing features
Employees can now cancel their own approved time off without needing Time Off administrator rights, as long as the leave has not started and no work entries have been generated. This makes schedule corrections faster while automatically restoring the allocated days and archiving the cancelled request.
Original PR description
A user without Time Off rights is now allowed to cancel their own
validated time off when:
- It's not yet started;
- No work-entries has been generated for it yet.
The time off is archived and the days taken reallocated.
TaskID: 2643713
Related: odoo/upgrade#2843
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-prResolved issues and error corrections
Product reports now show the correct price for each product template when different pricelists are used. This prevents customers or staff from seeing the same price repeated incorrectly across products, improving pricing accuracy in reports.
Original PR description
Description of the issue/feature this PR addresses: - Create a report to show price on each template --> Issue: The price is the same -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The CRM pipeline analysis report now has clearer and more consistent search filters and grouping options. This makes it easier for sales teams to find, compare, and analyze pipeline data across community and enterprise editions.
Original PR description
PURPOSE
Improve the pipeline analysis search for a better usability.
SPECIFICATIONS
The goal of this commit is to improve the pipeline analysis search
view for a better usability, so the main changes going to be done
in this commit is reordering,renaming,removing and adding some
filters in the pipeline analysis report search view.
As we need to display same filters and groupby in both community and
enterprise pipeline report search view, we have removed the search
view `crm_opportunity_view_search` from enterprise so that we can use
the community view there and both becomes the same view.
So in this commit we have also added some filters and groupby to
community version(`crm.crm_opportunity_report_view_search`) which was
existed in enterprise search view (`crm_enterprise.crm_opportunity_view_search`)
so that we dont miss any filters used in enterprise.
LINKS
PR #71796
Task 2343223Searches that exclude matching linked records now avoid an unnecessary database lookup. This improves performance for users working with filters on related fields, especially on larger datasets.
Original PR description
[IMP] base: improve search on many2one with string values and negative operators
Currently, the domain expression on a many2one field with
negative operator + string values leads to a extra SQL request on the
target model of the many2one which is not optimal and lead to
performance degradation.
Example:
--------
With a simple model A with a one2many (`b_id`) targeting model B (with
a field `b_name` and `_rec_name = b_name`):
The `A.search([('b_id', 'not like', 'OneName')])` will
generate two SQL requests:
- A _name_search on model B and returning ids who match
`('b_name', 'not like', 'OneName')`.
- A other on the model A with the application of the result
of the first one `('b_id', 'in', <returning ids> + [False])`.
Solution:
---------
Avoid the extra SQL request (the first one) and use subquery instead.
We do it by translate the `('b_id', 'in', <returning ids> + [False])`
expression into ['|', ('b_id', 'in', _subquery), ('b_id', '=', False)]
task-2671476Payroll batches no longer include a credit note option because corrections should be handled on each individual payslip. This reduces confusion and helps payroll teams manage adjustments at the right level of detail.
Original PR description
Purpose ======= This is not useful, this should be done payslip by payslip. TaskID: 2679674
CRM reporting dashboards now show related performance indicators in a clearer order and include recurring revenue metrics only for users who should see them. The CRM report search experience is also aligned with the standard Odoo version, making reporting more consistent across editions.
Original PR description
PURPOSE Improve the CRM reporting views. SPECIFICATIONS 0. Support "groups" attribute for dashboard view Add support of "groups" attribute for both aggregates and formulas. This is going to be necessary to hide recurring revenue fields in the crm app. 1. Harmonize search view with community This commit delete the search view `crm_opportunity_view_search` so that it matches with community version(`crm.crm_opportunity_report_view_search`). 2. Improve / rearrange KPIs on dashboard views Right now, on the dashboard view of leads, the KPIs are not in optimum order. This commit improves the behaviour by putting the related KPIs together (based on whether the leads are activated or not) and thus improves the reporting. See underlying commits for details. LINKS Community PR odoo/odoo#71796 PR #18797 Task 2343223
This fix ensures sales, purchase, and accounting screens use the correct country-specific VAT when a company or transaction involves a foreign VAT fiscal position. It prevents incorrect tax options and wrong VAT details from appearing on orders and PDF documents, reducing invoicing and compliance errors.
Original PR description
[FIX] account: fiscal positions: filter tax country properly in view In case the address of the company is in a different country as its fiscal country, the taxes available as "source tax" on the fiscal position lines were not the right ones (the country of the address was used to fetch them). [FIX] purchase, sale: filter taxes properly when using a foreign VAT fiscal position Before, when a foreign VAT fiscal position was used on a purchase order or sale order, no filtering was applied on the available taxes. We now make their behavior consistent with the invoices'. [FIX] purchase, sale: display foreign VAT properly on pdf When printing a sale order or a purchase order using a foreign VAT fiscal position, the domestic VAT was always used on the pdf report instead of the foreign one.