update userControler, databaseController, ldapControlle and user for locking user
This commit is contained in:
parent
5fd734dc4e
commit
5607ec72f7
|
@ -69,13 +69,13 @@ class DatabaseController(metaclass=Singleton):
|
||||||
retVal += group
|
retVal += group
|
||||||
return retVal
|
return retVal
|
||||||
|
|
||||||
def insertUser(self, data):
|
def insertUser(self, user):
|
||||||
self.connect()
|
self.connect()
|
||||||
cursor = self.db.cursor()
|
cursor = self.db.cursor()
|
||||||
groups = self._convertGroupToString(data['group'])
|
groups = self._convertGroupToString(user.group)
|
||||||
try:
|
try:
|
||||||
cursor.execute("insert into user (uid, dn, firstname, lastname, gruppe) VALUES ('{}','{}','{}','{}','{}')".format(
|
cursor.execute("insert into user (uid, dn, firstname, lastname, gruppe, limit, locked, autoLock) VALUES ('{}','{}','{}','{}','{}',{},{},{})".format(
|
||||||
data['uid'], data['dn'], data['givenName'], data['sn'], groups))
|
user.uid, user.dn, user.firstname, user.lastname, groups))
|
||||||
self.db.commit()
|
self.db.commit()
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
self.db.rollback()
|
self.db.rollback()
|
||||||
|
@ -83,13 +83,13 @@ class DatabaseController(metaclass=Singleton):
|
||||||
raise err
|
raise err
|
||||||
self.db.close()
|
self.db.close()
|
||||||
|
|
||||||
def updateUser(self, data):
|
def updateUser(self, user):
|
||||||
self.connect()
|
self.connect()
|
||||||
cursor = self.db.cursor()
|
cursor = self.db.cursor()
|
||||||
groups = self._convertGroupToString(data['group'])
|
groups = self._convertGroupToString(user.group)
|
||||||
try:
|
try:
|
||||||
cursor.execute("update user set dn='{}', firstname='{}', lastname='{}', gruppe='{}' where uid='{}'".format(
|
cursor.execute("update user set dn='{}', firstname='{}', lastname='{}', gruppe='{}, limit={}, locked={}, autoLock={}' where uid='{}'".format(
|
||||||
data['dn'], data['givenName'], data['sn'], groups, data['uid']))
|
user.dn, user.firstname, user.lastname, groups, user.limit, user.locked, user.autoLock, user.uid))
|
||||||
self.db.commit()
|
self.db.commit()
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
self.db.rollback()
|
self.db.rollback()
|
||||||
|
|
|
@ -36,6 +36,8 @@ class LDAPController(metaclass=Singleton):
|
||||||
for k,v in retVal.items():
|
for k,v in retVal.items():
|
||||||
retVal[k] = v[0].decode('utf-8')
|
retVal[k] = v[0].decode('utf-8')
|
||||||
retVal['dn'] = self.dn
|
retVal['dn'] = self.dn
|
||||||
|
retVal['firstname'] = retVal['givenName']
|
||||||
|
retVal['lastname'] = retVal['sn']
|
||||||
return retVal
|
return retVal
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
from . import LOGGER, Singleton, db, ldapController as ldap
|
from . import LOGGER, Singleton, db, ldapController as ldap
|
||||||
|
from geruecht.model.user import User
|
||||||
from geruecht.exceptions import PermissionDenied
|
from geruecht.exceptions import PermissionDenied
|
||||||
|
|
||||||
class UserController(metaclass=Singleton):
|
class UserController(metaclass=Singleton):
|
||||||
|
@ -6,6 +7,12 @@ class UserController(metaclass=Singleton):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def updateConfig(self, username, data):
|
||||||
|
user = self.getUser(username)
|
||||||
|
user.updateData(data)
|
||||||
|
db.updateUser(user)
|
||||||
|
return self.getUser(username)
|
||||||
|
|
||||||
def addAmount(self, username, amount, year, month):
|
def addAmount(self, username, amount, year, month):
|
||||||
user = self.getUser(username)
|
user = self.getUser(username)
|
||||||
user.addAmount(amount, year=year, month=month)
|
user.addAmount(amount, year=year, month=month)
|
||||||
|
@ -31,9 +38,11 @@ class UserController(metaclass=Singleton):
|
||||||
user_data = ldap.getUserData(username)
|
user_data = ldap.getUserData(username)
|
||||||
user_data['group'] = groups
|
user_data['group'] = groups
|
||||||
if user is None:
|
if user is None:
|
||||||
db.insertUser(user_data)
|
user = User(user_data)
|
||||||
|
db.insertUser(user)
|
||||||
else:
|
else:
|
||||||
db.updateUser(user_data)
|
user.updateData(user_data)
|
||||||
|
db.updateUser(user)
|
||||||
user = db.getUser(username)
|
user = db.getUser(username)
|
||||||
return user
|
return user
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,18 @@ class User():
|
||||||
self.firstname = data['firstname']
|
self.firstname = data['firstname']
|
||||||
self.lastname = data['lastname']
|
self.lastname = data['lastname']
|
||||||
self.group = data['gruppe']
|
self.group = data['gruppe']
|
||||||
|
if 'limit' in data:
|
||||||
|
self.limit = data['limit']
|
||||||
|
else:
|
||||||
|
self.limit = 4200
|
||||||
|
if 'locked' in data:
|
||||||
|
self.locked = bool(data['locked'])
|
||||||
|
else:
|
||||||
|
self.locked = False
|
||||||
|
if 'autoLock' in data:
|
||||||
|
self.autoLock = bool(data['autoLock'])
|
||||||
|
else:
|
||||||
|
self.autoLock = True
|
||||||
if type(data['gruppe']) == list:
|
if type(data['gruppe']) == list:
|
||||||
self.group = data['gruppe']
|
self.group = data['gruppe']
|
||||||
elif type(data['gruppe']) == str:
|
elif type(data['gruppe']) == str:
|
||||||
|
@ -33,6 +45,22 @@ class User():
|
||||||
if 'creditLists' in data:
|
if 'creditLists' in data:
|
||||||
self.geruechte = data['creditLists']
|
self.geruechte = data['creditLists']
|
||||||
|
|
||||||
|
def updateData(self, data):
|
||||||
|
if 'dn' in data:
|
||||||
|
self.dn = data['dn']
|
||||||
|
if 'firstname' in data:
|
||||||
|
self.firstname = data['firstname']
|
||||||
|
if 'lastname' in data:
|
||||||
|
self.lastname = data['lastname']
|
||||||
|
if 'gruppe' in data:
|
||||||
|
self.group = data['gruppe']
|
||||||
|
if 'limit' in data:
|
||||||
|
self.limit = data['limit']
|
||||||
|
if 'locked' in data:
|
||||||
|
self.locked = bool(data['locked'])
|
||||||
|
if 'autoLock' in data:
|
||||||
|
self.autoLock = bool(data['autoLock'])
|
||||||
|
|
||||||
def initGeruechte(self, creditLists):
|
def initGeruechte(self, creditLists):
|
||||||
if type(creditLists) == list:
|
if type(creditLists) == list:
|
||||||
self.geruechte = creditLists
|
self.geruechte = creditLists
|
||||||
|
@ -166,7 +194,10 @@ class User():
|
||||||
"firstname": self.firstname,
|
"firstname": self.firstname,
|
||||||
"lastname": self.lastname,
|
"lastname": self.lastname,
|
||||||
"group": self.group,
|
"group": self.group,
|
||||||
"username": self.uid
|
"username": self.uid,
|
||||||
|
"locked": self.locked,
|
||||||
|
"autoLock": self.autoLock,
|
||||||
|
"limit": self.limit
|
||||||
}
|
}
|
||||||
return dic
|
return dic
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue