Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
django-iam / system.py
Size: Mime:
from django.core.exceptions import ValidationError
from django.utils.text import slugify

from .interfaces import RoleIAMInterface, RoleMigrationInterface


class SystemRole(RoleIAMInterface, RoleMigrationInterface):
    def __init__(self, slug=None, name=None):
        if name is None:
            raise ValidationError("name can't be None")

        self.slug = slug or slugify(name)
        self.name = name

    def has_role(self, user, obj):
        return self.member_model_cls.objects.filter(
            is_unarchived=True,
            user=user,
            role__is_unarchived=True,
            role__slug=self.slug,
        ).exists()


__all__ = (
    'SystemRole',
)