[imp] implemented switch_view in o2m view manager and used it in kanban view
bzr revid: nicolas.vanhoren@openerp.com-20120516105251-rebt18lj9bwndydw
This commit is contained in:
parent
6d70b97425
commit
4d944fd341
|
@ -2962,7 +2962,30 @@ instance.web.form.One2ManyViewManager = instance.web.ViewManager.extend({
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
switch_view: function(mode, unused) {
|
switch_view: function(mode, unused) {
|
||||||
return this._super(mode, unused);
|
if (mode !== 'form') {
|
||||||
|
return this._super(mode, unused);
|
||||||
|
}
|
||||||
|
var self = this;
|
||||||
|
var id = typeof(self.o2m.dataset.index) === "number" && self.o2m.dataset.index >= 0 ?
|
||||||
|
self.o2m.dataset.ids[self.o2m.dataset.index] : null;
|
||||||
|
var pop = new instance.web.form.FormOpenPopup(self.o2m.view);
|
||||||
|
pop.show_element(self.o2m.field.relation, id, self.o2m.build_context(), {
|
||||||
|
title: _t("Open: ") + self.name,
|
||||||
|
auto_write: false,
|
||||||
|
alternative_form_view: self.o2m.field.views ? self.o2m.field.views["form"] : undefined,
|
||||||
|
parent_view: self.o2m.view,
|
||||||
|
child_name: self.o2m.name,
|
||||||
|
read_function: function() {
|
||||||
|
return self.o2m.dataset.read_ids.apply(self.o2m.dataset, arguments);
|
||||||
|
},
|
||||||
|
form_view_options: {'not_interactible_on_create':true},
|
||||||
|
readonly: self.o2m.get("effective_readonly")
|
||||||
|
});
|
||||||
|
pop.on_write.add(function(id, data) {
|
||||||
|
self.o2m.dataset.write(id, data, {}, function(r) {
|
||||||
|
self.o2m.reload_current_view();
|
||||||
|
});
|
||||||
|
});
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -3059,28 +3082,6 @@ var lazy_build_o2m_kanban_view = function() {
|
||||||
if (! instance.web_kanban || instance.web.form.One2ManyKanbanView)
|
if (! instance.web_kanban || instance.web.form.One2ManyKanbanView)
|
||||||
return;
|
return;
|
||||||
instance.web.form.One2ManyKanbanView = instance.web_kanban.KanbanView.extend({
|
instance.web.form.One2ManyKanbanView = instance.web_kanban.KanbanView.extend({
|
||||||
open_record: function(id) {
|
|
||||||
var self = this;
|
|
||||||
var pop = new instance.web.form.FormOpenPopup(self.o2m.view);
|
|
||||||
pop.show_element(self.o2m.field.relation, id, self.o2m.build_context(), {
|
|
||||||
title: _t("Open: ") + self.name,
|
|
||||||
auto_write: false,
|
|
||||||
alternative_form_view: self.o2m.field.views ? self.o2m.field.views["form"] : undefined,
|
|
||||||
parent_view: self.o2m.view,
|
|
||||||
child_name: self.o2m.name,
|
|
||||||
read_function: function() {
|
|
||||||
return self.o2m.dataset.read_ids.apply(self.o2m.dataset, arguments);
|
|
||||||
},
|
|
||||||
form_view_options: {'not_interactible_on_create':true},
|
|
||||||
readonly: self.o2m.get("effective_readonly"),
|
|
||||||
});
|
|
||||||
pop.on_write.add(function(id, data) {
|
|
||||||
self.o2m.dataset.write(id, data, {}, function(r) {
|
|
||||||
self.o2m.reload_current_view();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -342,6 +342,11 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
||||||
});
|
});
|
||||||
return view_promise;
|
return view_promise;
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* Method used internally when a view asks to switch view. This method is meant
|
||||||
|
* to be extended by child classes to change the default behavior, which simply
|
||||||
|
* consist to switch to the asked view.
|
||||||
|
*/
|
||||||
switch_view: function(view_type, no_store) {
|
switch_view: function(view_type, no_store) {
|
||||||
return this.on_mode_switch(view_type, no_store);
|
return this.on_mode_switch(view_type, no_store);
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue