mirror of https://github.com/OCA/web.git
[FIX] web_edit_user_filter: Custom filters
parent
13135b31bf
commit
f896370204
|
@ -4,7 +4,7 @@
|
|||
{
|
||||
'name': 'Edit User Filters',
|
||||
'category': 'Extra Tools',
|
||||
'version': '12.0.1.0.0',
|
||||
'version': '12.0.1.0.1',
|
||||
'development_status': 'Production/Stable',
|
||||
'author': 'Onestein,Odoo Community Association (OCA)',
|
||||
'license': 'AGPL-3',
|
||||
|
|
|
@ -100,21 +100,35 @@ odoo.define('web_edit_user_filter', function (require) {
|
|||
self.trigger_up('menu_item_toggled', eventData);
|
||||
});
|
||||
} else if (segment.cat === 'filterCategory') {
|
||||
var new_filters = [];
|
||||
_.each(segment.values, function (value) {
|
||||
var filterDomain = _.find(
|
||||
self.searchview.filtersMapping,
|
||||
function (mapping) {
|
||||
return mapping.filter.attrs.domain === value.attrs.domain;
|
||||
}
|
||||
);
|
||||
var eventData = {
|
||||
category: 'filterCategory',
|
||||
itemId: filterDomain.filterId,
|
||||
isActive: true,
|
||||
groupId: filterDomain.groupId,
|
||||
};
|
||||
self.trigger_up('menu_item_toggled', eventData);
|
||||
if (value.attrs.name) {
|
||||
var filterDomain = _.find(
|
||||
self.searchview.filtersMapping,
|
||||
function (mapping) {
|
||||
return mapping.filter.attrs.name === value.attrs.name;
|
||||
}
|
||||
);
|
||||
var eventData = {
|
||||
category: 'filterCategory',
|
||||
itemId: filterDomain.filterId,
|
||||
isActive: true,
|
||||
groupId: filterDomain.groupId,
|
||||
};
|
||||
|
||||
self.trigger_up('menu_item_toggled', eventData);
|
||||
} else {
|
||||
new_filters.push({
|
||||
groupId: null,
|
||||
filter: {
|
||||
tag: 'filter',
|
||||
attrs: value.attrs
|
||||
},
|
||||
itemId: _.uniqueId('__filter__')
|
||||
});
|
||||
}
|
||||
});
|
||||
self.trigger_up('new_filters', new_filters);
|
||||
} else {
|
||||
var search_widget = _.find(
|
||||
self.searchview.search_fields, function (f) {
|
||||
|
@ -145,7 +159,7 @@ odoo.define('web_edit_user_filter', function (require) {
|
|||
_removeValue: function (model, value) {
|
||||
var toRemove = model.values.filter(function (v) {
|
||||
if (typeof v.attributes.value === 'object') {
|
||||
return v.attributes.value.attrs.name === value;
|
||||
return v.attributes.value.attrs.domain === value;
|
||||
}
|
||||
|
||||
return v.attributes.value.toString() === value;
|
||||
|
@ -162,7 +176,6 @@ odoo.define('web_edit_user_filter', function (require) {
|
|||
*/
|
||||
_renderPopover: function ($facet, model) {
|
||||
var self = this;
|
||||
|
||||
var $content = $(qweb.render('web_edit_user_filter.Popover', {
|
||||
values: model.get('values'),
|
||||
}));
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<div class="list-group">
|
||||
<t t-foreach="values" t-as="value">
|
||||
<a class="list-group-item list-group-item-action"
|
||||
t-attf-data-value="#{typeof value.value === 'object' ? value.value.attrs.name : value.value}">
|
||||
t-attf-data-value="#{typeof value.value === 'object' ? value.value.attrs.domain : value.value}">
|
||||
<span>
|
||||
<t t-esc="value.label"/>
|
||||
</span>
|
||||
|
|
Loading…
Reference in New Issue