summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorP. Christeas <p_christ@hol.gr>2010-12-28 12:41:00 +0200
committerP. Christeas <p_christ@hol.gr>2010-12-28 12:41:00 +0200
commit774983d16d3afe3b4e22ce0f3cde3c34c66b7dec (patch)
tree9e67c246213d82ba62f575e30465c26ef050c103
parentb102ade21f740d008611203cd38a28a83e28c866 (diff)
base_crypt: small changes, rearrange, to help merging with vmt's branch
bzr revid: p_christ@hol.gr-20101228104100-0cl0veaor9iv8q5n
-rwxr-xr-xaddons/base_crypt/__openerp__.py (renamed from addons/base_crypt/__terp__.py)5
-rwxr-xr-xaddons/base_crypt/base_update.xml29
-rwxr-xr-xaddons/base_crypt/crypt.py47
3 files changed, 20 insertions, 61 deletions
diff --git a/addons/base_crypt/__terp__.py b/addons/base_crypt/__openerp__.py
index 7356ab4eb76..fcc5fa3c60d 100755
--- a/addons/base_crypt/__terp__.py
+++ b/addons/base_crypt/__openerp__.py
@@ -26,10 +26,7 @@
"category" : "Generic Modules/Base",
"description": "Module for password encryption.",
"depends" : ["base"],
- "init_xml" : [],
- "demo_xml" : [],
- "update_xml" : [
- ],
+ "data" : [],
"active": False,
"installable": True,
}
diff --git a/addons/base_crypt/base_update.xml b/addons/base_crypt/base_update.xml
deleted file mode 100755
index 66e4eaeb8c7..00000000000
--- a/addons/base_crypt/base_update.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0"?>
-<openerp>
-<data>
-
- <record model="ir.ui.view" id="view_users_form_simple_modif_inherit">
- <field name="name">res.users.form.modif.inherit</field>
- <field name="model">res.users</field>
- <field name="type">form</field>
- <field name="inherit_id" ref="base.view_users_form_simple_modif"/>
- <field name="priority" eval="10"/>
- <field name="arch" type="xml">
- <field name="password" position="replace">
- <field name="input_pw" password="True"/>
- </field>
- </field>
- </record>
- <record model="ir.ui.view" id="view_users_form_inherit1">
- <field name="name">res.users.form.inherit1</field>
- <field name="model">res.users</field>
- <field name="type">form</field>
- <field name="inherit_id" ref="base.view_users_form"/>
- <field name="arch" type="xml">
- <field name="password" position="replace">
- <field name="input_pw" password="True"/>
- </field>
- </field>
- </record>
-</data>
-</openerp>
diff --git a/addons/base_crypt/crypt.py b/addons/base_crypt/crypt.py
index 7283711209f..20899b3013c 100755
--- a/addons/base_crypt/crypt.py
+++ b/addons/base_crypt/crypt.py
@@ -124,21 +124,22 @@ def encrypt_md5( raw_pw, salt, magic=magic_md5 ):
return magic + salt + '$' + rearranged
-_salt_cache = {}
-
-
-#def check_super(passwd):
-# salt = _salt_cache[passwd]
-# if encrypt_md5( passwd, salt ) == tools.config['admin_passwd']:
-# return True
-# else:
-# raise Exception('AccessDenied')
-
-
class users(osv.osv):
_name="res.users"
_inherit="res.users"
+ def set_pw(self, cr, uid, id, name, value, args, context):
+ if not value:
+ raise osv.except_osv(_('Error'), _("Please specify the password !"))
+ self.write( cr, uid, id, { 'password' : encrypt_md5( value, gen_salt() ) } )
+ del value
+
+ def get_pw( self, cr, uid, ids, name, args, context ):
+ res = {}
+ for id in ids:
+ res[id] = ''
+ return res
+
def login(self, db, login, password):
if not password:
return False
@@ -155,9 +156,10 @@ class users(osv.osv):
return Exception('Access Denied')
def _login(self, cr, db, login, password):
- cr.execute( 'SELECT password FROM res_users WHERE login=%s', (login.encode( 'utf-8' ),) )
- stored_pw = cr.fetchone()
-
+ cr.execute( 'SELECT password FROM res_users WHERE login=%s',
+ (login.encode('utf-8'),))
+ stored_pw = id = cr.fetchone()
+
if stored_pw:
stored_pw = stored_pw[0]
else:
@@ -177,7 +179,7 @@ class users(osv.osv):
stored_pw = cr.fetchone()[0]
# Calculate an encrypted password from the user-provided
- # password ('encrypted_pw').
+ # password.
salt = _salt_cache[password] = stored_pw[3:11]
encrypted_pw = encrypt_md5( password, salt )
@@ -209,7 +211,8 @@ class users(osv.osv):
if not self.login(db,stored_login,passwd):
raise security.ExceptionNoTb('AccessDenied')
salt = _salt_cache[passwd]
- cr.execute('SELECT COUNT(*) FROM res_users WHERE id=%s AND password=%s', (int(uid), encrypt_md5( passwd, salt )) )
+ cr.execute('SELECT COUNT(*) FROM res_users WHERE id=%s AND password=%s',
+ (int(uid), encrypt_md5( passwd, salt )) )
res = cr.fetchone()[0]
cr.close()
if not bool(res):
@@ -229,16 +232,4 @@ class users(osv.osv):
raise security.ExceptionNoTb('Bad username or password')
return res[0]
- def set_pw( self, cr, uid, id, name, value, args, context ):
- if not value:
- raise osv.except_osv(_('Error'), _("Please specify the password !"))
- self.write( cr, uid, id, { 'password' : encrypt_md5( value, gen_salt() ) } )
- del value
-
- def get_pw( self, cr, uid, ids, name, args, context ):
- res = {}
- for id in ids:
- res[id] = ''
- return res
-
users() \ No newline at end of file