From 5895b17ca18593560acec76ca66007c5c8b693d2 Mon Sep 17 00:00:00 2001 From: Denis Ledoux Date: Thu, 1 Aug 2013 16:21:19 +0200 Subject: [PATCH 1/2] [FIX]stock: wizard stock change qty, object_reference return an integer and not a browse record bzr revid: dle@openerp.com-20130801142119-3kt689udw6j9zofz --- addons/stock/wizard/stock_change_product_qty.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/stock/wizard/stock_change_product_qty.py b/addons/stock/wizard/stock_change_product_qty.py index a5f700b442d..01ed6f2409a 100644 --- a/addons/stock/wizard/stock_change_product_qty.py +++ b/addons/stock/wizard/stock_change_product_qty.py @@ -67,7 +67,7 @@ class stock_change_product_qty(osv.osv_memory): self.pool.get('stock.location').check_access_rule(cr, uid, [location_id], 'read', context=context) except (orm.except_orm, ValueError): location_id = False - res.update({'location_id': location_id and location_id.id or False}) + res.update({'location_id': location_id}) return res def change_product_qty(self, cr, uid, ids, context=None): From f551350b8093816ed7ec456d786bb231ffec0460 Mon Sep 17 00:00:00 2001 From: Denis Ledoux Date: Thu, 1 Aug 2013 17:15:39 +0200 Subject: [PATCH 2/2] [FIX]auth_crypt: check_credentials checking if there is a password stored, if not, not trying to crypt anything and raise bzr revid: dle@openerp.com-20130801151539-z0bes7ylx5qwa8tw --- addons/auth_crypt/auth_crypt.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/addons/auth_crypt/auth_crypt.py b/addons/auth_crypt/auth_crypt.py index d0a4fda9632..08dd156a603 100644 --- a/addons/auth_crypt/auth_crypt.py +++ b/addons/auth_crypt/auth_crypt.py @@ -143,7 +143,7 @@ class res_users(osv.osv): cr.execute('SELECT password, password_crypt FROM res_users WHERE id=%s AND active', (uid,)) if cr.rowcount: stored_password, stored_password_crypt = cr.fetchone() - if password and not stored_password_crypt: + if stored_password and not stored_password_crypt: salt = gen_salt() stored_password_crypt = md5crypt(stored_password, salt) cr.execute("UPDATE res_users SET password='', password_crypt=%s WHERE id=%s", (stored_password_crypt, uid)) @@ -151,14 +151,15 @@ class res_users(osv.osv): return super(res_users, self).check_credentials(cr, uid, password) except openerp.exceptions.AccessDenied: # check md5crypt - if stored_password_crypt[:len(magic_md5)] == magic_md5: - salt = stored_password_crypt[len(magic_md5):11] - if stored_password_crypt == md5crypt(password, salt): - return - elif stored_password_crypt[:len(magic_md5)] == magic_sha256: - salt = stored_password_crypt[len(magic_md5):11] - if stored_password_crypt == md5crypt(password, salt): - return + if stored_password_crypt: + if stored_password_crypt[:len(magic_md5)] == magic_md5: + salt = stored_password_crypt[len(magic_md5):11] + if stored_password_crypt == md5crypt(password, salt): + return + elif stored_password_crypt[:len(magic_md5)] == magic_sha256: + salt = stored_password_crypt[len(magic_md5):11] + if stored_password_crypt == md5crypt(password, salt): + return # Reraise password incorrect raise