[IMP]trying to setvalue into edit node data.
authorKunal Chavda (OpenERP) <kch@tinyerp.com>
Thu, 13 Oct 2011 11:00:39 +0000 (16:30 +0530)
committerKunal Chavda (OpenERP) <kch@tinyerp.com>
Thu, 13 Oct 2011 11:00:39 +0000 (16:30 +0530)
bzr revid: kch@tinyerp.com-20111013110039-i92u5ghg9kjzxwe6

addons/web/static/src/js/view_editor.js
addons/web/static/src/js/view_form.js
addons/web/static/src/xml/base.xml

index 4378ac4..8774482 100644 (file)
@@ -1,6 +1,7 @@
 openerp.web.view_editor = function(openerp) {
 var _PROPERTIES = {
-    'field' : ['required', 'readonly'],
+    'field' : ['name', 'string', 'required', 'readonly', 'domain', 'context', 'nolabel', 'completion',
+               'colspan', 'eval', 'ref', 'on_change', 'attrs'],
     'form' : ['string', 'col', 'link'],
     'notebook' : ['colspan', 'position', 'groups'],
     'page' : ['string', 'states', 'attrs', 'groups'],
@@ -22,7 +23,6 @@ var _PROPERTIES = {
 };
 var QWeb = openerp.web.qweb;
 openerp.web.ViewEditor =   openerp.web.Widget.extend({
-
     init: function(parent, element_id, dataset, view, options) {
         this._super(parent);
         this.element_id = element_id
@@ -107,7 +107,7 @@ openerp.web.ViewEditor =   openerp.web.Widget.extend({
         render_name+= ">";
         xml_tag+= ">";
         });
-        obj.main_xml = xml_tag;
+        obj.main_xml = xml;
         obj.name = render_name;
         return obj;
     },
@@ -287,7 +287,6 @@ openerp.web.ViewEditor =   openerp.web.Widget.extend({
     this.dialog.$element.html(QWeb.render('view_editor', {
        'data': one_object['main_object'],
     }));
-
     $("tr[id^='viewedit-']").click(function() {
         $("tr[id^='viewedit-']").removeClass('ui-selected');
         $(this).addClass('ui-selected');
@@ -439,10 +438,18 @@ openerp.web.ViewEditor =   openerp.web.Widget.extend({
                 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) {
                     // res will use for getting value of fields.
+                    var widget = ['readonly','required','nolable','completion','groups','position','icon','align'];
                     var k = {"attrs":{"modifiers":"{'readonly':true}","name":"name"},"children":[],"tag":"field"};
                     _.each(properties,function(record){
-                        var type_widget =  new (self.property.get_any(['undefined' , record, 'field'])) (self.dialog, k);
-                        $("div[id='"+self.dialog.element_id+"']").append('<div>'+record+''+type_widget.render()+'</div>');
+                        if (_.include(widget,record)){
+                            var type_widget =  new (self.property.get_any(['undefined' , record, 'field'])) (self.dialog, k);
+                            $("div[id='"+self.dialog.element_id+"']").append('<div>'+record+''+type_widget.render()+'</div>');
+                            type_widget.set_value(res[0][record]);
+                        }else{
+                            var type_widget = new openerp.web.ViewEditor.FieldChar (self.dialog, k);
+                            $("div[id='"+self.dialog.element_id+"']").append('<div id="res">'+record+''+type_widget.render()+'</div>');
+                            type_widget.set_value(res[0][record]);
+                        }
                     });
                 });
             });
@@ -450,12 +457,36 @@ openerp.web.ViewEditor =   openerp.web.Widget.extend({
 });
 openerp.web.ViewEditor.FieldBoolean = openerp.web.form.FieldBoolean.extend({
     init: function(view, node) {
-        //this._super(view, node);
-        this.template = "FieldBoolean";
+        this.$element = view.$element;
     },
     start: function() {
         var self = this;
         this._super.apply(this, arguments);
+    },
+    set_value: function(value) {
+        if (value === false || value === undefined) {
+            // As in GTK client, floats default to 0
+            value = 0;
+            this.dirty = true;
+        }
+        this._super.apply(this, [value]);
+    }
+});
+openerp.web.ViewEditor.FieldChar = openerp.web.form.FieldChar.extend({
+    init: function(view, node) {
+        this.$element = view.$element;
+    },
+    start: function() {
+        var self = this;
+        this._super.apply(this, arguments);
+    },
+    set_value: function(value) {
+        if (value === false || value === undefined) {
+            // As in GTK client, floats default to 0
+            value = 0;
+            this.dirty = true;
+        }
+        this._super.apply(this, [value]);
     }
 });
 
@@ -464,8 +495,7 @@ openerp.web.ViewEditor.property_widget = new openerp.web.Registry({
     'readonly' : 'openerp.web.ViewEditor.FieldBoolean',
     'nolabel' : 'openerp.web.ViewEditor.FieldBoolean',
     'completion' : 'openerp.web.ViewEditor.FieldBoolean',
-    /*'widget' : '',
-    'groups' : '',
+    /*'groups' : 'openerp.web.ViewEditor.WidgetFrame',
     'position': '',
     'icon': '',
     'align': '' */
index 11ebad8..e184424 100644 (file)
@@ -14,7 +14,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
     /**
      * @constructs openerp.web.FormView
      * @extends openerp.web.View
-     * 
+     *
      * @param {openerp.web.Session} session the current openerp session
      * @param {openerp.web.DataSet} dataset the dataset this view will work with
      * @param {String} view_id the identifier of the OpenERP view object
@@ -1042,7 +1042,7 @@ openerp.web.form.Field = openerp.web.form.Widget.extend(/** @lends openerp.web.f
     },
     update_dom: function() {
         this._super.apply(this, arguments);
-        if (this.field.translate) {
+       /* if (this.field.translate) {
             this.$element.find('.oe_field_translate').toggle(!!this.view.datarecord.id);
         }
         if (!this.disable_utility_classes) {
@@ -1051,7 +1051,7 @@ openerp.web.form.Field = openerp.web.form.Widget.extend(/** @lends openerp.web.f
             if (this.view.show_invalid) {
                 this.$element.toggleClass('invalid', !this.is_valid());
             }
-        }
+        }*/
     },
     on_ui_change: function() {
         this.dirty = this.view.dirty_for_user = true;
@@ -2274,7 +2274,7 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope
             }).pipe(function() {
                 self.searchview.do_search();
             });
-            
+
         });
         this.searchview.appendTo($("#" + this.element_id + "_search"));
     },
@@ -2647,13 +2647,13 @@ openerp.web.form.FieldStatus = openerp.web.form.Field.extend({
     start: function() {
         this._super();
         this.selected_value = null;
-        
+
         this.render_list();
     },
     set_value: function(value) {
         this._super(value);
         this.selected_value = value;
-        
+
         this.render_list();
     },
     render_list: function() {
@@ -2661,7 +2661,7 @@ openerp.web.form.FieldStatus = openerp.web.form.Field.extend({
         var shown = _.map(((this.node.attrs || {}).statusbar_visible || "").split(","),
             function(x) { return x.trim(); });
         shown = _.select(shown, function(x) { return x.length > 0; });
-            
+
         if (shown.length == 0) {
             this.to_show = this.field.selection;
         } else {
@@ -2669,10 +2669,10 @@ openerp.web.form.FieldStatus = openerp.web.form.Field.extend({
                 return _.indexOf(shown, x[0]) !== -1 || x[0] === self.selected_value;
             });
         }
-        
+
         var content = openerp.web.qweb.render("FieldStatus.content", {widget: this, _:_});
         this.$element.html(content);
-        
+
         var colors = JSON.parse((this.node.attrs || {}).statusbar_colors || "{}");
         var color = colors[this.selected_value];
         if (color) {
index 04bd475..b8da6dc 100644 (file)
     <p class="oe_form_paragraph"><t t-esc="widget.string"/></p>
 </t>
 <t t-name="FieldChar">
-    <input type="text" size="1"
+    <input type="text" size="12"
         t-att-name="widget.name"
         t-att-id="widget.element_id"
         t-attf-class="field_#{widget.type} #{widget.element_class}"
-        t-attf-style="width: #{widget.field.translate ? '99' : '100'}%"
+
     />
-    <img class="oe_field_translate" t-if="widget.field.translate" src="/web/static/src/img/icons/terp-translate.png" width="16" height="16" border="0"/>
+    <!-- img class="oe_field_translate" t-if="widget.field.translate" src="/web/static/src/img/icons/terp-translate.png" width="16" height="16" border="0"/-->
 </t>
 <t t-name="FieldChar.readonly">
     <div