Fix set password by refactoring
review1079003
This commit is contained in:
1 parent
a7558e4e14
commit
263f8e57aa
2 files changed
+21
-28
No files matched your search
@@ -5,7 +5,6 @@ import traceback
|
||||
import logging
|
||||
import time
|
||||
import sys
|
||||
import hashlib
|
||||
import pydoc
|
||||
|
||||
from sql import Table
|
||||
@@ -242,22 +241,23 @@ def create(database_name, password, lang, admin_password):
|
||||
pool = Pool(database_name)
|
||||
pool.init(update=True, lang=[lang])
|
||||
with Transaction().start(database_name, 0) as transaction:
|
||||
cursor = transaction.cursor
|
||||
cursor.execute(*ir_lang.update([ir_lang.translatable], [True],
|
||||
where=(ir_lang.code == lang)))
|
||||
cursor.execute(*res_user.update([res_user.language],
|
||||
[ir_lang.select(ir_lang.id,
|
||||
where=(ir_lang.code == lang),
|
||||
limit=1)],
|
||||
where=(res_user.login != 'root')))
|
||||
admin_password = hashlib.sha1(admin_password.encode('utf-8'))\
|
||||
.hexdigest()
|
||||
cursor.execute(*res_user.update([res_user.password],
|
||||
[admin_password], where=(res_user.login == 'admin')))
|
||||
User = pool.get('res.user')
|
||||
Lang = pool.get('ir.lang')
|
||||
language, = Lang.search([('code', '=', lang)])
|
||||
language.translatable = True
|
||||
language.save()
|
||||
users = User.search([('login', '!=', 'root')])
|
||||
User.write(users, {
|
||||
'language': language.id,
|
||||
})
|
||||
admin, = User.search([('login', '=', 'admin')])
|
||||
User.write([admin], {
|
||||
'password': admin_password,
|
||||
})
|
||||
Module = pool.get('ir.module.module')
|
||||
if Module:
|
||||
Module.update_list()
|
||||
cursor.commit()
|
||||
transaction.cursor.commit()
|
||||
res = True
|
||||
except Exception:
|
||||
logger.error('CREATE DB: %s failed' % (database_name,))
|
||||
|
||||
+7
-14
@@ -10,11 +10,7 @@ import os
|
||||
import signal
|
||||
import time
|
||||
from getpass import getpass
|
||||
import hashlib
|
||||
import threading
|
||||
import string
|
||||
import random
|
||||
from sql import Table
|
||||
|
||||
from trytond.config import CONFIG
|
||||
from trytond import backend
|
||||
@@ -158,16 +154,13 @@ class TrytonServer(object):
|
||||
break
|
||||
|
||||
with Transaction().start(db_name, 0) as transaction:
|
||||
cursor = transaction.cursor
|
||||
salt = ''.join(random.sample(
|
||||
string.letters + string.digits, 8))
|
||||
password += salt
|
||||
password = hashlib.sha1(password).hexdigest()
|
||||
user = Table('res_user')
|
||||
cursor.execute(*user.update([user.password, user.salt],
|
||||
[[password, salt]],
|
||||
where=user.login == 'admin'))
|
||||
cursor.commit()
|
||||
pool = Pool()
|
||||
User = pool.get('res.user')
|
||||
admin, = User.search([('login', '=', 'admin')])
|
||||
User.write([admin], {
|
||||
'password': password,
|
||||
})
|
||||
transaction.cursor.commit()
|
||||
|
||||
if update:
|
||||
self.logger.info('Update/Init succeed!')
|
||||
|
||||
Reference in new issue
Block a user