mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-08 00:28:16 -06:00
fixed prefix header to represent new serial "vlan_vid"
This commit is contained in:
parent
a5b7c057eb
commit
92bdddf3ec
@ -204,6 +204,16 @@ class RackReservationFilter(django_filters.FilterSet):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
label='Group',
|
label='Group',
|
||||||
)
|
)
|
||||||
|
tenant_id = NullableModelMultipleChoiceFilter(
|
||||||
|
queryset=Tenant.objects.all(),
|
||||||
|
label='Tenant (ID)',
|
||||||
|
)
|
||||||
|
tenant = NullableModelMultipleChoiceFilter(
|
||||||
|
name='tenant',
|
||||||
|
queryset=Tenant.objects.all(),
|
||||||
|
to_field_name='slug',
|
||||||
|
label='Tenant (slug)',
|
||||||
|
)
|
||||||
user_id = django_filters.ModelMultipleChoiceFilter(
|
user_id = django_filters.ModelMultipleChoiceFilter(
|
||||||
queryset=User.objects.all(),
|
queryset=User.objects.all(),
|
||||||
label='User (ID)',
|
label='User (ID)',
|
||||||
|
@ -409,6 +409,11 @@ class RackReservationFilterForm(BootstrapMixin, forms.Form):
|
|||||||
label='Rack group',
|
label='Rack group',
|
||||||
null_option=(0, 'None')
|
null_option=(0, 'None')
|
||||||
)
|
)
|
||||||
|
tenant = FilterChoiceField(
|
||||||
|
queryset=Tenant.objects.annotate(filter_count=Count('racks')),
|
||||||
|
to_field_name='slug',
|
||||||
|
null_option=(0, 'None')
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -790,10 +795,10 @@ class DeviceForm(BootstrapMixin, TenancyForm, CustomFieldForm):
|
|||||||
pk = self.instance.pk if self.instance.pk else None
|
pk = self.instance.pk if self.instance.pk else None
|
||||||
try:
|
try:
|
||||||
if self.is_bound and self.data.get('rack') and str(self.data.get('face')):
|
if self.is_bound and self.data.get('rack') and str(self.data.get('face')):
|
||||||
position_choices = Rack.objects.get(pk=self.data['rack'])\
|
position_choices = Rack.objects.get(pk=self.data['rack']) \
|
||||||
.get_rack_units(face=self.data.get('face'), exclude=pk)
|
.get_rack_units(face=self.data.get('face'), exclude=pk)
|
||||||
elif self.initial.get('rack') and str(self.initial.get('face')):
|
elif self.initial.get('rack') and str(self.initial.get('face')):
|
||||||
position_choices = Rack.objects.get(pk=self.initial['rack'])\
|
position_choices = Rack.objects.get(pk=self.initial['rack']) \
|
||||||
.get_rack_units(face=self.initial.get('face'), exclude=pk)
|
.get_rack_units(face=self.initial.get('face'), exclude=pk)
|
||||||
else:
|
else:
|
||||||
position_choices = []
|
position_choices = []
|
||||||
|
@ -245,6 +245,8 @@ class RackImportTable(BaseTable):
|
|||||||
|
|
||||||
class RackReservationTable(BaseTable):
|
class RackReservationTable(BaseTable):
|
||||||
pk = ToggleColumn()
|
pk = ToggleColumn()
|
||||||
|
site = tables.LinkColumn('dcim:site', args=[Accessor('site.slug')])
|
||||||
|
tenant = tables.LinkColumn('tenancy:tenant', args=[Accessor('tenant.slug')])
|
||||||
rack = tables.LinkColumn('dcim:rack', args=[Accessor('rack.pk')])
|
rack = tables.LinkColumn('dcim:rack', args=[Accessor('rack.pk')])
|
||||||
unit_list = tables.Column(orderable=False, verbose_name='Units')
|
unit_list = tables.Column(orderable=False, verbose_name='Units')
|
||||||
actions = tables.TemplateColumn(
|
actions = tables.TemplateColumn(
|
||||||
|
@ -325,7 +325,7 @@ class RackView(View):
|
|||||||
|
|
||||||
rack = get_object_or_404(Rack.objects.select_related('site__region', 'tenant__group', 'group', 'role'), pk=pk)
|
rack = get_object_or_404(Rack.objects.select_related('site__region', 'tenant__group', 'group', 'role'), pk=pk)
|
||||||
|
|
||||||
nonracked_devices = Device.objects.filter(rack=rack, position__isnull=True, parent_bay__isnull=True)\
|
nonracked_devices = Device.objects.filter(rack=rack, position__isnull=True, parent_bay__isnull=True) \
|
||||||
.select_related('device_type__manufacturer')
|
.select_related('device_type__manufacturer')
|
||||||
next_rack = Rack.objects.filter(site=rack.site, name__gt=rack.name).order_by('name').first()
|
next_rack = Rack.objects.filter(site=rack.site, name__gt=rack.name).order_by('name').first()
|
||||||
prev_rack = Rack.objects.filter(site=rack.site, name__lt=rack.name).order_by('-name').first()
|
prev_rack = Rack.objects.filter(site=rack.site, name__lt=rack.name).order_by('-name').first()
|
||||||
@ -392,7 +392,13 @@ class RackBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class RackReservationListView(ObjectListView):
|
class RackReservationListView(ObjectListView):
|
||||||
queryset = RackReservation.objects.all()
|
queryset = RackReservation.objects.select_related(
|
||||||
|
'site', 'tenant'
|
||||||
|
).prefetch_related(
|
||||||
|
'devices__device_type'
|
||||||
|
).annotate(
|
||||||
|
device_count=Count('devices', distinct=True)
|
||||||
|
)
|
||||||
filter = filters.RackReservationFilter
|
filter = filters.RackReservationFilter
|
||||||
filter_form = forms.RackReservationFilterForm
|
filter_form = forms.RackReservationFilterForm
|
||||||
table = tables.RackReservationTable
|
table = tables.RackReservationTable
|
||||||
@ -1771,7 +1777,7 @@ class InterfaceConnectionsBulkImportView(PermissionRequiredMixin, BulkImportView
|
|||||||
#
|
#
|
||||||
|
|
||||||
class ConsoleConnectionsListView(ObjectListView):
|
class ConsoleConnectionsListView(ObjectListView):
|
||||||
queryset = ConsolePort.objects.select_related('device', 'cs_port__device').filter(cs_port__isnull=False)\
|
queryset = ConsolePort.objects.select_related('device', 'cs_port__device').filter(cs_port__isnull=False) \
|
||||||
.order_by('cs_port__device__name', 'cs_port__name')
|
.order_by('cs_port__device__name', 'cs_port__name')
|
||||||
filter = filters.ConsoleConnectionFilter
|
filter = filters.ConsoleConnectionFilter
|
||||||
filter_form = forms.ConsoleConnectionFilterForm
|
filter_form = forms.ConsoleConnectionFilterForm
|
||||||
@ -1780,7 +1786,7 @@ class ConsoleConnectionsListView(ObjectListView):
|
|||||||
|
|
||||||
|
|
||||||
class PowerConnectionsListView(ObjectListView):
|
class PowerConnectionsListView(ObjectListView):
|
||||||
queryset = PowerPort.objects.select_related('device', 'power_outlet__device').filter(power_outlet__isnull=False)\
|
queryset = PowerPort.objects.select_related('device', 'power_outlet__device').filter(power_outlet__isnull=False) \
|
||||||
.order_by('power_outlet__device__name', 'power_outlet__name')
|
.order_by('power_outlet__device__name', 'power_outlet__name')
|
||||||
filter = filters.PowerConnectionFilter
|
filter = filters.PowerConnectionFilter
|
||||||
filter_form = forms.PowerConnectionFilterForm
|
filter_form = forms.PowerConnectionFilterForm
|
||||||
@ -1789,7 +1795,7 @@ class PowerConnectionsListView(ObjectListView):
|
|||||||
|
|
||||||
|
|
||||||
class InterfaceConnectionsListView(ObjectListView):
|
class InterfaceConnectionsListView(ObjectListView):
|
||||||
queryset = InterfaceConnection.objects.select_related('interface_a__device', 'interface_b__device')\
|
queryset = InterfaceConnection.objects.select_related('interface_a__device', 'interface_b__device') \
|
||||||
.order_by('interface_a__device__name', 'interface_a__name')
|
.order_by('interface_a__device__name', 'interface_a__name')
|
||||||
filter = filters.InterfaceConnectionFilter
|
filter = filters.InterfaceConnectionFilter
|
||||||
filter_form = forms.InterfaceConnectionFilterForm
|
filter_form = forms.InterfaceConnectionFilterForm
|
||||||
|
Loading…
Reference in New Issue
Block a user