(mail) manage mailboxes permissions

Manage create and list permissions for all roles.
This commit is contained in:
Sabrina Demagny
2024-08-06 00:04:51 +02:00
parent 87e7d3e0b1
commit b637774179
8 changed files with 236 additions and 63 deletions

View File

@@ -2,6 +2,8 @@
from core.api import permissions as core_permissions
from mailbox_manager import models
class AccessPermission(core_permissions.IsAuthenticated):
"""Permission class for access objects."""
@@ -10,3 +12,12 @@ class AccessPermission(core_permissions.IsAuthenticated):
"""Check permission for a given object."""
abilities = obj.get_abilities(request.user)
return abilities.get(request.method.lower(), False)
class MailBoxPermission(core_permissions.IsAuthenticated):
"""Permission class to manage mailboxes for a mail domain"""
def has_permission(self, request, view):
domain = models.MailDomain.objects.get(slug=view.kwargs.get("domain_slug", ""))
abilities = domain.get_abilities(request.user)
return abilities.get(request.method.lower(), False)