Allow returning on the db stored permissions

This commit is contained in:
Roberto Rosario
2012-01-21 04:06:48 -04:00
parent 7714e62e97
commit f37500b0b4

View File

@@ -61,14 +61,14 @@ class AccessEntryManager(models.Manager):
access_entry.delete() access_entry.delete()
return True return True
def has_access(self, permission, actor, obj): def has_access(self, permission, actor, obj, db_only=False):
""" """
Returns whether an actor has a specific permission for an object Returns whether an actor has a specific permission for an object
""" """
obj = get_source_object(obj) obj = get_source_object(obj)
actor = get_source_object(actor) actor = get_source_object(actor)
if isinstance(actor, User): if isinstance(actor, User) and db_only == False:
if actor.is_superuser or actor.is_staff: if actor.is_superuser or actor.is_staff:
return True return True
@@ -144,7 +144,7 @@ class AccessEntryManager(models.Manager):
return holder_list return holder_list
def get_holder_permissions_for(self, obj, actor): def get_holder_permissions_for(self, obj, actor, db_only=False):
""" """
Returns a list of actors that hold at least one permission for Returns a list of actors that hold at least one permission for
a specific object a specific object
@@ -152,7 +152,7 @@ class AccessEntryManager(models.Manager):
logger.debug('obj: %s' % obj) logger.debug('obj: %s' % obj)
logger.debug('actor: %s' % actor) logger.debug('actor: %s' % actor)
if isinstance(actor, User): if isinstance(actor, User) and db_only == False:
if actor.is_superuser or actor.is_staff: if actor.is_superuser or actor.is_staff:
return Permission.objects.all() return Permission.objects.all()