Monday, March 1, 2021
8 changes · master
Enhancements to existing features
Product list searches that filter by available quantity now use an existing optimization. This should make those searches faster and smoother for users working with inventory data.
Original PR description
Such requests could be done via Products list and there is no reason to don't use optimization --- opw-2452728 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
When users open the app list from Accounting to look for a localization, the extra category search panel is now hidden. This reduces visual clutter and makes it easier to focus on the relevant localization options.
Original PR description
The search panel showing app categories in the app list is unnecessary when opening the list with the context of searching for a localization. This will change it so that panel is hidden in this case. task id #2370971 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves Odoo's automated testing process by allowing certain test groups to run in a required order. It helps ensure upgrade-related checks run reliably and reduces false failures in internal quality validation.
Original PR description
We have some tests in odoo/upgrade that are sensitive to the order on which they are executed. Specifically: IntegrityCase tests need to be run after all UpgradeCase tests across all Odoo modules. To support this we implemented a sorting mechanism for tests based on the test_sequence class attribute. This is intended to be used by meta cases, not by individual tests. 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
Odoo now treats fields used for model inheritance in a more consistent way when filtering records. This helps ensure that searches return the same results whether users search inherited fields directly or through their linked parent record, without weakening existing access rules.
Original PR description
The field that supports inheritance should be auto_join=True. This guarantees that searching on an inherited field (X) or its explicit related expression (foo_id.X) gives the same query. Note that adding auto_join=True on that field does not weakens the model's security, since searching on the model automatically injects the parent model's security rules into the query (see _apply_ir_rules).
Accounting journals now keep their outstanding payment accounts when duplicated, reducing manual setup and configuration mistakes. Default account settings are easier to manage, and payment records now provide quicker access to their linked journal entries.
Original PR description
Now when duplicating a bank or cash journal, the outstanding accounts are the same as the original journal. Added a compute method for payment_credit_account_id and payment_debit_account_id to retrieve the default value from the company. These default accounts can be changed in the settings. Change UI for some settings (Default accounts). Added a smart button on payments to access the linked journal entry. Changing the tree view of account.journal: - Edit journal_group_ids: Optional show - Add currency_id: Optional hide - Add code: Optional show - Add default_account_id - Add payment_debit_account_id: Optional hide - Add payment_credit_account_id: Optional hide - Add active **Task ID:** #2451842 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo can now group records using flexible calculated fields that do not need to be stored permanently in the database. This enables more reporting scenarios and improves kanban progress calculations, with large CRM datasets using far fewer queries and loading much faster.
Original PR description
There are few possible reasons why a computable field cannot be storable: 1. it depends on context: * current time * settings of a user (e.g. timezone) * a variable in ``env.context`` 2. a field is…
There are few possible reasons why a computable field cannot be storable: 1. it depends on context: * current time * settings of a user (e.g. timezone) * a variable in ``env.context`` 2. a field is used too rare to be stored in database (e.g. related field to ``partner_id.country_id.name``) 3. it would trigger too many/often recomputations To allow grouping in such exceptional cases, this commit introduces *adhoc* fields, which don't need to be specified in model definition as regular fields. --- As a first application of the new features, this commit also replace read_progress_bar with read_group, which is not just refactoring but a performance improvement too. Test demo crm.lead records: ``` | measurement | before | after | |--------------------+--------+-------| | number of queries | 10 | 3 | | query time, ms | 10 | 5 | | remaining time, ms | 35 | 9 | Test on 20K crm.lead records: | measurement | before | after | |--------------------+--------+-------| | number of queries | 184 | 3 | | query time, ms | 900 | 165 | | remaining time, ms | 5500 | 12 | ``` --- task-1915411 task-2155109 opw-2346901 closes #29292 closes #41421 closes #65136 closes #65854
Appraisal feedback now displays only the survey answers tied to the specific appraisal being reviewed, rather than mixing in responses from the same template. When requesting feedback, the correct survey template is selected automatically, and users without the right access receive a clear access-denied response instead of confusing errors.
Original PR description
Only shows the answers specific for the appraisal requested and not all the answers that are using the same survey template. TaskID: 2465068
Accounting asset lists now show more useful details, such as acquisition date, original value, and depreciation method, while keeping some advanced fields optional. The Online Synchronization menu was also repositioned to make it easier to find, and related accounting settings were reorganized for better consistency.
Original PR description
Changing the tree view of account.asset: - Add parent_id: Optional hide - Add acquisition_date - Add original_value - Add method - Add account_asset_id: Optional hide - Add account_depreciation_id: Optional hide - Add account_depreciation_expense_id: Optional hide Changing the place of "Online Synchronization" menu. **Task ID:** #2451842