[IMP] implement functionlity of new field add.

bzr revid: vme@tinyerp.com-20111117065525-60ooggze1xh38v63
This commit is contained in:
Vidhin Mehta (OpenERP) 2011-11-17 12:25:25 +05:30
parent a03506d84a
commit d272f9d03b
1 changed files with 13 additions and 5 deletions

View File

@ -847,6 +847,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
});
},
render_new_field :function(id){
var self = this;
var action = {
context: {'default_model_id':id, 'manual':true},
res_model: "ir.model.fields",
@ -858,14 +859,21 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
}
}
var action_manager = new openerp.web.ActionManager(self);
action_manager.do_action(action);
$.when(action_manager.do_action(action)).then(function() {
var add_controller = action_manager.dialog_viewmanager.views['form'].controller;
add_controller.do_set_readonly.add_last(function(){
var aa = controller;
var controller = action_manager.dialog_viewmanager.views['form'].controller;
controller.do_set_readonly.add_last(function(){
action_manager.stop();
new_fields_name = new openerp.web.DataSetSearch(self,'ir.model.fields', null, null);
new_fields_name.read_ids([controller.datarecord.id], ['name'], function(result) {
self.add_node_dialog.$element.
find('select[id=field_value]'). append($("<option></option>").
attr("value",result[0].name).text(result[0].name));
_.detect(self.add_widget,function(widget){
(widget.name == "field_value")?widget.selection.push(result[0].name):false;
});
});
});
});
}
});
openerp.web.ViewEditor.Field = openerp.web.Class.extend({