[IMP]edit node code at initial level modify by using widget.
bzr revid: kch@tinyerp.com-20111004060903-0se42632vpjlk24u
This commit is contained in:
parent
87436d725e
commit
3feaa84beb
|
@ -1,7 +1,6 @@
|
||||||
openerp.web.view_editor = function(openerp) {
|
openerp.web.view_editor = function(openerp) {
|
||||||
var _PROPERTIES = {
|
var _PROPERTIES = {
|
||||||
'field' : ['name', 'string', 'required', 'readonly', 'select', 'domain', 'context', 'nolabel', 'completion',
|
'field' : ['required', 'readonly'],
|
||||||
'colspan', 'widget', 'eval', 'ref', 'on_change', 'attrs', 'groups'],
|
|
||||||
'form' : ['string', 'col', 'link'],
|
'form' : ['string', 'col', 'link'],
|
||||||
'notebook' : ['colspan', 'position', 'groups'],
|
'notebook' : ['colspan', 'position', 'groups'],
|
||||||
'page' : ['string', 'states', 'attrs', 'groups'],
|
'page' : ['string', 'states', 'attrs', 'groups'],
|
||||||
|
@ -31,6 +30,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
|
||||||
this.dataset = dataset;
|
this.dataset = dataset;
|
||||||
this.model = dataset.model;
|
this.model = dataset.model;
|
||||||
this.xml_id = 0;
|
this.xml_id = 0;
|
||||||
|
this.property = openerp.web.ViewEditor.property_widget;
|
||||||
},
|
},
|
||||||
|
|
||||||
start: function() {
|
start: function() {
|
||||||
|
@ -320,6 +320,17 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
|
||||||
case "side-remove":
|
case "side-remove":
|
||||||
break;
|
break;
|
||||||
case "side-edit":
|
case "side-edit":
|
||||||
|
var tag, fld_name;
|
||||||
|
var tr = $(this).closest("tr[id^='viewedit-']").find('a').text();
|
||||||
|
var tag_fld = tr.split(" ");
|
||||||
|
if (tag_fld.length > 3){
|
||||||
|
tag = tag_fld[1].replace(/[^a-zA-Z 0-9]+/g,'');
|
||||||
|
fld_name = tag_fld[2].split("=")[1].replace(/[^a-zA-Z _ 0-9]+/g,'');
|
||||||
|
}else{
|
||||||
|
tag = tag_fld[1].replace(/[^a-zA-Z 0-9]+/g,'');
|
||||||
|
}
|
||||||
|
var properties = _PROPERTIES[tag];
|
||||||
|
self.on_edit_node(this,properties,fld_name);
|
||||||
break;
|
break;
|
||||||
case "side-up":
|
case "side-up":
|
||||||
while(1){
|
while(1){
|
||||||
|
@ -406,7 +417,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
|
||||||
tr.show();
|
tr.show();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
on_edit_node:function(self,property,fld_name){
|
on_edit_node:function(self,properties,fld_name){
|
||||||
var self = this;
|
var self = this;
|
||||||
var result;
|
var result;
|
||||||
this.dialog = new openerp.web.Dialog(this,{
|
this.dialog = new openerp.web.Dialog(this,{
|
||||||
|
@ -427,17 +438,35 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
|
||||||
dataset.read_slice([],{domain : [['model','=',self.model]]},function (result) {
|
dataset.read_slice([],{domain : [['model','=',self.model]]},function (result) {
|
||||||
db = new openerp.web.DataSetSearch(self,'ir.model.fields', null, null);
|
db = new openerp.web.DataSetSearch(self,'ir.model.fields', null, null);
|
||||||
db.read_slice([],{domain : [['model_id','=',result[0].id],['name','=',fld_name]]},function (res) {
|
db.read_slice([],{domain : [['model_id','=',result[0].id],['name','=',fld_name]]},function (res) {
|
||||||
var data = [];
|
_.each(properties,function(record){
|
||||||
_.each(property,function(record){
|
var type_widget = new (self.property.get_any(['undefined' , record, 'field'])) (false, false);
|
||||||
var dict = {'key':record,'value':res[0][record]};
|
console.log("widget_view",type_widget);
|
||||||
data.push(dict);
|
|
||||||
});
|
});
|
||||||
console.log("check data+++",data);
|
|
||||||
/*self.dialog.$element.html(QWeb.render('Edit_Node_View',{
|
|
||||||
'res': res
|
|
||||||
}));*/
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
openerp.web.ViewEditor.FieldBoolean = openerp.web.form.FieldBoolean.extend({
|
||||||
|
init: function(view, node) {
|
||||||
|
//this._super(view, node);
|
||||||
|
console.log("view++++",view);
|
||||||
|
console.log("nodoe+++++",node);
|
||||||
|
this.template = "FieldBoolean";
|
||||||
|
},
|
||||||
|
start: function() {
|
||||||
|
var self = this;
|
||||||
|
this._super.apply(this, arguments);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
openerp.web.ViewEditor.property_widget = new openerp.web.Registry({
|
||||||
|
'required' : 'openerp.web.ViewEditor.FieldBoolean',
|
||||||
|
'readonly' : 'openerp.web.ViewEditor.FieldBoolean',
|
||||||
|
'nolabel' : 'openerp.web.ViewEditor.FieldBoolean',
|
||||||
|
'completion' : 'openerp.web.ViewEditor.FieldBoolean',
|
||||||
|
/*'widget' : '',
|
||||||
|
'groups' : '',
|
||||||
|
'position': '',
|
||||||
|
'icon': '',
|
||||||
|
'align': '' */
|
||||||
|
});
|
||||||
};
|
};
|
|
@ -1325,13 +1325,6 @@
|
||||||
<t t-call="view_editor.row"/>
|
<t t-call="view_editor.row"/>
|
||||||
</t>
|
</t>
|
||||||
</tr>
|
</tr>
|
||||||
<t t-name="Edit_Node_View">
|
|
||||||
<table>
|
|
||||||
<tr t-foreach="res" t-as="rec">
|
|
||||||
<td><t t-esc="rec.ttype"/></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</t>
|
|
||||||
<t t-name="ExportView">
|
<t t-name="ExportView">
|
||||||
<a id="exportview" href="javascript: void(0)" style="text-decoration: none;color: #3D3D3D;">Export</a>
|
<a id="exportview" href="javascript: void(0)" style="text-decoration: none;color: #3D3D3D;">Export</a>
|
||||||
</t>
|
</t>
|
||||||
|
|
Loading…
Reference in New Issue