Add dedicated views for nested group models

This commit is contained in:
Jeremy Stretch
2021-03-26 15:07:29 -04:00
parent b7e44a744d
commit 2820d26a0f
13 changed files with 382 additions and 11 deletions

View File

@@ -112,6 +112,23 @@ class RegionListView(generic.ObjectListView):
table = tables.RegionTable
class RegionView(generic.ObjectView):
queryset = Region.objects.all()
def get_extra_context(self, request, instance):
sites = Site.objects.restrict(request.user, 'view').filter(
region=instance
)
sites_table = tables.SiteTable(sites)
sites_table.columns.hide('region')
paginate_table(sites_table, request)
return {
'sites_table': sites_table,
}
class RegionEditView(generic.ObjectEditView):
queryset = Region.objects.all()
model_form = forms.RegionForm
@@ -169,6 +186,23 @@ class SiteGroupListView(generic.ObjectListView):
table = tables.SiteGroupTable
class SiteGroupView(generic.ObjectView):
queryset = SiteGroup.objects.all()
def get_extra_context(self, request, instance):
sites = Site.objects.restrict(request.user, 'view').filter(
group=instance
)
sites_table = tables.SiteTable(sites)
sites_table.columns.hide('group')
paginate_table(sites_table, request)
return {
'sites_table': sites_table,
}
class SiteGroupEditView(generic.ObjectEditView):
queryset = SiteGroup.objects.all()
model_form = forms.SiteGroupForm
@@ -291,6 +325,23 @@ class LocationListView(generic.ObjectListView):
table = tables.LocationTable
class LocationView(generic.ObjectView):
queryset = Location.objects.all()
def get_extra_context(self, request, instance):
devices = Device.objects.restrict(request.user, 'view').filter(
location=instance
)
devices_table = tables.DeviceTable(devices)
devices_table.columns.hide('location')
paginate_table(devices_table, request)
return {
'devices_table': devices_table,
}
class LocationEditView(generic.ObjectEditView):
queryset = Location.objects.all()
model_form = forms.LocationForm