[IMP] *: enable_counters with false as default

In the search panel, the attribute disable_counters with default False
has been changed to enable_counters with default False.
This commit is contained in:
Julien Mougenot
2020-06-12 13:34:04 +00:00
parent 84cc6fab9e
commit f5f0ca843d
17 changed files with 176 additions and 124 deletions
@@ -119,7 +119,7 @@
<filter string="Account Type" name="accounttype" domain="" context="{'group_by':'user_type_id'}"/>
</group>
<searchpanel class="account_root">
<field name="root_id" disable_counters="1" icon="fa-filter"/>
<field name="root_id" icon="fa-filter"/>
</searchpanel>
</search>
</field>
+1 -1
View File
@@ -368,7 +368,7 @@
<field name="arch" type="xml">
<xpath expr="//group" position="after">
<searchpanel class="account_root">
<field name="account_root_id" disable_counters="1" icon="fa-filter"/>
<field name="account_root_id" icon="fa-filter"/>
</searchpanel>
</xpath>
</field>
+2 -2
View File
@@ -19,8 +19,8 @@
<filter name="group_company" string="Company" domain="[]" context="{'group_by':'company_id'}"/>
</group>
<searchpanel>
<field name="company_id" groups="base.group_multi_company" icon="fa-building"/>
<field name="department_id" icon="fa-users"/>
<field name="company_id" groups="base.group_multi_company" icon="fa-building" enable_counters="1"/>
<field name="department_id" icon="fa-users" enable_counters="1"/>
</searchpanel>
</search>
</field>
+2 -2
View File
@@ -27,8 +27,8 @@
<filter name="group_job" string="Job" domain="[]" context="{'group_by': 'job_id'}"/>
</group>
<searchpanel>
<field name="company_id" groups="base.group_multi_company" icon="fa-building"/>
<field name="department_id" icon="fa-users"/>
<field name="company_id" groups="base.group_multi_company" icon="fa-building" enable_counters="1"/>
<field name="department_id" icon="fa-users" enable_counters="1"/>
</searchpanel>
</search>
</field>
@@ -15,8 +15,8 @@ async function createLunchView(params) {
var searchArch = params.archs[`${params.model},false,search`] || '<search></search>';
var searchPanelArch = `
<searchpanel>
<field name="category_id" select="multi" string="Categories"/>
<field name="supplier_id" select="multi" string="Vendors"/>
<field name="category_id" select="multi" string="Categories" enable_counters="1"/>
<field name="supplier_id" select="multi" string="Vendors" enable_counters="1"/>
</searchpanel>
`;
searchArch = searchArch.split('</search>')[0] + searchPanelArch + '</search>';
+2 -2
View File
@@ -16,8 +16,8 @@
<filter name="group_by_category" string="Category" context="{'group_by': 'category_id'}"/>
</group>
<searchpanel>
<field name="category_id" select="multi" string="Categories" icon="fa-cutlery" color="#875A7B"/>
<field name="supplier_id" select="multi" string="Vendors" icon="fa-truck"/>
<field name="category_id" select="multi" string="Categories" icon="fa-cutlery" color="#875A7B" enable_counters="1"/>
<field name="supplier_id" select="multi" string="Vendors" icon="fa-truck" enable_counters="1"/>
</searchpanel>
</search>
</field>
+5 -5
View File
@@ -314,7 +314,7 @@ class Base(models.AbstractModel):
the values are functions used to process
the field names values. They must accept the single
parameter record (see below)
:param disable_counters: whether to count records by value. This is done in
:param enable_counters: whether to count records by value. This is done in
search_panel_local_counters
:param filter_domain: domain generated by filters
(this parameter is used in search_panel_local_counters)
@@ -329,7 +329,7 @@ class Base(models.AbstractModel):
field = self._fields[field_name]
local_counters = {}
if field.type != 'many2many' and not kwargs.get('disable_counters'):
if field.type != 'many2many' and kwargs.get('enable_counters'):
local_counters = self.search_panel_local_counters(field_name, **kwargs)
if field.type in ['many2many', 'many2one']:
@@ -375,7 +375,7 @@ class Base(models.AbstractModel):
(this parameter is used in _search_panel_range)
:param comodel_domain: domain of field values (if relational)
(this parameter is used in _search_panel_range)
:param disable_counters: whether to count records by value
:param enable_counters: whether to count records by value
:param search_domain: base domain of search
(this parameter is used in _search_panel_range)
:return: {
@@ -428,7 +428,7 @@ class Base(models.AbstractModel):
:param category_domain: domain generated by categories
:param comodel_domain: domain of field values (if relational)
(this parameter is used in _search_panel_range)
:param disable_counters: whether to count records by value
:param enable_counters: whether to count records by value
:param filter_domain: domain generated by filters
:param group_by: extra field to read on comodel, to group comodel records
:param group_domain: dict, one domain for each activated group
@@ -480,7 +480,7 @@ class Base(models.AbstractModel):
values_range = self._search_panel_range(field_name, comodel_field_names=field_names, **kwargs)
if field.type == 'many2many' and not kwargs.get('disable_counters'):
if field.type == 'many2many' and kwargs.get('enable_counters'):
# fetch the counts
model_domain = AND([
kwargs.get('search_domain', []),
@@ -44,7 +44,7 @@ function _processSearchPanelNode(node, fields) {
const section = {
color: childNode.attrs.color,
description: childNode.attrs.string || fields[fieldName].string,
disableCounters: !!pyUtils.py_eval(childNode.attrs.disable_counters || '0'),
enableCounters: !!pyUtils.py_eval(childNode.attrs.enable_counters || '0'),
fieldName: fieldName,
icon: childNode.attrs.icon,
id: sectionId,
@@ -390,14 +390,14 @@ const SearchPanel = Widget.extend({
const proms = [];
for (const category of Object.values(this.categories)) {
const field = this.fields[category.fieldName];
if (force || !category.disableCounters) {
if (force || category.enableCounters) {
const prom = this._rpc({
method: 'search_panel_select_range',
model: this.model,
args: [category.fieldName],
kwargs: {
category_domain: this._getCategoryDomain(category.id),
disable_counters: category.disableCounters,
enable_counters: category.enableCounters,
search_domain: this.searchDomain,
},
}).then(({ parent_field, values }) => {
@@ -433,7 +433,7 @@ const SearchPanel = Widget.extend({
kwargs: {
category_domain: categoryDomain,
comodel_domain: Domain.prototype.stringToArray(filter.domain, evalContext),
disable_counters: filter.disableCounters,
enable_counters: filter.enableCounters,
filter_domain: this._getFilterDomain(filter.id),
group_by: filter.groupBy || false,
group_domain: this._getGroupDomain(filter),
@@ -535,10 +535,10 @@ const SearchPanel = Widget.extend({
* @returns {(Array{}|Array[]|undefined)}
*/
_getGroupDomain(filter) {
const { fieldName, groups, disableCounters } = filter;
const { fieldName, groups, enableCounters } = filter;
const { type: fieldType } = this.fields[fieldName];
if (disableCounters || !groups) {
if (!enableCounters || !groups) {
switch (fieldType) {
case 'many2one': return [];
case 'many2many': return {};
+4 -4
View File
@@ -246,13 +246,13 @@
<t t-set="value" t-value="category.values[valueId]"/>
<li class="o_search_panel_category_value border-0 list-group-item" t-att-data-id="value.id" t-att-data-category-id="category.id">
<header t-att-class="'list-group-item-action' + (value.id === category.activeValueId ? ' active' : '')">
<label t-attf-class="o_search_panel_label mb0{{ category.disableCounters ? '' : ' o_with_counters' }}">
<label t-attf-class="o_search_panel_label mb0{{ category.enableCounters ? ' o_with_counters' : '' }}">
<div class="o_toggle_fold">
<i t-if="value.childrenIds.length" t-attf-class="fa fa-caret-{{ value.folded ? 'right' : 'down' }}"/>
</div>
<span class="o_search_panel_label_title"><t t-esc="value.display_name"/></span>
</label>
<span t-if="!category.disableCounters and value.__count > 0"
<span t-if="category.enableCounters and value.__count > 0"
class="text-muted ml-2 small"
t-esc="value.__count"
/>
@@ -293,7 +293,7 @@
<header class="o_search_panel_group_header">
<div class="custom-control custom-checkbox">
<input type="checkbox" t-att-id="inputId" t-att-checked="group.state === 'checked' ? 'checked' : undefined" class="custom-control-input"/>
<label t-att-for="inputId" t-attf-class="o_search_panel_label custom-control-label{{ group.disableCounters ? '' : ' o_with_counters' }}" t-att-title="group.tooltip">
<label t-att-for="inputId" t-attf-class="o_search_panel_label custom-control-label{{ group.enableCounters ? ' o_with_counters' : '' }}" t-att-title="group.tooltip">
<span class="o_search_panel_label_title">
<span t-if="group.hex_color" t-attf-style="color: {{ group.hex_color }};">●</span>
<t t-esc="group.name"/>
@@ -326,7 +326,7 @@
<input type="checkbox" t-att-id="inputId" t-att-checked="value.checked ? 'checked' : undefined" class="custom-control-input"/>
<label t-att-for="inputId" class="o_search_panel_label custom-control-label" t-att-title="group &amp;&amp; group.tooltip">
<span class="o_search_panel_label_title" t-esc="value.display_name"/>
<span t-if="!filter.disableCounters and value.__count > 0"
<span t-if="filter.enableCounters and value.__count > 0"
class="text-muted ml-2 small"
t-esc="value.__count"
/>
@@ -627,7 +627,7 @@ var MockServer = Class.extend({
_mockSearchPanelRange: function (model, fieldName, kwargs = {}) {
const field = this.data[model].fields[fieldName];
let localCounters = {};
if (field.type !== 'many2many' && !kwargs.disable_counters) {
if (field.type !== 'many2many' && kwargs.enable_counters) {
localCounters = this._mockSearchPanelLocalCounters(model, fieldName, kwargs);
}
if (['many2one', 'many2many'].includes(field.type)) {
@@ -690,7 +690,7 @@ var MockServer = Class.extend({
}
const rangeKwargs = Object.assign({ comodelFieldNames }, kwargs);
const valuesRange = this._mockSearchPanelRange(model, fieldName, rangeKwargs);
if (parentName && !kwargs.disable_counters) {
if (parentName && kwargs.enable_counters) {
this._mockSearchPanelGlobalCounters(valuesRange, parentName);
}
return {
@@ -748,7 +748,7 @@ var MockServer = Class.extend({
}
const rangeKwargs = Object.assign({ comodelFieldNames }, kwargs);
const valuesRange = this._mockSearchPanelRange(model, fieldName, rangeKwargs);
if (field.type === 'many2many' && !kwargs.disable_counters) {
if (field.type === 'many2many' && kwargs.enable_counters) {
const modelDomain = Domain.prototype.normalizeArray([
...(kwargs.search_domain || []),
...(kwargs.category_domain || []),
@@ -83,8 +83,8 @@ QUnit.module('Views', {
'partner,false,search':
`<search>
<searchpanel>
<field name="company_id"/>
<field select="multi" name="category_id"/>
<field name="company_id" enable_counters="1"/>
<field name="category_id" select="multi" enable_counters="1"/>
</searchpanel>
</search>`,
};
@@ -126,8 +126,8 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field name="company_id"/>
<field select="multi" name="category_id"/>
<field name="company_id" enable_counters="1"/>
<field name="category_id" select="multi" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -186,8 +186,8 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field name="company_id" icon="fa-car" color="blue"/>
<field select="multi" name="state" icon="fa-star" color="#000"/>
<field name="company_id" icon="fa-car" color="blue" enable_counters="1"/>
<field name="state" select="multi" icon="fa-star" color="#000" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -224,8 +224,8 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field name="company_id"/>
<field select="multi" invisible="1" name="state"/>
<field name="company_id" enable_counters="1"/>
<field name="state" select="multi" invisible="1" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -267,9 +267,9 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field name="company_id"/>
<field select="multi" name="category_id"/>
<field name="state"/>
<field name="company_id" enable_counters="1"/>
<field name="category_id" select="multi" enable_counters="1"/>
<field name="state" enable_counters="1"/>
</searchpanel>
</search>`,
}
@@ -308,8 +308,8 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field name="company_id"/>
<field name="state"/>
<field name="company_id" enable_counters="1"/>
<field name="state" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -356,7 +356,7 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field name="company_id"/>
<field name="company_id" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -419,7 +419,12 @@ QUnit.module('Views', {
</templates>
</kanban>`,
archs: {
'partner,false,search': `<search><searchpanel><field name="state"/></searchpanel></search>`,
'partner,false,search': `
<search>
<searchpanel>
<field name="state" enable_counters="1"/>
</searchpanel>
</search>`,
},
});
@@ -492,7 +497,7 @@ QUnit.module('Views', {
'partner,false,search': `
<seasrch>
<searchpanel>
<field name="company_id"/>
<field name="company_id" enable_counters="1"/>
</searchpanel>
</seasrch>`,
},
@@ -553,7 +558,12 @@ QUnit.module('Views', {
</templates>
</kanban>`,
archs: {
'partner,false,search': `<search><searchpanel><field name="company_id"/></searchpanel></search>`,
'partner,false,search': `
<search>
<searchpanel>
<field name="company_id" enable_counters="1"/>
</searchpanel>
</search>`,
},
mockRPC: function (route, args) {
if (route === '/web/dataset/search_read') {
@@ -610,7 +620,12 @@ QUnit.module('Views', {
</templates>
</kanban>`,
archs: {
'partner,false,search': `<search><searchpanel><field name="company_id"/></searchpanel></search>`,
'partner,false,search': `
<search>
<searchpanel>
<field name="company_id" enable_counters="1"/>
</searchpanel>
</search>`,
},
mockRPC: async function (route, args) {
if (route === '/web/dataset/call_kw/partner/search_panel_select_range') {
@@ -659,8 +674,8 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field name="company_id"/>
<field name="state"/>
<field name="company_id" enable_counters="1"/>
<field name="state" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -731,7 +746,12 @@ QUnit.module('Views', {
</templates>
</kanban>`,
archs: {
'partner,false,search': `<search><searchpanel><field name="company_id"/></searchpanel></search>`,
'partner,false,search': `
<search>
<searchpanel>
<field name="company_id" enable_counters="1"/>
</searchpanel>
</search>`,
},
});
@@ -824,7 +844,12 @@ QUnit.module('Views', {
</templates>
</kanban>`,
archs: {
'partner,false,search': `<search><searchpanel><field name="category_id"/></searchpanel></search>`,
'partner,false,search': `
<search>
<searchpanel>
<field name="category_id" enable_counters="1"/>
</searchpanel>
</search>`,
},
});
@@ -872,7 +897,12 @@ QUnit.module('Views', {
</templates>
</kanban>`,
archs: {
'partner,false,search': `<search><searchpanel><field name="company_id"/></searchpanel></search>`,
'partner,false,search': `
<search>
<searchpanel>
<field name="company_id" enable_counters="1"/>
</searchpanel>
</search>`,
},
});
@@ -920,7 +950,12 @@ QUnit.module('Views', {
</templates>
</kanban>`,
archs: {
'partner,false,search': `<search><searchpanel><field name="company_id"/></searchpanel></search>`,
'partner,false,search': `
<search>
<searchpanel>
<field name="company_id" enable_counters="1"/>
</searchpanel>
</search>`,
},
});
@@ -967,7 +1002,12 @@ QUnit.module('Views', {
</templates>
</kanban>`,
archs: {
'partner,false,search': `<search><searchpanel><field name="company_id"/></searchpanel></search>`,
'partner,false,search': `
<search>
<searchpanel>
<field name="company_id" enable_counters="1"/>
</searchpanel>
</search>`,
},
domain: [['bar', '=', true]],
});
@@ -1050,8 +1090,8 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field name="state"/>
<field select="multi" name="company_id"/>
<field name="state" enable_counters="1"/>
<field name="company_id" select="multi" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -1129,7 +1169,7 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field select="multi" name="company_id"/>
<field name="company_id" select="multi" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -1193,7 +1233,7 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field select="multi" name="company_id"/>
<field name="company_id" select="multi" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -1300,7 +1340,7 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field select="multi" name="state"/>
<field name="state" select="multi" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -1392,8 +1432,8 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field name="state" disable_counters="1"/>
<field select="multi" name="company_id"/>
<field name="state"/>
<field name="company_id" select="multi" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -1460,8 +1500,8 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field name="category_id" disable_counters="1"/>
<field select="multi" name="company_id"/>
<field name="category_id"/>
<field name="company_id" select="multi" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -1531,8 +1571,8 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field name="state"/>
<field name="company_id" disable_counters="1"/>
<field name="state" enable_counters="1"/>
<field name="company_id"/>
</searchpanel>
</search>`,
},
@@ -1635,7 +1675,7 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field name="state" disable_counters="1"/>
<field name="state"/>
</searchpanel>
</search>`,
},
@@ -1745,7 +1785,7 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field select="multi" name="company_id" groupby="category_id"/>
<field name="company_id" select="multi" groupby="category_id" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -1852,7 +1892,7 @@ QUnit.module('Views', {
search_domain: [],
comodel_domain: [['parent_id', '=', false]],
group_domain: [],
disable_counters: false,
enable_counters: true,
});
}
return result;
@@ -1872,7 +1912,7 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field select="multi" name="company_id" domain="[('parent_id','=',False)]"/>
<field name="company_id" select="multi" domain="[('parent_id','=',False)]" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -1922,8 +1962,8 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field name="category_id"/>
<field select="multi" name="company_id" domain="[['category_id', '=', category_id]]"/>
<field name="category_id" enable_counters="1"/>
<field name="company_id" select="multi" domain="[['category_id', '=', category_id]]" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -1992,8 +2032,8 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field select="multi" name="company_id"/>
<field select="multi" name="state"/>
<field name="company_id" select="multi" enable_counters="1"/>
<field name="state" select="multi" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -2042,7 +2082,7 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field select="multi" name="company_id"/>
<field name="company_id" select="multi" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -2084,7 +2124,7 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field select="multi" name="company_id" groupby="category_id"/>
<field name="company_id" select="multi" groupby="category_id" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -2143,14 +2183,14 @@ QUnit.module('Views', {
// There should be a group 'false' displayed with only value B inside it.
assert.containsOnce($firstSection, '.o_search_panel_filter_group');
assert.strictEqual($firstSection.find('.o_search_panel_filter_group').text().replace(/\s/g, ''),
'falseB2');
'falseB');
assert.containsOnce($firstSection.find('.o_search_panel_filter_group'), '.o_search_panel_filter_value');
// Globally, there should be two values, one displayed in the group 'false', and one at the end of the section
// (the group false is not displayed and its values are displayed at the first level)
assert.containsN($firstSection, '.o_search_panel_filter_value', 2);
assert.strictEqual($firstSection.find('.o_search_panel_filter_value').text().replace(/\s/g, ''),
'B2A2');
'BA');
kanban.destroy();
});
@@ -2180,8 +2220,8 @@ QUnit.module('Views', {
'partner,false,search': `
<search>
<searchpanel>
<field name="company_id"/>
<field select="multi" name="category_id"/>
<field name="company_id" enable_counters="1"/>
<field name="category_id" select="multi" enable_counters="1"/>
</searchpanel>
</search>`,
},
@@ -2228,8 +2268,8 @@ QUnit.module('Views', {
this.archs['partner,false,search'] =
`<search>
<searchpanel view_types="kanban,pivot">
<field name="company_id"/>
<field select="multi" name="category_id"/>
<field name="company_id" enable_counters="1"/>
<field name="category_id" select="multi" enable_counters="1"/>
</searchpanel>
</search>`;
@@ -2537,7 +2577,7 @@ QUnit.module('Views', {
`<search>
<field name="name"/>
<searchpanel>
<field name="category_id"/>
<field name="category_id" enable_counters="1"/>
</searchpanel>
</search>`,
},
+2 -1
View File
@@ -1995,7 +1995,8 @@ Possible children elements of the search view are:
* ``color``: determines the icon color
* ``disable_counters``: default is false. If set to true the counters won't be computed.
* ``enable_counters``: default is false. If set to true the record counters will be computed and
displayed if non-zero.
This feature has been implemented in case performances would be too bad.
+1 -1
View File
@@ -234,7 +234,7 @@
<rng:optional><rng:attribute name="group"/></rng:optional>
<rng:optional><rng:attribute name="color"/></rng:optional>
<rng:optional><rng:attribute name="groupby"/></rng:optional>
<rng:optional><rng:attribute name="disable_counters"/></rng:optional>
<rng:optional><rng:attribute name="enable_counters"/></rng:optional>
<rng:optional><rng:attribute name="operator"/></rng:optional>
<rng:optional><rng:attribute name="colspan"/></rng:optional>
<rng:optional><rng:attribute name="nolabel"/></rng:optional>
+3 -3
View File
@@ -1853,7 +1853,7 @@ class TestViews(ViewCase):
%s
<searchpanel>
%s
<field select="multi" name="groups_id" domain="[['%s', '=', %s]]"/>
<field name="groups_id" select="multi" domain="[['%s', '=', %s]]" enable_counters="1"/>
</searchpanel>
</search>
"""
@@ -1878,10 +1878,10 @@ class TestViews(ViewCase):
arch = """
<search>
<searchpanel>
<field name="inherit_id"/>
<field name="inherit_id" enable_counters="1"/>
</searchpanel>
<searchpanel>
<field name="inherit_id"/>
<field name="inherit_id" enable_counters="1"/>
</searchpanel>
</search>
"""
+1 -1
View File
@@ -49,7 +49,7 @@
<filter string="State" name="state" domain="[]" context="{'group_by':'state'}"/>
</group>
<searchpanel>
<field name="category_id" groupby="parent_id" string="Categories"/>
<field name="category_id" groupby="parent_id" string="Categories" enable_counters="1"/>
</searchpanel>
</search>
</field>
@@ -48,7 +48,10 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
r1_id, r2_id, _, _ = records.ids
# counters
result = self.SourceModel.search_panel_select_multi_range('tag_id')
result = self.SourceModel.search_panel_select_multi_range(
'tag_id',
enable_counters=True,
)
self.assertEqual(
result,
[
@@ -61,6 +64,7 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
# counters and search domain
result = self.SourceModel.search_panel_select_multi_range(
'tag_id',
enable_counters=True,
search_domain=[['id', 'in', [r1_id, r2_id]]],
)
self.assertEqual(
@@ -73,10 +77,7 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
)
# no counters
result = self.SourceModel.search_panel_select_multi_range(
'tag_id',
disable_counters=True,
)
result = self.SourceModel.search_panel_select_multi_range('tag_id')
self.assertEqual(
result,
[
@@ -86,10 +87,8 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
],
)
# no counters and search domain
result = self.SourceModel.search_panel_select_multi_range(
'tag_id',
disable_counters=True,
search_domain=[['id', 'in', [r1_id, r2_id]]],
)
self.assertEqual(
@@ -101,10 +100,10 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
]
)
# many2one group_by
result = self.SourceModel.search_panel_select_multi_range(
'tag_id',
group_by='folder_id'
enable_counters=True,
group_by='folder_id',
)
self.assertEqual(
result,
@@ -121,6 +120,7 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
# selection group_by
result = self.SourceModel.search_panel_select_multi_range(
'tag_id',
enable_counters=True,
group_by='status'
)
self.assertEqual(
@@ -138,6 +138,7 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
# other group_by
result = self.SourceModel.search_panel_select_multi_range(
'tag_id',
enable_counters=True,
group_by='color'
)
self.assertEqual(
@@ -189,7 +190,10 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
r1_id, r2_id, _, _ = records.ids
# counters
result = self.SourceModel.search_panel_select_multi_range('tag_ids')
result = self.SourceModel.search_panel_select_multi_range(
'tag_ids',
enable_counters=True,
)
self.assertEqual(
result,
[
@@ -202,6 +206,7 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
# counters and search domain
result = self.SourceModel.search_panel_select_multi_range(
'tag_ids',
enable_counters=True,
search_domain=[['id', 'in', [r1_id, r2_id]]],
)
self.assertEqual(
@@ -214,10 +219,7 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
)
# no counters
result = self.SourceModel.search_panel_select_multi_range(
'tag_ids',
disable_counters=True,
)
result = self.SourceModel.search_panel_select_multi_range('tag_ids')
self.assertEqual(
result,
[
@@ -230,7 +232,6 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
# no counters and search domain
result = self.SourceModel.search_panel_select_multi_range(
'tag_ids',
disable_counters=True,
search_domain=[['id', 'in', [r1_id, r2_id]]],
)
self.assertEqual(
@@ -245,6 +246,7 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
# many2one group_by
result = self.SourceModel.search_panel_select_multi_range(
'tag_ids',
enable_counters=True,
group_by='folder_id'
)
self.assertEqual(
@@ -262,6 +264,7 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
# selection group_by
result = self.SourceModel.search_panel_select_multi_range(
'tag_ids',
enable_counters=True,
group_by='status'
)
self.assertEqual(
@@ -279,6 +282,7 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
# other group_by
result = self.SourceModel.search_panel_select_multi_range(
'tag_ids',
enable_counters=True,
group_by='color'
)
self.assertEqual(
@@ -296,6 +300,7 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
# group_domain and many2one groupby
result = self.SourceModel.search_panel_select_multi_range(
'tag_ids',
enable_counters=True,
group_by='folder_id',
group_domain={
json.dumps(f1_id): [('tag_ids', 'in', [t1_id]), ],
@@ -318,6 +323,7 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
# group_domain and other group_by
result = self.SourceModel.search_panel_select_multi_range(
'tag_ids',
enable_counters=True,
group_by='color',
group_domain={
json.dumps(False): [('tag_ids', 'in', [t1_id]), ],
@@ -357,7 +363,10 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
r1_id, _ = records.ids
# counters
result = self.SourceModel.search_panel_select_multi_range('state')
result = self.SourceModel.search_panel_select_multi_range(
'state',
enable_counters=True,
)
self.assertEqual(
result,
[
@@ -369,7 +378,6 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
# no counters
result = self.SourceModel.search_panel_select_multi_range(
'state',
disable_counters=True,
)
self.assertEqual(
result,
@@ -382,6 +390,7 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
# counters and search domain
result = self.SourceModel.search_panel_select_multi_range(
'state',
enable_counters=True,
search_domain=[['id', '=', r1_id]],
)
self.assertEqual(
@@ -395,7 +404,6 @@ class TestSelectRangeMulti(odoo.tests.TransactionCase):
# no counters and search domain
result = self.SourceModel.search_panel_select_multi_range(
'state',
disable_counters=True,
search_domain=[['id', '=', r1_id]],
)
self.assertEqual(
@@ -48,7 +48,10 @@ class TestSelectRange(odoo.tests.TransactionCase):
r1_id, _, r3_id, _ = records.ids
# counters
result = self.SourceModel.search_panel_select_range('folder_id')
result = self.SourceModel.search_panel_select_range(
'folder_id',
enable_counters=True,
)
self.assertEqual(
result['values'],
[
@@ -66,6 +69,7 @@ class TestSelectRange(odoo.tests.TransactionCase):
# counters and search domain
result = self.SourceModel.search_panel_select_range(
'folder_id',
enable_counters=True,
search_domain=[['id', 'in', [r1_id, r3_id]]],
)
self.assertEqual(
@@ -83,10 +87,7 @@ class TestSelectRange(odoo.tests.TransactionCase):
)
# no counters
result = self.SourceModel.search_panel_select_range(
'folder_id',
disable_counters=True,
)
result = self.SourceModel.search_panel_select_range('folder_id')
self.assertEqual(
result['values'],
[
@@ -104,7 +105,6 @@ class TestSelectRange(odoo.tests.TransactionCase):
# no counters and search domain
result = self.SourceModel.search_panel_select_range(
'folder_id',
disable_counters=True,
search_domain=[['id', 'in', [r1_id, r3_id]]],
)
self.assertEqual(
@@ -162,7 +162,10 @@ class TestSelectRange(odoo.tests.TransactionCase):
])
# counters
result = self.SourceModel.search_panel_select_range('folder_id')
result = self.SourceModel.search_panel_select_range(
'folder_id',
enable_counters=True,
)
self.assertEqual(
result['values'],
[
@@ -220,7 +223,10 @@ class TestSelectRange(odoo.tests.TransactionCase):
r1_id, _, r3_id, _ = records.ids
# counters
result = self.SourceModel.search_panel_select_range('categ_id')
result = self.SourceModel.search_panel_select_range(
'categ_id',
enable_counters=True,
)
self.assertEqual(
result['values'],
[
@@ -233,6 +239,7 @@ class TestSelectRange(odoo.tests.TransactionCase):
# counters and search domain
result = self.SourceModel.search_panel_select_range(
'categ_id',
enable_counters=True,
search_domain=[['id', 'in', [r1_id, r3_id]]],
)
self.assertEqual(
@@ -245,10 +252,7 @@ class TestSelectRange(odoo.tests.TransactionCase):
)
# no counters
result = self.SourceModel.search_panel_select_range(
'categ_id',
disable_counters=True,
)
result = self.SourceModel.search_panel_select_range('categ_id')
self.assertEqual(
result['values'],
[
@@ -261,7 +265,6 @@ class TestSelectRange(odoo.tests.TransactionCase):
# no counters and search domain
result = self.SourceModel.search_panel_select_range(
'categ_id',
disable_counters=True,
search_domain=[['id', 'in', [r1_id, r3_id]]],
)
self.assertEqual(
@@ -297,7 +300,10 @@ class TestSelectRange(odoo.tests.TransactionCase):
r1_id, _ = records.ids
# counters
result = self.SourceModel.search_panel_select_range('state')
result = self.SourceModel.search_panel_select_range(
'state',
enable_counters=True,
)
self.assertEqual(
result['values'],
[
@@ -307,10 +313,7 @@ class TestSelectRange(odoo.tests.TransactionCase):
)
# no counters
result = self.SourceModel.search_panel_select_range(
'state',
disable_counters=True,
)
result = self.SourceModel.search_panel_select_range('state')
self.assertEqual(
result['values'],
[
@@ -322,6 +325,7 @@ class TestSelectRange(odoo.tests.TransactionCase):
# counters and search domain
result = self.SourceModel.search_panel_select_range(
'state',
enable_counters=True,
search_domain=[['id', '=', r1_id]],
)
self.assertEqual(
@@ -335,7 +339,6 @@ class TestSelectRange(odoo.tests.TransactionCase):
# no counters and search domain
result = self.SourceModel.search_panel_select_range(
'state',
disable_counters=True,
search_domain=[['id', '=', r1_id]],
)
self.assertEqual(