[FIX] Rewrite the res.user#write method to allow to change the values
from the preferences windows of the clients. bzr revid: stephane@openerp.com-20100604114055-t2qia9fjmmkyfwg8
This commit is contained in:
parent
7172fcf92d
commit
fb7fd36362
|
@ -332,19 +332,18 @@ class users(osv.osv):
|
||||||
'groups_id': _get_group,
|
'groups_id': _get_group,
|
||||||
'address_id': False,
|
'address_id': False,
|
||||||
}
|
}
|
||||||
def company_get(self, cr, uid, uid2, context={}):
|
def company_get(self, cr, uid, uid2, context=None):
|
||||||
return self._get_company(cr, uid, context=context, uid2=uid2)
|
return self._get_company(cr, uid, context=context, uid2=uid2)
|
||||||
company_get = tools.cache()(company_get)
|
company_get = tools.cache()(company_get)
|
||||||
|
|
||||||
def write(self, cr, uid, ids, values, *args, **argv):
|
def write(self, cr, uid, ids, values, context=None):
|
||||||
if (ids == [uid]):
|
if ids == [uid]:
|
||||||
ok = True
|
for key in values.keys():
|
||||||
for k in values.keys():
|
if not (key in ('view', 'password','signature','action_id', 'company_id') or key.startswith('context_')):
|
||||||
if k not in ('password','signature','action_id', 'context_lang', 'context_tz','company_id'):
|
break
|
||||||
ok=False
|
else:
|
||||||
if ok:
|
|
||||||
uid = 1
|
uid = 1
|
||||||
res = super(users, self).write(cr, uid, ids, values, *args, **argv)
|
res = super(users, self).write(cr, uid, ids, values, context=context)
|
||||||
self.company_get.clear_cache(cr.dbname)
|
self.company_get.clear_cache(cr.dbname)
|
||||||
# Restart the cache on the company_get method
|
# Restart the cache on the company_get method
|
||||||
self.pool.get('ir.model.access').call_cache_clearing_methods(cr)
|
self.pool.get('ir.model.access').call_cache_clearing_methods(cr)
|
||||||
|
|
Loading…
Reference in New Issue