Files
mayan-edms/mayan/apps/permissions/managers.py
Roberto Rosario b53c026877 Sort arguments and imports
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-01-14 00:03:26 -04:00

32 lines
889 B
Python

from __future__ import unicode_literals
import logging
from django.contrib.contenttypes.models import ContentType
from django.db import models
logger = logging.getLogger(__name__)
class RoleManager(models.Manager):
def get_by_natural_key(self, label):
return self.get(label=label)
class StoredPermissionManager(models.Manager):
def get_by_natural_key(self, namespace, name):
return self.get(namespace=namespace, name=name)
def get_for_holder(self, holder):
ct = ContentType.objects.get_for_model(holder)
return self.model.objects.filter(
permissionholder__holder_type=ct
).filter(permissionholder__holder_id=holder.pk)
def purge_obsolete(self):
for permission in self.all():
try:
permission.volatile_permission
except KeyError:
permission.delete()