from django.views import generic
from . import mixins
__all__ = (
"AgentDetailView",
"AgentListView",
"AgentCreateView",
"AgentUpdateView",
"AgentDeleteView",
"AccessDetailView",
"AccessListView",
"AccessDeleteView",
)
[docs]
class AgentDetailView(mixins.AgentMixin, generic.DetailView):
permission_required = "caps.view_agent"
[docs]
class AgentListView(mixins.AgentMixin, generic.ListView):
permission_required = "caps.view_agent"
[docs]
class AgentCreateView(mixins.AgentMixin, generic.CreateView):
"""Create an Agent (only for group)."""
permission_required = "caps.add_agent"
fields = ["group"]
[docs]
class AgentUpdateView(mixins.AgentMixin, generic.edit.UpdateView):
permission_required = "caps.add_agent"
fields = ["group"]
[docs]
class AgentDeleteView(mixins.AgentMixin, generic.edit.DeleteView):
permission_required = "caps.delete_agent"
[docs]
class AccessDetailView(mixins.AccessMixin, generic.DetailView):
[docs]
def get_queryset(self):
"""Ensure capabilities are paccessetch at the same time than the access."""
return super().get_queryset().prefetch_related("capabilities")
[docs]
class AccessListView(mixins.AccessMixin, generic.ListView):
pass
[docs]
class AccessDeleteView(mixins.AccessMixin, generic.DeleteView):
pass