Ejemplo n.º 1
0
 def _sqlChanges(self):
     from Phoenix.Models import Privilege, Repository, Role
     Member.createTable(ifNotExists=True)
     Role.createTable(ifNotExists=True)
     Repository.createTable(ifNotExists=True)
     Privilege.createTable(ifNotExists=True)
     Hook.createTable(ifNotExists=True)
     Key.createTable(ifNotExists=True)
Ejemplo n.º 2
0
 def _sqlChanges(self):
     from Phoenix.Models import Privilege, Repository, Role
     Member.createTable(ifNotExists=True)
     Role.createTable(ifNotExists=True)
     Repository.createTable(ifNotExists=True)
     Privilege.createTable(ifNotExists=True)
     Hook.createTable(ifNotExists=True)
     Key.createTable(ifNotExists=True)
Ejemplo n.º 3
0
 def hasAccess(self, member=False, branch="master", tag="", action="R"):
     from Phoenix.Models import Privilege
     from re import match
     from sqlobject import AND, OR, IN
     if not member:
         privileges = Privilege.selectBy(repository=self, public=True)
     else:
         privileges = Privilege.select(AND(
                         Privilege.q.repository == self.id,
                         OR(
                            Privilege.q.member == member.id,
                            IN(Privilege.q.role, member.roles),
                            Privilege.q.public == 1)))
     print privileges
     if privileges.count() > 0:
         for p in privileges:
             if branch and match(p.branch, branch) and action in p.crud:
                 return True
             if tag and match(p.tag, tag) and action in p.crud:
                 return True
     return False
Ejemplo n.º 4
0
 def hasAccess(self, member=False, branch="master", tag="", action="R"):
     from Phoenix.Models import Privilege
     from re import match
     from sqlobject import AND, OR, IN
     if not member:
         privileges = Privilege.selectBy(repository=self, public=True)
     else:
         privileges = Privilege.select(
             AND(
                 Privilege.q.repository == self.id,
                 OR(Privilege.q.member == member.id,
                    IN(Privilege.q.role, member.roles),
                    Privilege.q.public == 1)))
     print privileges
     if privileges.count() > 0:
         for p in privileges:
             if branch and match(p.branch, branch) and action in p.crud:
                 return True
             if tag and match(p.tag, tag) and action in p.crud:
                 return True
     return False
Ejemplo n.º 5
0
 def addPrivilege(self,
                  tag,
                  branch,
                  crud,
                  member=None,
                  role=None,
                  public=False):
     from Phoenix.Models import Privilege
     privilege = Privilege(repository=self,
                           tag=tag,
                           branch=branch,
                           crud=crud,
                           member=member,
                           role=role,
                           public=public)
     return privilege
Ejemplo n.º 6
0
 def privilege(cls, id):
     from Phoenix.Models import Privilege
     if Privilege.get(id):
         return True
     return False
Ejemplo n.º 7
0
 def privilege(cls, id):
     from Phoenix.Models import Privilege
     if Privilege.get(id):
         return True
     return False