diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 26e7d6baba6..acf4685ea40 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -965,6 +965,10 @@ class View(openerpweb.Controller): xml = ElementTree.fromstring(arch) fvg['arch'] = common.xml2json.from_elementtree(xml, preserve_whitespaces) + if 'id' in fvg['fields']: + # Special case for id's + fvg['fields']['id']['type'] = 'id' + for field in fvg['fields'].itervalues(): if field.get('views'): for view in field["views"].itervalues(): diff --git a/addons/web/static/src/js/formats.js b/addons/web/static/src/js/formats.js index 7f220d0aa54..eb7d6c335ac 100644 --- a/addons/web/static/src/js/formats.js +++ b/addons/web/static/src/js/formats.js @@ -90,6 +90,8 @@ openerp.web.format_value = function (value, descriptor, value_if_empty) { } 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)); diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 853337a2a08..113fc1185ed 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3227,6 +3227,7 @@ openerp.web.form.widgets = new openerp.web.Registry({ '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', diff --git a/addons/web/static/src/js/view_page.js b/addons/web/static/src/js/view_page.js index 7057a454bca..d5c37419764 100644 --- a/addons/web/static/src/js/view_page.js +++ b/addons/web/static/src/js/view_page.js @@ -245,6 +245,7 @@ openerp.web.page = function (openerp) { 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',