[IMP] Viewmanager sets dataset's domain & context on_search
bzr revid: fme@openerp.com-20111003135203-d3p18cfdh5jko976
This commit is contained in:
parent
59e70f4544
commit
3e1b007478
|
@ -281,12 +281,13 @@ db.web.ViewManager = db.web.Widget.extend(/** @lends db.web.ViewManager# */{
|
||||||
var self = this,
|
var self = this,
|
||||||
controller = this.views[this.active_view].controller;
|
controller = this.views[this.active_view].controller;
|
||||||
if (domains || contexts) {
|
if (domains || contexts) {
|
||||||
//if ((!domains || !domains.length) && (!contexts || !contexts.length) && (!groupbys || !groupbys.length) { }
|
|
||||||
this.rpc('/web/session/eval_domain_and_context', {
|
this.rpc('/web/session/eval_domain_and_context', {
|
||||||
domains: [this.dataset.get_domain()].concat(domains || []),
|
domains: [this.action.domain || []].concat(domains || []),
|
||||||
contexts: [this.dataset.get_context()].concat(contexts || []),
|
contexts: [this.action.context || {}].concat(contexts || []),
|
||||||
group_by_seq: groupbys || []
|
group_by_seq: groupbys || []
|
||||||
}, function (results) {
|
}, function (results) {
|
||||||
|
self.dataset.context = results.context;
|
||||||
|
self.dataset.domain = results.domain;
|
||||||
controller.do_search(results.domain, results.context, results.group_by);
|
controller.do_search(results.domain, results.context, results.group_by);
|
||||||
self.last_search = [results.domain, results.context, results.group_by];
|
self.last_search = [results.domain, results.context, results.group_by];
|
||||||
});
|
});
|
||||||
|
|
|
@ -15,8 +15,6 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
|
||||||
this.model = dataset.model;
|
this.model = dataset.model;
|
||||||
this.fields_view = {};
|
this.fields_view = {};
|
||||||
this.view_id = view_id;
|
this.view_id = view_id;
|
||||||
this.domain = this.dataset.domain || [];
|
|
||||||
this.context = this.dataset.context || {};
|
|
||||||
this.has_been_loaded = $.Deferred();
|
this.has_been_loaded = $.Deferred();
|
||||||
this.creating_event_id = null;
|
this.creating_event_id = null;
|
||||||
this.dataset_events = [];
|
this.dataset_events = [];
|
||||||
|
@ -296,12 +294,8 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
|
||||||
scheduler.clearAll();
|
scheduler.clearAll();
|
||||||
$.when(this.has_been_loaded).then(function() {
|
$.when(this.has_been_loaded).then(function() {
|
||||||
// TODO: handle non-empty results.group_by with read_group
|
// TODO: handle non-empty results.group_by with read_group
|
||||||
self.context = context;
|
|
||||||
self.domain = domain;
|
|
||||||
self.dataset.read_slice(_.keys(self.fields), {
|
self.dataset.read_slice(_.keys(self.fields), {
|
||||||
offset: 0,
|
offset: 0,
|
||||||
context: context,
|
|
||||||
domain: domain,
|
|
||||||
limit: self.limit
|
limit: self.limit
|
||||||
}, function(events) {
|
}, function(events) {
|
||||||
self.dataset_events = events;
|
self.dataset_events = events;
|
||||||
|
|
|
@ -509,15 +509,7 @@ init: function(parent, dataset, view_id) {
|
||||||
do_search: function (domains, contexts, groupbys) {
|
do_search: function (domains, contexts, groupbys) {
|
||||||
var self = this;
|
var self = this;
|
||||||
this.grp = groupbys;
|
this.grp = groupbys;
|
||||||
return this.rpc('/web/session/eval_domain_and_context', {
|
self.reload_gantt();
|
||||||
domains: domains,
|
|
||||||
contexts: contexts,
|
|
||||||
group_by_seq: groupbys
|
|
||||||
}, function (results) {
|
|
||||||
self.dataset.context = results.context;
|
|
||||||
self.dataset.domain = results.domain;
|
|
||||||
self.reload_gantt();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -369,10 +369,7 @@ openerp.web_graph.GraphView = openerp.web.View.extend({
|
||||||
} else {
|
} else {
|
||||||
this.abscissa = this.first_field;
|
this.abscissa = this.first_field;
|
||||||
}
|
}
|
||||||
this.dataset.read_slice(this.list_fields(), {
|
this.dataset.read_slice(this.list_fields(), {}, $.proxy(this, 'schedule_chart'));
|
||||||
context: context,
|
|
||||||
domain: domain
|
|
||||||
}, $.proxy(this, 'schedule_chart'));
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
@ -446,10 +446,7 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({
|
||||||
},
|
},
|
||||||
function (dataset) {
|
function (dataset) {
|
||||||
self.groups = [];
|
self.groups = [];
|
||||||
self.dataset.read_slice([], {
|
self.dataset.read_slice([], {}, function(records) {
|
||||||
domain: domain,
|
|
||||||
context: context
|
|
||||||
}, function(records) {
|
|
||||||
if (records.length) {
|
if (records.length) {
|
||||||
self.all_display_data = [{'records': records, 'value':false, 'header' : false, 'ids': self.dataset.ids}];
|
self.all_display_data = [{'records': records, 'value':false, 'header' : false, 'ids': self.dataset.ids}];
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue