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    
dj-kaos / iam / mixins.py
Size: Mime:
from django.db.models.options import Options


class ObjectPermissionsModelMixin:
    _meta: Options

    def has_object_perm(self, user, action):
        func_name = f'has_{action}_obj_perm'
        if func := getattr(self, func_name, None):
            return func(user)
        else:
            return False

    def has_add_obj_perm(self, user):
        return False

    def has_view_obj_perm(self, user):
        return self.has_change_obj_perm(user)

    def has_change_obj_perm(self, user):
        return False

    def has_delete_obj_perm(self, user):
        return False


__all__ = (
    'ObjectPermissionsModelMixin',
)