@@ -143,22 +143,23 @@ def check_credentials(self, cr, uid, password):
143
143
cr .execute ('SELECT password, password_crypt FROM res_users WHERE id=%s AND active' , (uid ,))
144
144
if cr .rowcount :
145
145
stored_password , stored_password_crypt = cr .fetchone ()
146
- if password and not stored_password_crypt :
146
+ if stored_password and not stored_password_crypt :
147
147
salt = gen_salt ()
148
148
stored_password_crypt = md5crypt (stored_password , salt )
149
149
cr .execute ("UPDATE res_users SET password='', password_crypt=%s WHERE id=%s" , (stored_password_crypt , uid ))
150
150
try :
151
151
return super (res_users , self ).check_credentials (cr , uid , password )
152
152
except openerp .exceptions .AccessDenied :
153
153
# check md5crypt
154
- if stored_password_crypt [:len (magic_md5 )] == magic_md5 :
155
- salt = stored_password_crypt [len (magic_md5 ):11 ]
156
- if stored_password_crypt == md5crypt (password , salt ):
157
- return
158
- elif stored_password_crypt [:len (magic_md5 )] == magic_sha256 :
159
- salt = stored_password_crypt [len (magic_md5 ):11 ]
160
- if stored_password_crypt == md5crypt (password , salt ):
161
- return
154
+ if stored_password_crypt :
155
+ if stored_password_crypt [:len (magic_md5 )] == magic_md5 :
156
+ salt = stored_password_crypt [len (magic_md5 ):11 ]
157
+ if stored_password_crypt == md5crypt (password , salt ):
158
+ return
159
+ elif stored_password_crypt [:len (magic_md5 )] == magic_sha256 :
160
+ salt = stored_password_crypt [len (magic_md5 ):11 ]
161
+ if stored_password_crypt == md5crypt (password , salt ):
162
+ return
162
163
# Reraise password incorrect
163
164
raise
164
165
0 commit comments