From c3c48e8ae5714da40b1b9f0092c059123e679be4 Mon Sep 17 00:00:00 2001 From: "olt@tinyerp.com" <> Date: Mon, 20 Jun 2011 13:12:35 +0200 Subject: [PATCH] [FIX] fixes launchpad bug 780584: Field definition translate=Yes is not stored in ir.model.fields lp bug: https://launchpad.net/bugs/780584 fixed bzr revid: olt@tinyerp.com-20110620111235-774bwaydcn4zfuwh --- bin/addons/base/base.sql | 1 + bin/osv/orm.py | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/bin/addons/base/base.sql b/bin/addons/base/base.sql index 802e71cfeb6..17378061b29 100644 --- a/bin/addons/base/base.sql +++ b/bin/addons/base/base.sql @@ -45,6 +45,7 @@ CREATE TABLE ir_model_fields ( view_load boolean, relate boolean default False, relation_field varchar(128), + translate boolean default False, primary key(id) ); diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 337125df29f..9a0177afc2e 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -458,8 +458,10 @@ class orm_template(object): 'readonly': (f.readonly and 1) or 0, 'required': (f.required and 1) or 0, 'selectable': (f.selectable and 1) or 0, + 'translate': (f.translate and 1) or 0, 'relation_field': (f._type=='one2many' and isinstance(f, fields.one2many)) and f._fields_id or '', } + # When its a custom field,it does not contain f.select if context.get('field_state', 'base') == 'manual': if context.get('field_name', '') == k: @@ -474,13 +476,13 @@ class orm_template(object): vals['id'] = id cr.execute("""INSERT INTO ir_model_fields ( id, model_id, model, name, field_description, ttype, - relation,view_load,state,select_level,relation_field + relation,view_load,state,select_level,relation_field, translate ) VALUES ( - %s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s + %s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s )""", ( id, vals['model_id'], vals['model'], vals['name'], vals['field_description'], vals['ttype'], vals['relation'], bool(vals['view_load']), 'base', - vals['select_level'], vals['relation_field'] + vals['select_level'], vals['relation_field'], bool(vals['translate']) )) if 'module' in context: name1 = 'field_' + self._table + '_' + k @@ -497,12 +499,12 @@ class orm_template(object): cr.commit() cr.execute("""UPDATE ir_model_fields SET model_id=%s, field_description=%s, ttype=%s, relation=%s, - view_load=%s, select_level=%s, readonly=%s ,required=%s, selectable=%s, relation_field=%s + view_load=%s, select_level=%s, readonly=%s ,required=%s, selectable=%s, relation_field=%s, translate=%s WHERE model=%s AND name=%s""", ( vals['model_id'], vals['field_description'], vals['ttype'], vals['relation'], bool(vals['view_load']), - vals['select_level'], bool(vals['readonly']), bool(vals['required']), bool(vals['selectable']), vals['relation_field'], vals['model'], vals['name'] + vals['select_level'], bool(vals['readonly']), bool(vals['required']), bool(vals['selectable']), vals['relation_field'], bool(vals['translate']), vals['model'], vals['name'] )) break cr.commit()