fc / apps /client /services /client_access_policy.py
jun2024's picture
Upload 2241 files
b4f2238 verified
Raw History Blame Contribute Delete
1.04 kB
"""当事人权限策略。"""
from typing import Any
from django.utils.translation import gettext_lazy as _
from apps.core.security import DjangoPermsMixin
class ClientAccessPolicy(DjangoPermsMixin):
def can_create_client(self, user: Any | None) -> bool:
return bool(self.has_perm(user, "client.add_client"))
def ensure_can_create_client(self, user: Any | None) -> None:
self.ensure_has_perm(user, "client.add_client", _("无权限创建客户"))
def can_update_client(self, user: Any | None) -> bool:
return bool(self.has_perm(user, "client.change_client"))
def ensure_can_update_client(self, user: Any | None) -> None:
self.ensure_has_perm(user, "client.change_client", _("无权限更新该客户"))
def can_delete_client(self, user: Any | None) -> bool:
return bool(self.has_perm(user, "client.delete_client"))
def ensure_can_delete_client(self, user: Any | None) -> None:
self.ensure_has_perm(user, "client.delete_client", _("无权限删除该客户"))