예제 #1
0
파일: __init__.py 프로젝트: xpanta/enhydris
    def add_row_perm(self, instance, perm):
        """
        Add permission 'perm' to user 'self' for object(s) instance.
 
        instance variable may be an object or a queryset.
        """

        if type(instance).__name__ == 'QuerySet':
            for object in instance:
                if self.has_row_perm(object, perm, True):
                    pass
                permission = Permission()
                permission.content_object = object
                permission.user = self
                permission.name = perm
                permission.save()
        else:

            if self.has_row_perm(instance, perm, True):
                return False
            permission = Permission()
            permission.content_object = instance
            permission.user = self
            permission.name = perm
            permission.save()

        return True
예제 #2
0
파일: __init__.py 프로젝트: xpanta/enhydris
    def add_row_perm(self, instance, perm):
        """
        Add permission 'perm' to user 'self' for object(s) instance.
 
        instance variable may be an object or a queryset.
        """

        if type(instance).__name__ == 'QuerySet':
            for object in instance:
                if self.has_row_perm(object, perm, True):
                    pass
                permission = Permission()
                permission.content_object = object
                permission.user = self
                permission.name = perm
                permission.save()
        else:

            if self.has_row_perm(instance, perm, True):
                return False
            permission = Permission()
            permission.content_object = instance
            permission.user = self
            permission.name = perm
            permission.save()

        return True
 def add_row_perm(self, instance, perm):
     if self.has_row_perm(instance, perm):
         return False
     permission = Permission()
     permission.content_object = instance
     permission.group = self
     permission.name = perm
     permission.save()
     return True
예제 #4
0
    def add_row_perm(self, instance, perm):
        from models import Permission

        if self.has_row_perm(instance, perm, True):
            return False
        permission = Permission()
        permission.content_object = instance
        permission.user = self
        permission.name = perm
        permission.save()
        return True
예제 #5
0
파일: __init__.py 프로젝트: xpanta/enhydris
    def add_row_perm(self, instance, perm):

        if type(instance).__name__ == 'QuerySet':
            for object in instance:
                if self.has_row_perm(object, perm):
                    pass
                permission = Permission()
                permission.content_object = object
                permission.user = self
                permission.name = perm
                permission.save()
        else:
            if self.has_row_perm(instance, perm):
                return False
            permission = Permission()
            permission.content_object = instance
            permission.group = self
            permission.name = perm
            permission.save()
        return True
예제 #6
0
    def add_row_perm(self, instance, perm):
        from models import Permission

        if self.has_row_perm(instance, perm, True):
            return False
        permission = Permission()
        permission.content_object = instance
        permission.user = self
        permission.name = perm
        permission.save()
        return True
예제 #7
0
파일: __init__.py 프로젝트: xpanta/enhydris
    def add_row_perm(self, instance, perm):

        if type(instance).__name__ == 'QuerySet':
            for object in instance:
                if self.has_row_perm(object, perm):
                    pass
                permission = Permission()
                permission.content_object = object
                permission.user = self
                permission.name = perm
                permission.save()
        else:
            if self.has_row_perm(instance, perm):
                return False
            permission = Permission()
            permission.content_object = instance
            permission.group = self
            permission.name = perm
            permission.save()
        return True
예제 #8
0
 def _add_permission(self, name):
     """
         Adds a permission to the backend
         param name:
             name of the permission to add: 'can_add','can_edit' etc...
     """
     perm = self.session.query(Permission).filter_by(name = name).first()
     if perm == None:
         perm = Permission()
         perm.name = name
         self.session.add(perm)
         self.session.commit()
         return perm
     return perm
예제 #9
0
    def add_row_perm(self, instance, perm):
        
# 20100118 RL
# Bug in this app's code - one can fail to have perms both because you don't nhave them, and
# because your account isn't active. If the latter, we definitely shouldn't be putting duplicate rows in.
# Short of copying/pasting code, the easiest thing to do is to skip the active test - implemented by
# modifying has_row_perm to take another param.        
    
        if self.has_row_perm(instance, perm, True, False):
            return False
        
        permission = Permission()
        permission.content_object = instance
        permission.user = self
        permission.name = perm
        permission.save()
        return True
예제 #10
0
 def _add_permission(self, name):
     """
         Adds a permission to the backend, model permission
         
         :param name:
             name of the permission to add: 'can_add','can_edit' etc...
     """
     perm = self.session.query(Permission).filter_by(name=name).first()
     if perm is None:
         try:
             perm = Permission()
             perm.name = name
             self.session.add(perm)
             self.session.commit()
             return perm
         except Exception as e:
             log.error("Add Permission: {0}".format(str(e)))
             self.session.rollback()
     return perm