[imp] made usage of a managed filter possible

bzr revid: nicolas.vanhoren@openerp.com-20110722153505-g5mukqwfmd6eup2t
This commit is contained in:
niv-openerp 2011-07-22 17:35:05 +02:00
parent 30fcc6872f
commit 95ccd74114
3 changed files with 19 additions and 5 deletions

View File

@ -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"

View File

@ -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

View File

@ -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>