2022-03-15 15:59:37 -04:00

61 lines
1.3 KiB
Python

from django.db.models import Count
from netbox.views import generic
from . import forms, models, tables
#
# Access lists
#
class AccessListView(generic.ObjectView):
queryset = models.AccessList.objects.all()
def get_extra_context(self, request, instance):
table = tables.AccessListRuleTable(instance.rules.all())
table.configure(request)
return {
'rules_table': table,
}
class AccessListListView(generic.ObjectListView):
queryset = models.AccessList.objects.annotate(
rule_count=Count('rules')
)
table = tables.AccessListTable
class AccessListEditView(generic.ObjectEditView):
queryset = models.AccessList.objects.all()
model_form = forms.AccessListForm
class AccessListDeleteView(generic.ObjectDeleteView):
queryset = models.AccessList.objects.all()
#
# Access list rules
#
class AccessListRuleView(generic.ObjectView):
queryset = models.AccessListRule.objects.all()
class AccessListRuleListView(generic.ObjectListView):
queryset = models.AccessListRule.objects.all()
table = tables.AccessListRuleTable
class AccessListRuleEditView(generic.ObjectEditView):
queryset = models.AccessListRule.objects.all()
model_form = forms.AccessListRuleForm
class AccessListRuleDeleteView(generic.ObjectDeleteView):
queryset = models.AccessListRule.objects.all()