summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Dony <odo@openerp.com>2015-04-10 17:14:16 +0200
committerOlivier Dony <odo@openerp.com>2015-04-10 17:14:59 +0200
commit8d750ecdc8bd61d80cc26cc2ad6b4f13aeb3389d (patch)
tree2a135807b64cbb61e28fcfaeaeb897072ab0258c
parentd0493ee8477c26ff5093a654b2d63adb64ed0164 (diff)
[FIX] apply same visibility rules as base
-rw-r--r--addons/auth_crypt/auth_crypt.py2
-rw-r--r--openerp/addons/base/res/res_users.py9
2 files changed, 9 insertions, 2 deletions
diff --git a/addons/auth_crypt/auth_crypt.py b/addons/auth_crypt/auth_crypt.py
index 384e7960cbe..eb57c8aa063 100644
--- a/addons/auth_crypt/auth_crypt.py
+++ b/addons/auth_crypt/auth_crypt.py
@@ -5,6 +5,8 @@ from passlib.context import CryptContext
import openerp
from openerp.osv import fields, osv
+openerp.addons.base.res.res_users.USER_PRIVATE_FIELDS.append('password_crypt')
+
_logger = logging.getLogger(__name__)
default_crypt_context = CryptContext(
diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py
index 0ce5b6fa242..3327cbbdbdb 100644
--- a/openerp/addons/base/res/res_users.py
+++ b/openerp/addons/base/res/res_users.py
@@ -37,6 +37,9 @@ from openerp.http import request
_logger = logging.getLogger(__name__)
+# Only users who can modify the user (incl. the user herself) see the real contents of these fields
+USER_PRIVATE_FIELDS = ['password']
+
#----------------------------------------------------------
# Basic res.groups and res.users
#----------------------------------------------------------
@@ -280,8 +283,10 @@ class res_users(osv.osv):
def read(self, cr, uid, ids, fields=None, context=None, load='_classic_read'):
def override_password(o):
- if 'password' in o and ('id' not in o or o['id'] != uid):
- o['password'] = '********'
+ if ('id' not in o or o['id'] != uid):
+ for f in USER_PRIVATE_FIELDS:
+ if f in o:
+ o[f] = '********'
return o
if fields and (ids == [uid] or ids == uid):