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