diff options
| author | P. Christeas <p_christ@hol.gr> | 2010-12-28 12:41:00 +0200 |
|---|---|---|
| committer | P. Christeas <p_christ@hol.gr> | 2010-12-28 12:41:00 +0200 |
| commit | 774983d16d3afe3b4e22ce0f3cde3c34c66b7dec (patch) | |
| tree | 9e67c246213d82ba62f575e30465c26ef050c103 | |
| parent | b102ade21f740d008611203cd38a28a83e28c866 (diff) | |
base_crypt: small changes, rearrange, to help merging with vmt's branch
bzr revid: p_christ@hol.gr-20101228104100-0cl0veaor9iv8q5n
| -rwxr-xr-x | addons/base_crypt/__openerp__.py (renamed from addons/base_crypt/__terp__.py) | 5 | ||||
| -rwxr-xr-x | addons/base_crypt/base_update.xml | 29 | ||||
| -rwxr-xr-x | addons/base_crypt/crypt.py | 47 |
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 |
