def getAllPermissionsForGroup(self, group_id):
        perms = self._db.query(GroupPermissionEntity).filter(GroupPermissionEntity.group_id == group_id).all()
        permissions = []
        for perm in perms:
            try:
                permissions.append(perm.permission.codename)
            except SQLAlchemyError:
                logService.log_error('[SQL] Could not get permission codename for group in GroupPermissionDAO')

        return permissions
    def getUserGroups(self, uid):
        userGroups = self._db.query(UserGroupEntity).filter(UserGroupEntity.uid == uid).all()
        groups = []

        for userGroup in userGroups:
            try:
                groups.append({userGroup.group_id: userGroup.group.name})
            except SQLAlchemyError:
                logService.log_error('[SQL] Could not get group name for user in UserGroupDAO.')

        return groups
 def userToJson(self, user):
     try:
         userJson = {
             'uid': user.uid,
             'username': user.username,
             'email': user.email,
             'last_connect': str(user.last_connect)
         }
     except AttributeError:
         logService.log_error('UserService: Could not convert list of users to json.')
         userJson = {}
     return json.dumps(userJson)
 def usersToJson(self, users):
     usersJson = []
     try:
         for user in users:
             usersJson.append({
                 'uid': user.uid,
                 'username': user.username,
                 'email': user.email,
                 'last_connect': str(user.last_connect)
             })
     except AttributeError:
         #log error
         logService.log_error('UserService: Could not convert list of users to json.')
     return json.dumps(usersJson)
    def send(self):
        self.instance.ehlo()
        self.instance.starttls()
        self.instance.ehlo
        self.instance.login(SMTP_USERNAME, SMTP_PASSWORD)

        if self.msg is None:
            msg = self._getHeaders() + "\r\n\r\n" + self.body
        else:
            msg = self.msg.as_string()
        try:
            self.instance.sendmail(
                self.fromAddress,
                self.to,
                msg)
        except AttributeError as err:
            logService.log_error("Could not send email. Essential attribute missing: " + err.message)
    def convertToJson(self, recordList):
        jsonHistory = []
        try:
            for h in recordList:
                jsonHistory.append({
                    'id': h.id,
                    'uid': h.uid,
                    'username': h.user.username,
                    'pid': h.pid,
                    'project': h.project.title,
                    'event_id': h.event_id,
                    'event': h.event.name,
                    'message': h.message
                })
        except AttributeError:
            logService.log_error('[HistoryService] Could not convert event list to json.')
            return ''

        return json.dumps(jsonHistory)
 def check_status(self, code):
     if code == 403 or code == 401:
         logService.log_error('[History] Could not authenticate to EventWebService to get all history')
         self.write_message(json.dumps({'error': '1'}))
         self.finish()
 def task(self):
     try:
         self.historyAll = requests.get('http://localhost:8001/').content
     except requests.ConnectionError:
         logService.log_error('[HistoryService] ActiveObject could not connect to EventWebService')