mirror of
https://github.com/lucaspalomodevelop/netbox-acls.git
synced 2026-03-12 23:27:23 +00:00
61 lines
1.3 KiB
Python
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()
|
|
|
|
|