forked from Techsystech/web
[ADD] duplicate saving new filters to menu (usability)
parent
b0892b2b3b
commit
a912bb470f
|
@ -58,6 +58,14 @@ openerp.web_advanced_filters = function(instance)
|
||||||
label: _t('Whole selection (criteria)'),
|
label: _t('Whole selection (criteria)'),
|
||||||
classname: 'oe_advanced_filters_header',
|
classname: 'oe_advanced_filters_header',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: _t('To new filter'),
|
||||||
|
callback: function ()
|
||||||
|
{
|
||||||
|
self.advanced_filters_save_criteria.apply(
|
||||||
|
self, arguments);
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: _t('To existing filter'),
|
label: _t('To existing filter'),
|
||||||
callback: function (item)
|
callback: function (item)
|
||||||
|
@ -117,8 +125,8 @@ openerp.web_advanced_filters = function(instance)
|
||||||
$e = jQuery(e)
|
$e = jQuery(e)
|
||||||
if($e.find('li.oe_advanced_filters_header').length)
|
if($e.find('li.oe_advanced_filters_header').length)
|
||||||
{
|
{
|
||||||
$e.find('a[data-index="3"],a[data-index="4"],' +
|
$e.find('a[data-index="4"],a[data-index="5"],' +
|
||||||
'a[data-index="5"],a[data-index="6"]')
|
'a[data-index="6"],a[data-index="7"]')
|
||||||
.parent().toggle(ids.length > 0);
|
.parent().toggle(ids.length > 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -128,6 +136,42 @@ openerp.web_advanced_filters = function(instance)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
advanced_filters_save_criteria: function(item)
|
||||||
|
{
|
||||||
|
var search = this.ViewManager.searchview.build_search_data(),
|
||||||
|
self = this;
|
||||||
|
instance.web.pyeval.eval_domains_and_contexts({
|
||||||
|
domains: search.domains,
|
||||||
|
contexts: search.contexts,
|
||||||
|
group_by_seq: search.groupbys || []
|
||||||
|
}).done(function(search)
|
||||||
|
{
|
||||||
|
var ctx = search.context;
|
||||||
|
_(_.keys(instance.session.user_context)).each(
|
||||||
|
function (key) {delete ctx[key]});
|
||||||
|
self.do_action({
|
||||||
|
name: item.label,
|
||||||
|
type: 'ir.actions.act_window',
|
||||||
|
res_model: 'ir.filters',
|
||||||
|
views: [[false, 'form']],
|
||||||
|
target: 'new',
|
||||||
|
context: {
|
||||||
|
default_model_id: self.dataset._model.name,
|
||||||
|
default_domain: JSON.stringify(search.domain),
|
||||||
|
default_context: JSON.stringify(ctx),
|
||||||
|
form_view_ref: 'web_advanced_filters.form_ir_filters_save_new',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
on_close: function()
|
||||||
|
{
|
||||||
|
self.ViewManager.setup_search_view(
|
||||||
|
self.ViewManager.searchview.view_id,
|
||||||
|
self.ViewManager.searchview.defaults);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
advanced_filters_save_selection: function(item)
|
advanced_filters_save_selection: function(item)
|
||||||
{
|
{
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
Loading…
Reference in New Issue