Exemplo n.º 1
0
 def findServerUser(self, sid, name, domain):
     return self.serverusers.select(
         sql.and_(
             self.serverusers.c.sid == sid,
             self.serverusers.c.domain == domain,
             self.serverusers.c.name == name,
         )).execute().fetchone()
Exemplo n.º 2
0
 def getGroupServerDomains(self, gid):
     return sql.select([self.serverusers.c.domain],
                       sql.and_(
                           self.servergroup.c.gid == gid,
                           self.serverusers.c.sid == self.servergroup.c.sid,
                       ),
                       group_by=[self.serverusers.c.domain
                                 ]).execute().fetchall()
Exemplo n.º 3
0
 def getServerMembership(self, sid):
     return sql.select(
         [
             self.servergroup.c.sid,
             self.servergroup.c.gid,
             self.groups.c.name,
         ],
         sql.and_(self.servergroup.c.sid == sid, self.groups.c.id ==
                  self.servergroup.c.gid)).execute().fetchall()
Exemplo n.º 4
0
 def getMembership(self, uid):
     return sql.select([
         self.usergroup.c.uid,
         self.usergroup.c.gid,
         self.groups.c.name,
     ],
                       sql.and_(self.usergroup.c.uid == uid,
                                self.groups.c.id ==
                                self.usergroup.c.gid)).execute().fetchall()
Exemplo n.º 5
0
 def getDomainMemberships(self):
     return sql.select([
         self.domaingroup.c.did,
         self.domaingroup.c.gid,
         self.groups.c.name,
         self.domains.c.domain,
     ],
                       sql.and_(self.domaingroup.c.gid == self.groups.c.id,
                                self.domaingroup.c.did ==
                                self.domains.c.id)).execute().fetchall()
Exemplo n.º 6
0
 def delServerUser(self, sid, id=None, name=None, domain=None):
     if id:
         return self.serverusers.delete(
             self.serverusers.c.id == id).execute()
     else:
         return self.serverusers.delete(
             sql.and_(
                 self.serverusers.c.name == name,
                 self.serverusers.c.domain == domain,
             )).execute()
Exemplo n.º 7
0
    def authenticateUser(self, username, password):
        # handle preauthentication
        if password:
            check = sql.and_(
                self.users.c.username == username,
                self.users.c.password == sha.sha(password).hexdigest())
        elif password == None:
            check = (self.users.c.username == username)

        return self.users.select(check).execute().fetchone()
Exemplo n.º 8
0
 def getUsersFromSGroup(self, gid):
     return sql.select(
         [
             self.serverusers.c.id, self.serverusers.c.sid,
             self.serverusers.c.domain, self.serverusers.c.name,
             self.serverusers.c.giveName
         ],
         sql.and_(self.serverusers.c.sid == self.servergroup.c.sid,
                  self.servergroup.c.gid == gid),
         order_by=[self.serverusers.c.name]).execute().fetchall()
Exemplo n.º 9
0
 def getServerUsersByDomain(self, domain, gid):
     return sql.select([
         self.serverusers.c.id, self.serverusers.c.name, self.server.c.name
     ],
                       sql.and_(
                           self.serverusers.c.domain == domain,
                           self.server.c.id == self.serverusers.c.sid,
                           self.servergroup.c.sid == self.serverusers.c.sid,
                           self.servergroup.c.gid == gid),
                       group_by=[self.serverusers.c.name
                                 ]).execute().fetchall()
Exemplo n.º 10
0
 def listPendingOrders(self):
     return sql.select([
         self.orders.c.id, self.orders.c.uid, self.orders.c.sid,
         self.orders.c.name, self.orders.c.hostname, self.orders.c.type,
         self.orders.c.support, self.orders.c.status, self.orders.c.created,
         self.orders.c.modified, self.users.c.fullname
     ],
                       sql.and_(
                           self.users.c.id == self.orders.c.uid,
                           sql.or_(self.orders.c.status != "Completed",
                                   self.orders.c.status == None)),
                       order_by=[self.orders.c.modified
                                 ]).execute().fetchall()
Exemplo n.º 11
0
 def getDomainsInGroup(self, gids):
     """ Get all the domains viewable in C(list) of groups """
     result = []
     for gid in gids:
         query = sql.select(
             [
                 self.domains.c.id,
                 self.domains.c.domain,
             ],
             sql.and_(self.domaingroup.c.gid == gid, self.domains.c.id ==
                      self.domaingroup.c.did)).execute().fetchall()
         for r in query:
             result.append(r)
     return result
Exemplo n.º 12
0
    def getServersInGroup(self, gids):
        """ Get all the servers in a C(list) of groups """
        result = []

        for gid in gids:
            query = sql.select(
                [
                    self.server.c.id, self.server.c.name,
                    self.server.c.hostname, self.server.c.skey,
                    self.server.c.lasthost, self.server.c.lastversion
                ],
                sql.and_(self.servergroup.c.gid == gid, self.server.c.id ==
                         self.servergroup.c.sid)).execute().fetchall()
            for r in query:
                result.append(r)

        return result
Exemplo n.º 13
0
 def getServerUserById(self, uid, gid):
     return sql.select(
         [
             self.serverusers.c.id, self.serverusers.c.sid,
             self.serverusers.c.domain, self.serverusers.c.name,
             self.serverusers.c.giveName, self.serverusers.c.sn,
             self.serverusers.c.cn, self.serverusers.c.uid,
             self.serverusers.c.gid, self.serverusers.c.emp,
             self.serverusers.c.active, self.serverusers.c.mail,
             self.serverusers.c.mailForward, self.serverusers.c.mailAlias,
             self.serverusers.c.ntPass, self.serverusers.c.password,
             self.serverusers.c.lmPass, self.serverusers.c.samSid,
             self.serverusers.c.pgSid, self.serverusers.c.vacation,
             self.serverusers.c.vacEnable, self.serverusers.c.flags
         ],
         sql.and_(self.serverusers.c.id == uid,
                  self.servergroup.c.sid == self.serverusers.c.sid,
                  self.servergroup.c.gid in gid)).execute().fetchone()
Exemplo n.º 14
0
    def updateServerUser(self, sid, id, detail):
        newDetail = {'sid': sid}

        valid = [
            'pgSid', 'domain', 'cn', 'mailForward', 'emp', 'name', 'lmPass',
            'mailAlias', 'active', 'gid', 'sn', 'giveName', 'uid', 'mail',
            'ntPass', 'password', 'samSid', 'vacation', 'vacEnable', 'flags'
        ]

        for key in valid:
            if key == 'vacEnable':
                if 'True' in detail.get(key, ''):
                    newDetail[key] = 1
                else:
                    newDetail[key] = 0
            else:
                newDetail[key] = detail.get(key, '')

        return self.serverusers.update(
            sql.and_(self.serverusers.c.id == id,
                     self.serverusers.c.sid == sid)).execute(**newDetail)
Exemplo n.º 15
0
 def findOrder(self, gid, name, hostname, support, type):
     return self.orders.select(
         sql.and_(self.orders.c.uid == gid, self.orders.c.name == name,
                  self.orders.c.hostname == hostname,
                  self.orders.c.support == support,
                  self.orders.c.type == type)).execute().fetchone()
Exemplo n.º 16
0
 def getGroupUsers(self, gid):
     return sql.select([self.users.c.id, self.users.c.username],
                       sql.and_(
                           self.usergroup.c.gid == gid,
                           self.users.c.id == self.usergroup.c.uid,
                       )).execute().fetchall()
Exemplo n.º 17
0
 def getServerForUser(self, uid):
     return sql.select(
         [self.server.c.id, self.server.c.name],
         sql.and_(self.serverusers.c.id == uid, self.server.c.id ==
                  self.serverusers.c.sid)).execute().fetchone()
Exemplo n.º 18
0
 def getServerUsers(self, sid):
     return self.serverusers.select(
         sql.and_(self.serverusers.c.sid == sid, )).execute().fetchall()
Exemplo n.º 19
0
 def updateApplied(self, sid, package):
     return self.updates.update(
         sql.and_(self.updates.c.sid == sid,
                  self.updates.c.package == package)).execute(
                      date=datetime.datetime.now(), applied=1)
Exemplo n.º 20
0
 def deleteServerMembership(self, gid, sid):
     return self.servergroup.delete(
         sql.and_(self.servergroup.c.sid == sid,
                  self.servergroup.c.gid == gid)).execute()