summaryrefslogtreecommitdiff
path: root/addons/base/static/src
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2011-04-12 09:23:56 +0200
committerXavier Morel <xmo@openerp.com>2011-04-12 09:23:56 +0200
commit8fb463acaee3cc17b50113aa0e1bfa4d4f5fbff6 (patch)
treeae4dde8e62fefa1f7f73bd8a17b5543de37582e6 /addons/base/static/src
parent0006e356f93e177c1133794a61ef146f05241626 (diff)
[FIX] don't forget the action's domain when performing a search
bzr revid: xmo@openerp.com-20110412072356-gcbuv9ybi6ohx9uz
Diffstat (limited to 'addons/base/static/src')
-rw-r--r--addons/base/static/src/js/views.js22
1 files changed, 20 insertions, 2 deletions
diff --git a/addons/base/static/src/js/views.js b/addons/base/static/src/js/views.js
index 1e3851c218f..e70495e3491 100644
--- a/addons/base/static/src/js/views.js
+++ b/addons/base/static/src/js/views.js
@@ -113,8 +113,9 @@ openerp.base.ViewManager = openerp.base.Controller.extend({
this.searchview.stop();
}
this.searchview = new openerp.base.SearchView(this, this.session, this.element_id + "_search", this.dataset, view_id, search_defaults);
- this.searchview.on_search.add(function() {
- self.views[self.active_view].controller.do_search.apply(self, arguments);
+ this.searchview.on_search.add(function(domains, contexts, groupbys) {
+ self.views[self.active_view].controller.do_search.call(
+ self, domains.concat(self.domains()), contexts, groupbys);
});
return this.searchview.start();
},
@@ -128,6 +129,15 @@ openerp.base.ViewManager = openerp.base.Controller.extend({
on_remove: function() {
},
on_edit: function() {
+ },
+ /**
+ * Domains added on searches by the view manager, to override in subsequent
+ * view manager in order to add new pieces of domains to searches
+ *
+ * @returns an empty list
+ */
+ domains: function () {
+ return [];
}
});
@@ -175,6 +185,14 @@ openerp.base.ViewManagerAction = openerp.base.ViewManager.extend({
this.sidebar.stop();
}
this._super();
+ },
+ /**
+ * adds action domain to the search domains
+ *
+ * @returns the action's domain
+ */
+ domains: function () {
+ return [this.action.domain];
}
});