[IMP] models: inherited fields are related fields read as the current user
[odoo/odoo.git] / openerp / addons / base / res / res_users.py
index 7102c00..a0e0bd1 100644 (file)
@@ -166,7 +166,7 @@ class res_users(osv.osv):
         'login_date': fields.date('Latest connection', select=1),
         'partner_id': fields.many2one('res.partner', required=True,
             string='Related Partner', ondelete='restrict',
-            help='Partner-related data of the user'),
+            help='Partner-related data of the user', auto_join=True),
         'login': fields.char('Login', size=64, required=True,
             help="Used to log into the system"),
         'password': fields.char('Password', size=64, invisible=True, copy=False,
@@ -188,6 +188,11 @@ class res_users(osv.osv):
         'company_ids':fields.many2many('res.company','res_company_users_rel','user_id','cid','Companies'),
     }
 
+    # overridden inherited fields to bypass access rights, in case you have
+    # access to the user but not its corresponding partner
+    name = openerp.fields.Char(related='partner_id.name')
+    email = openerp.fields.Char(related='partner_id.email')
+
     def on_change_login(self, cr, uid, ids, login, context=None):
         if login and tools.single_email_re.match(login):
             return {'value': {'email': login}}