[ADD] web: in view form, when opening a many2one, use get_formview_action method of orm to get the window action to open

bzr revid: dle@openerp.com-20140416143548-i5l6kl00ixgd9x4w
This commit is contained in:
Denis Ledoux 2014-04-16 16:35:48 +02:00
parent 42025a6af5
commit ecd96fc0a6
1 changed files with 23 additions and 21 deletions

View File

@ -3451,20 +3451,25 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
return;
}
var pop = new instance.web.form.FormOpenPopup(self);
pop.show_element(
self.field.relation,
self.get("value"),
self.build_context(),
{
title: _t("Open: ") + self.string
}
);
pop.on('write_completed', self, function(){
self.display_value = {};
self.display_value_backup = {};
self.render_value();
self.focus();
self.view.do_onchange(self);
var context = self.build_context().eval();
var model_obj = new instance.web.Model(self.field.relation);
model_obj.call('get_formview_id', [self.get("value"), context]).then(function(view_id){
pop.show_element(
self.field.relation,
self.get("value"),
self.build_context(),
{
title: _t("Open: ") + self.string,
view_id: view_id
}
);
pop.on('write_completed', self, function(){
self.display_value = {};
self.display_value_backup = {};
self.render_value();
self.focus();
self.view.do_onchange(self);
});
});
});
@ -3660,13 +3665,10 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
.html(link);
if (! this.options.no_open)
$link.click(function () {
self.do_action({
type: 'ir.actions.act_window',
res_model: self.field.relation,
res_id: self.get("value"),
views: [[false, 'form']],
target: 'current',
context: self.build_context().eval(),
var context = self.build_context().eval();
var model_obj = new instance.web.Model(self.field.relation);
model_obj.call('get_formview_action', [self.get("value"), context]).then(function(action){
self.do_action(action);
});
return false;
});