[FIX] ir_model: on a custom model, _rec_name should be 'x_name' if it exists
authorRaphael Collet <rco@openerp.com>
Mon, 17 Nov 2014 10:35:06 +0000 (11:35 +0100)
committerRaphael Collet <rco@openerp.com>
Mon, 17 Nov 2014 11:05:37 +0000 (12:05 +0100)
openerp/addons/base/ir/ir_model.py
openerp/models.py

index 307b325..c50044d 100644 (file)
@@ -228,12 +228,7 @@ class ir_model(osv.osv):
             _module = False
             _custom = True
 
-        obj = CustomModel._build_model(self.pool, cr)
-        obj._rec_name = CustomModel._rec_name = (
-            'x_name' if 'x_name' in obj._columns else
-            list(obj._columns)[0] if obj._columns else
-            'id'
-        )
+        CustomModel._build_model(self.pool, cr)
 
 class ir_model_fields(osv.osv):
     _name = 'ir.model.fields'
index df46fce..10ccb89 100644 (file)
@@ -2991,6 +2991,8 @@ class BaseModel(object):
                 "Invalid rec_name %s for model %s" % (cls._rec_name, cls._name)
         elif 'name' in cls._fields:
             cls._rec_name = 'name'
+        elif 'x_name' in cls._fields:
+            cls._rec_name = 'x_name'
 
     def fields_get(self, cr, user, allfields=None, context=None, write_access=True):
         """ fields_get([fields])