diff --git a/geruecht/controller/ldapController.py b/geruecht/controller/ldapController.py index 1356c45..9fa3d5b 100644 --- a/geruecht/controller/ldapController.py +++ b/geruecht/controller/ldapController.py @@ -38,8 +38,10 @@ class LDAPController(metaclass=Singleton): 'dn': self.ldap.connection.response[0]['dn'], 'firstname': user['givenName'][0], 'lastname': user['sn'][0], - 'uid': username + 'uid': username, } + if user['mail']: + retVal['mail'] = user['mail'][0] return retVal except: raise PermissionDenied("No User exists with this uid.") diff --git a/geruecht/controller/userController.py b/geruecht/controller/userController.py index ea562ca..a7a542c 100644 --- a/geruecht/controller/userController.py +++ b/geruecht/controller/userController.py @@ -110,6 +110,14 @@ class UserController(metaclass=Singleton): db.updateUser(user) return self.getUser(username) + def __updateDataFromLDAP(self, user): + groups = ldap.getGroup(user.uid) + user_data = ldap.getUserData(user.uid) + user_data['gruppe'] = groups + user_data['group'] = groups + user.updateData(user_data) + db.updateUser(user) + def autoLock(self, user): if user.autoLock: if user.getGeruecht(year=datetime.now().year).getSchulden() <= (-1*user.limit): @@ -141,6 +149,10 @@ class UserController(metaclass=Singleton): def getAllUsersfromDB(self): users = db.getAllUser() for user in users: + try: + self.__updateDataFromLDAP(user) + except: + pass self.__updateGeruechte(user) return db.getAllUser()