[imp] made usage of a managed filter possible
bzr revid: nicolas.vanhoren@openerp.com-20110722153505-g5mukqwfmd6eup2t
This commit is contained in:
parent
30fcc6872f
commit
95ccd74114
|
@ -721,6 +721,15 @@ class SearchView(View):
|
|||
if field.get('context'):
|
||||
field["context"] = self.parse_domain(field["context"], req.session)
|
||||
return {'fields': fields}
|
||||
|
||||
@openerpweb.jsonrequest
|
||||
def get_filters(self, req, model):
|
||||
Model = req.session.model("ir.filters")
|
||||
filters = Model.get_filters(model)
|
||||
for filter in filters:
|
||||
filter["context"] = req.session.eval_context(self.parse_context(filter["context"], req.session))
|
||||
filter["domain"] = req.session.eval_domain(self.parse_domain(filter["domain"], req.session))
|
||||
return filters
|
||||
|
||||
class Binary(openerpweb.Controller):
|
||||
_cp_path = "/base/binary"
|
||||
|
|
|
@ -142,8 +142,10 @@ openerp.base.SearchView = openerp.base.Controller.extend({
|
|||
|
||||
// filters management
|
||||
var self = this;
|
||||
var filters_set = new openerp.base.DataSetStatic(this, "ir.filters");
|
||||
filters_set.call("get_filters", [this.dataset.model]).then(function(result) {
|
||||
return this.rpc('/base/searchview/get_filters', {
|
||||
model: this.dataset.model
|
||||
}).then(function(result) {
|
||||
self.managed_filters = result;
|
||||
var filters = self.$element.find(".oe_search-view-filters-management");
|
||||
filters.html(QWeb.render("SearchView.managed-filters", {filters: result}));
|
||||
filters.change(self.on_filters_management);
|
||||
|
@ -166,7 +168,9 @@ openerp.base.SearchView = openerp.base.Controller.extend({
|
|||
return;
|
||||
if (val.slice(0, "get:".length) == "get:") {
|
||||
val = val.slice("get:".length);
|
||||
//TODO niv
|
||||
val = parseInt(val);
|
||||
var filter = this.managed_filters[val];
|
||||
this.on_search([filter.domain], [filter.context], []);
|
||||
} else if (val == "save_filter") {
|
||||
//TODO niv
|
||||
} else { // manage_filters
|
||||
|
|
|
@ -664,15 +664,16 @@
|
|||
<input type="reset" value="Clear"/>
|
||||
<button class="oe_search-view-custom-filter-btn"><span>Advanced Filter</span></button>
|
||||
<select class="oe_search-view-filters-management">
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</form>
|
||||
</t>
|
||||
<t t-name="SearchView.managed-filters">
|
||||
<option value="_filters">-- Filters --</option>
|
||||
<t t-set="i" t-value="0"/>
|
||||
<t t-foreach="filters" t-as="filter">
|
||||
<option t-att-value="'get:' + filter.id"><t t-esc="filter.name"/></option>
|
||||
<option t-att-value="'get:' + i"><t t-esc="filter.name"/></option>
|
||||
<t t-set="i" t-value="i+1"/>
|
||||
</t>
|
||||
<option value="_actions">-- Actions --</option>
|
||||
<option value="save_filter">Save Filter</option>
|
||||
|
|
Loading…
Reference in New Issue