summaryrefslogtreecommitdiff
path: root/addons/auth_openid/res_users.py
diff options
context:
space:
mode:
authorRaphael Collet <rco@openerp.com>2014-07-06 16:44:26 +0200
committerAntony Lesuisse <al@openerp.com>2014-07-06 17:05:41 +0200
commitcbe2dbb672a6c55d86f2e515f9d1cdfee426ef80 (patch)
treed6ff62b719fce32392397783c961b734b1e4c50e /addons/auth_openid/res_users.py
parentd78192c489d3be66cd6487b39f5ce7ba4733a187 (diff)
[MERGE] new v8 api by rco
A squashed merge is required as the conversion of the apiculture branch from bzr to git was not correctly done. The git history contains irrelevant blobs and commits. This branch brings a lot of changes and fixes, too many to list exhaustively. - New orm api, objects are now used instead of ids - Environements to encapsulates cr uid context while maintaining backward compatibility - Field compute attribute is a new object oriented way to define function fields - Shared browse record cache - New onchange protocol - Optional copy flag on fields - Documentation update - Dead code cleanup - Lots of fixes
Diffstat (limited to 'addons/auth_openid/res_users.py')
-rw-r--r--addons/auth_openid/res_users.py22
1 files changed, 6 insertions, 16 deletions
diff --git a/addons/auth_openid/res_users.py b/addons/auth_openid/res_users.py
index 897dea07982..1c6c635118a 100644
--- a/addons/auth_openid/res_users.py
+++ b/addons/auth_openid/res_users.py
@@ -30,11 +30,11 @@ class res_users(osv.osv):
# TODO create helper fields for autofill openid_url and openid_email -> http://pad.openerp.com/web-openid
_columns = {
- 'openid_url': fields.char('OpenID URL', size=1024),
- 'openid_email': fields.char('OpenID Email', size=256,
+ 'openid_url': fields.char('OpenID URL', size=1024, copy=False),
+ 'openid_email': fields.char('OpenID Email', size=256, copy=False,
help="Used for disambiguation in case of a shared OpenID URL"),
'openid_key': fields.char('OpenID Key', size=utils.KEY_LENGTH,
- readonly=True),
+ readonly=True, copy=False),
}
def _check_openid_url_email(self, cr, uid, ids, context=None):
@@ -48,19 +48,8 @@ class res_users(osv.osv):
(_check_openid_url_email, lambda self, *a, **kw: self._check_openid_url_email_msg(*a, **kw), ['active', 'openid_url', 'openid_email']),
]
- def copy(self, cr, uid, rid, defaults=None, context=None):
- reset_fields = 'openid_url openid_email'.split()
- reset_values = dict.fromkeys(reset_fields, False)
- if defaults is None:
- defaults = reset_values
- else:
- defaults = dict(reset_values, **defaults)
-
- defaults['openid_key'] = False
- return super(res_users, self).copy(cr, uid, rid, defaults, context)
-
- def login(self, db, login, password):
- result = super(res_users, self).login(db, login, password)
+ def _login(self, db, login, password):
+ result = super(res_users, self)._login(db, login, password)
if result:
return result
else:
@@ -69,6 +58,7 @@ class res_users(osv.osv):
SET login_date=now() AT TIME ZONE 'UTC'
WHERE login=%s AND openid_key=%s AND active=%s RETURNING id""",
(tools.ustr(login), tools.ustr(password), True))
+ # beware: record cache may be invalid
res = cr.fetchone()
cr.commit()
return res[0] if res else False