Source code for caps.views.common

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