From 5bb25b198e0fd797bdb149af6a21d60c79285bd1 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Wed, 19 Aug 2015 15:09:21 +0200 Subject: [PATCH] [IMP] ir_model: remove unnecessary keys from context, and fix the case that needed it --- openerp/addons/base/ir/ir_model.py | 17 +++-------------- openerp/models.py | 9 +-------- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 7725d005ad1..ab241b3bf11 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -182,11 +182,7 @@ class ir_model(osv.osv): self.pool.setup_models(cr, partial=(not self.pool.ready)) # update database schema model = self.pool[vals['model']] - ctx = dict(context, - field_name=vals['name'], - field_state='manual', - select=vals.get('select_level', '0'), - update_custom_fields=True) + ctx = dict(context, update_custom_fields=True) model._auto_init(cr, ctx) model._auto_end(cr, ctx) # actually create FKs! RegistryManager.signal_registry_change(cr.dbname) @@ -454,11 +450,7 @@ class ir_model_fields(osv.osv): self.pool.setup_models(cr, partial=(not self.pool.ready)) # update database schema model = self.pool[vals['model']] - ctx = dict(context, - field_name=vals['name'], - field_state='manual', - select=vals.get('select_level', '0'), - update_custom_fields=True) + ctx = dict(context, update_custom_fields=True) model._auto_init(cr, ctx) model._auto_end(cr, ctx) # actually create FKs! RegistryManager.signal_registry_change(cr.dbname) @@ -571,10 +563,7 @@ class ir_model_fields(osv.osv): # was called earlier, they will be in-sync before the _auto_init. # Anything we don't update in _columns now will be reset from # the model into ir.model.fields (db). - ctx = dict(context, - select=vals.get('select_level', '0'), - update_custom_fields=True, - ) + ctx = dict(context, update_custom_fields=True) for obj, model_patches in patches.iteritems(): for field_name, field_patches in model_patches.iteritems(): diff --git a/openerp/models.py b/openerp/models.py index e331569f7b4..8a5ffbdfde0 100644 --- a/openerp/models.py +++ b/openerp/models.py @@ -404,14 +404,6 @@ class BaseModel(object): raise UserError(_("Serialization field `%s` not found for sparse field `%s`!") % (f.serialization_field, k)) vals['serialization_field_id'] = serialization_field_id[0] - # When its a custom field,it does not contain f.select - if context.get('field_state', 'base') == 'manual': - if context.get('field_name', '') == k: - vals['select_level'] = context.get('select', '0') - #setting value to let the problem NOT occur next time - elif k in cols: - vals['select_level'] = cols[k]['select_level'] - if k not in cols: cr.execute('select nextval(%s)', ('ir_model_fields_id_seq',)) id = cr.fetchone()[0] @@ -672,6 +664,7 @@ class BaseModel(object): attrs = { 'manual': True, 'string': field['field_description'], + 'index': bool(int(field['select_level'])), 'copy': bool(field['copy']), 'related': field['related'], 'required': bool(field['required']),