mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-25 01:48:38 -06:00
Extend circuits tables to include all relevant model fields
This commit is contained in:
parent
96eafe6dc1
commit
725e3cdbf3
@ -27,18 +27,23 @@ STATUS_LABEL = """
|
|||||||
class ProviderTable(BaseTable):
|
class ProviderTable(BaseTable):
|
||||||
pk = ToggleColumn()
|
pk = ToggleColumn()
|
||||||
name = tables.LinkColumn()
|
name = tables.LinkColumn()
|
||||||
|
portal_url = tables.URLColumn(
|
||||||
|
visible=False
|
||||||
|
)
|
||||||
|
noc_contact = tables.Column(
|
||||||
|
visible=False
|
||||||
|
)
|
||||||
|
admin_contact = tables.Column(
|
||||||
|
visible=False
|
||||||
|
)
|
||||||
|
circuit_count = tables.Column(
|
||||||
|
accessor=Accessor('count_circuits'),
|
||||||
|
verbose_name='Circuits'
|
||||||
|
)
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = Provider
|
model = Provider
|
||||||
fields = ('pk', 'name', 'asn', 'account',)
|
fields = ('pk', 'name', 'asn', 'account', 'portal_url', 'noc_contact', 'admin_contact', 'circuit_count')
|
||||||
|
|
||||||
|
|
||||||
class ProviderDetailTable(ProviderTable):
|
|
||||||
circuit_count = tables.Column(accessor=Accessor('count_circuits'), verbose_name='Circuits')
|
|
||||||
|
|
||||||
class Meta(ProviderTable.Meta):
|
|
||||||
model = Provider
|
|
||||||
fields = ('pk', 'name', 'asn', 'account', 'circuit_count')
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -86,6 +91,6 @@ class CircuitTable(BaseTable):
|
|||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = Circuit
|
model = Circuit
|
||||||
fields = (
|
fields = (
|
||||||
'pk', 'cid', 'status', 'type', 'provider', 'tenant', 'a_side', 'z_side', 'install_date', 'commit_rate',
|
'pk', 'cid', 'provider', 'type', 'status', 'tenant', 'a_side', 'z_side', 'install_date', 'commit_rate',
|
||||||
'description',
|
'description',
|
||||||
)
|
)
|
||||||
|
@ -28,7 +28,7 @@ class ProviderListView(PermissionRequiredMixin, ObjectListView):
|
|||||||
queryset = Provider.objects.annotate(count_circuits=Count('circuits'))
|
queryset = Provider.objects.annotate(count_circuits=Count('circuits'))
|
||||||
filterset = filters.ProviderFilterSet
|
filterset = filters.ProviderFilterSet
|
||||||
filterset_form = forms.ProviderFilterForm
|
filterset_form = forms.ProviderFilterForm
|
||||||
table = tables.ProviderDetailTable
|
table = tables.ProviderTable
|
||||||
|
|
||||||
|
|
||||||
class ProviderView(PermissionRequiredMixin, View):
|
class ProviderView(PermissionRequiredMixin, View):
|
||||||
@ -87,7 +87,7 @@ class ProviderBulkImportView(PermissionRequiredMixin, BulkImportView):
|
|||||||
|
|
||||||
class ProviderBulkEditView(PermissionRequiredMixin, BulkEditView):
|
class ProviderBulkEditView(PermissionRequiredMixin, BulkEditView):
|
||||||
permission_required = 'circuits.change_provider'
|
permission_required = 'circuits.change_provider'
|
||||||
queryset = Provider.objects.all()
|
queryset = Provider.objects.annotate(count_circuits=Count('circuits'))
|
||||||
filterset = filters.ProviderFilterSet
|
filterset = filters.ProviderFilterSet
|
||||||
table = tables.ProviderTable
|
table = tables.ProviderTable
|
||||||
form = forms.ProviderBulkEditForm
|
form = forms.ProviderBulkEditForm
|
||||||
@ -96,7 +96,7 @@ class ProviderBulkEditView(PermissionRequiredMixin, BulkEditView):
|
|||||||
|
|
||||||
class ProviderBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
|
class ProviderBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
|
||||||
permission_required = 'circuits.delete_provider'
|
permission_required = 'circuits.delete_provider'
|
||||||
queryset = Provider.objects.all()
|
queryset = Provider.objects.annotate(count_circuits=Count('circuits'))
|
||||||
filterset = filters.ProviderFilterSet
|
filterset = filters.ProviderFilterSet
|
||||||
table = tables.ProviderTable
|
table = tables.ProviderTable
|
||||||
default_return_url = 'circuits:provider_list'
|
default_return_url = 'circuits:provider_list'
|
||||||
|
@ -44,7 +44,7 @@ SEARCH_TYPES = OrderedDict((
|
|||||||
# Circuits
|
# Circuits
|
||||||
('provider', {
|
('provider', {
|
||||||
'permission': 'circuits.view_provider',
|
'permission': 'circuits.view_provider',
|
||||||
'queryset': Provider.objects.all(),
|
'queryset': Provider.objects.annotate(count_circuits=Count('circuits')),
|
||||||
'filterset': ProviderFilterSet,
|
'filterset': ProviderFilterSet,
|
||||||
'table': ProviderTable,
|
'table': ProviderTable,
|
||||||
'url': 'circuits:provider_list',
|
'url': 'circuits:provider_list',
|
||||||
|
@ -37,10 +37,10 @@ class BaseTable(tables.Table):
|
|||||||
@property
|
@property
|
||||||
def configurable_columns(self):
|
def configurable_columns(self):
|
||||||
selected_columns = [
|
selected_columns = [
|
||||||
(name, self.columns[name].verbose_name) for name in self.sequence if name != 'pk'
|
(name, self.columns[name].verbose_name) for name in self.sequence if name not in ['pk', 'actions']
|
||||||
]
|
]
|
||||||
available_columns = [
|
available_columns = [
|
||||||
(name, column.verbose_name) for name, column in self.columns.items() if name not in self.sequence and name != 'pk'
|
(name, column.verbose_name) for name, column in self.columns.items() if name not in self.sequence and name not in ['pk', 'actions']
|
||||||
]
|
]
|
||||||
return selected_columns + available_columns
|
return selected_columns + available_columns
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user