Untitled

 avatar
unknown
python
a year ago
9.9 kB
14
Indexable
from rest_framework.permissions import BasePermission

from common.enums import OrganizationRoleChoices, NetworkRoleChoices


class IsOrgUser(BasePermission):
    """
    Allow access only to users who are part of an Organization.
    """

    def has_permission(self, request, view):
        return (
            hasattr(request.user, "organization")
            and request.user.organization is not None
        )


class IsNetworkUser(BasePermission):
    """
    Allow access only to users who are part of a Network.
    """

    def has_permission(self, request, view):
        return hasattr(request.user, "network") and request.user.network is not None


class IsOrgAdmin(BasePermission):
    """
    Allow access only to users who are part of an Organization and have ADMIN role.
    """

    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.ADMIN
        )


class IsNetworkAdmin(BasePermission):
    """
    Allow access only to users who are part of a Network and have ADMIN role.
    """

    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.ADMIN
        )


class IsOrgAdvisor(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.ADVISOR
        )

class IsNetworkAdvisor(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.ADVISOR
        )

class IsOrgIntroducer(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.INTRODUCER
        )

class IsNetworkIntroducer(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.INTRODUCER
        )

class IsOrgClient(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.CLIENT
        )


class IsNetworkClient(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.CLIENT
        )

class IsOrgLead(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.LEAD
        )

class IsNetworkLead(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.LEAD
        )

class IsOrgJoint_user(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.JOINT_USER
        )

class IsNetworkJoint_user(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.JOINT_USER
        )

class IsOrgCeo(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.ORGANIZATION_CEO
        )


class IsNetworkCeo(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.NETWORK_CEO
        )


class IsOrgCoo(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.ORGANIZATION_COO
        )


class IsNetworkCoo(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.NETWORK_COO
        )


class IsOrgSystemDeveloper(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.ORGANIZATION_SYSTEM_DEVELOPER
        )


class IsNetworkSystemDeveloper(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.NETWORK_SYSTEM_DEVELOPER
        )


class IsOrgComplianceManager(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.ORGANIZATION_COMPLIANCE_MANAGER
        )


class IsNetworkComplianceManager(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.NETWORK_COMPLIANCE_MANAGER
        )


class IsOrgComplianceAssistant(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.ORGANIZATION_COMPLIANCE_ASSISTANT
        )


class IsNetworkComplianceAssistant(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.NETWORK_COMPLIANCE_ASSISTANT
        )


class IsOrgPrincipalAdviser(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.ORGANIZATION_PRINCIPAL_ADVISER
        )


class IsNetworkPrincipalAdviser(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.NETWORK_PRINCIPAL_ADVISER
        )


class IsOrgAdviser(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.ORGANIZATION_ADVISER
        )


class IsNetworkAdviser(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.NETWORK_ADVISER
        )


class IsOrgAdminRole(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.ORGANIZATION_ADMIN
        )


class IsNetworkAdminRole(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.NETWORK_ADMIN
        )


class IsOrgSupport(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "organization")
            and user.organization is not None
            and user.role == OrganizationRoleChoices.ORGANIZATION_SUPPORT
        )


class IsNetworkSupport(BasePermission):
    def has_permission(self, request, view):
        user = request.user
        return (
            hasattr(user, "network")
            and user.network is not None
            and user.role == NetworkRoleChoices.NETWORK_SUPPORT
        )
Editor is loading...
Leave a Comment