From 3f059d5edf9705af680914fcfd5b7a7472d33edb Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Mon, 23 Nov 2015 16:55:21 +0100 Subject: [PATCH] [ADD] ir_model: add boolean field `store` on model `ir.model.fields` Make the field reflect the field property `store` in registry. --- openerp/addons/base/base.sql | 1 + openerp/addons/base/ir/ir_model.py | 2 + openerp/addons/base/ir/ir_model_view.xml | 174 ++++++++++++----------- openerp/models.py | 2 + 4 files changed, 95 insertions(+), 84 deletions(-) diff --git a/openerp/addons/base/base.sql b/openerp/addons/base/base.sql index a994cc906cc..db41c73a6f2 100644 --- a/openerp/addons/base/base.sql +++ b/openerp/addons/base/base.sql @@ -45,6 +45,7 @@ CREATE TABLE ir_model_fields ( relation_table varchar, column1 varchar, column2 varchar, + store boolean, primary key(id) ); diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 517e9d84c99..9b96b7e64a5 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -252,6 +252,7 @@ class ir_model_fields(osv.osv): 'depends': fields.char("Dependencies", help="Dependencies of compute method; " "a list of comma-separated field names, like\n\n" " name, partner_id.name"), + 'store': fields.boolean('Stored', help="Whether the value is stored in the database."), } _rec_name='field_description' _defaults = { @@ -262,6 +263,7 @@ class ir_model_fields(osv.osv): 'on_delete': 'set null', 'field_description': '', 'selectable': 1, + 'store': True, } _order = "name" diff --git a/openerp/addons/base/ir/ir_model_view.xml b/openerp/addons/base/ir/ir_model_view.xml index 904ba7b4f5c..90bac1e3f95 100644 --- a/openerp/addons/base/ir/ir_model_view.xml +++ b/openerp/addons/base/ir/ir_model_view.xml @@ -59,49 +59,52 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - + @@ -222,49 +225,52 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/openerp/models.py b/openerp/models.py index cb541f13426..6e28205b4d2 100644 --- a/openerp/models.py +++ b/openerp/models.py @@ -412,6 +412,7 @@ class BaseModel(object): 'ttype': f.type, 'relation': f.comodel_name or None, 'index': bool(f.index), + 'store': bool(f.store), 'copy': bool(f.copy), 'related': f.related and ".".join(f.related), 'readonly': bool(f.readonly), @@ -696,6 +697,7 @@ class BaseModel(object): 'related': field['related'], 'required': bool(field['required']), 'readonly': bool(field['readonly']), + 'store': bool(field['store']), } # FIXME: ignore field['serialization_field_id'] if field['ttype'] in ('char', 'text', 'html'):