Fabien Meghazi (OpenERP) has proposed merging 
lp:~openerp-dev/openerp-web/trunk-id-special-case-fme into lp:openerp-web.

Requested reviews:
  Xavier (Open ERP) (xmo)
Related bugs:
  Bug #919184 in OpenERP Web: "[O2M] Using the "id" field in a view used in 
pop-up creates errors"
  https://bugs.launchpad.net/openerp-web/+bug/919184

For more details, see:
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-id-special-case-fme/+merge/90081

Add a special case for id fields. The @type is set to 'id'

The form and page registries uses FieldChar for fields of type id as the id.

web.format_value has be changed in order to return value.toString()
-- 
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-id-special-case-fme/+merge/90081
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openerp-web/trunk-id-special-case-fme.
=== modified file 'addons/web/controllers/main.py'
--- addons/web/controllers/main.py	2012-01-23 14:46:05 +0000
+++ addons/web/controllers/main.py	2012-01-25 11:28:33 +0000
@@ -965,6 +965,12 @@
             xml = ElementTree.fromstring(arch)
         fvg['arch'] = common.xml2json.from_elementtree(xml, preserve_whitespaces)
 
+        if 'id' in fvg['fields']:
+            # Special case for id's
+            id_field = fvg['fields']['id']
+            id_field['original_type'] = id_field['type']
+            id_field['type'] = 'id'
+
         for field in fvg['fields'].itervalues():
             if field.get('views'):
                 for view in field["views"].itervalues():

=== modified file 'addons/web/static/src/js/formats.js'
--- addons/web/static/src/js/formats.js	2012-01-11 09:58:53 +0000
+++ addons/web/static/src/js/formats.js	2012-01-25 11:28:33 +0000
@@ -90,6 +90,8 @@
     }
     var l10n = _t.database.parameters;
     switch (descriptor.widget || descriptor.type) {
+        case 'id':
+            return value.toString();
         case 'integer':
             return openerp.web.insert_thousand_seps(
                 _.str.sprintf('%d', value));

=== modified file 'addons/web/static/src/js/view_form.js'
--- addons/web/static/src/js/view_form.js	2012-01-25 10:08:24 +0000
+++ addons/web/static/src/js/view_form.js	2012-01-25 11:28:33 +0000
@@ -3227,6 +3227,7 @@
     'label' : 'openerp.web.form.WidgetLabel',
     'button' : 'openerp.web.form.WidgetButton',
     'char' : 'openerp.web.form.FieldChar',
+    'id' : 'openerp.web.form.FieldChar',
     'email' : 'openerp.web.form.FieldEmail',
     'url' : 'openerp.web.form.FieldUrl',
     'text' : 'openerp.web.form.FieldText',

=== modified file 'addons/web/static/src/js/view_page.js'
--- addons/web/static/src/js/view_page.js	2012-01-20 15:30:46 +0000
+++ addons/web/static/src/js/view_page.js	2012-01-25 11:28:33 +0000
@@ -245,6 +245,7 @@
     openerp.web.page.readonly = openerp.web.form.widgets.clone({
         'frame': 'openerp.web.page.WidgetFrameReadonly',
         'char': 'openerp.web.page.FieldCharReadonly',
+        'id': 'openerp.web.page.FieldCharReadonly',
         'email': 'openerp.web.page.FieldEmailReadonly',
         'url': 'openerp.web.page.FieldUrlReadonly',
         'text': 'openerp.web.page.FieldCharReadonly',

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to