12489 add has_position filter

This commit is contained in:
Arthur 2023-05-15 13:11:21 -07:00
parent 816cee5384
commit 19b7a20e80
2 changed files with 8 additions and 1 deletions

View File

@ -909,6 +909,10 @@ class DeviceFilterSet(NetBoxModelFilterSet, TenancyFilterSet, ContactModelFilter
queryset=Rack.objects.all(),
label=_('Rack (ID)'),
)
has_position = django_filters.BooleanFilter(
label=_('Has a position'),
method='_has_position'
)
cluster_id = django_filters.ModelMultipleChoiceFilter(
queryset=Cluster.objects.all(),
label=_('VM cluster (ID)'),
@ -1050,6 +1054,9 @@ class DeviceFilterSet(NetBoxModelFilterSet, TenancyFilterSet, ContactModelFilter
def _device_bays(self, queryset, name, value):
return queryset.exclude(devicebays__isnull=value)
def _has_position(self, queryset, name, value):
return queryset.exclude(position__isnull=value)
class VirtualDeviceContextFilterSet(NetBoxModelFilterSet, TenancyFilterSet):
device_id = django_filters.ModelMultipleChoiceFilter(

View File

@ -201,7 +201,7 @@
Non-Racked Devices
</h5>
<div class="card-body htmx-container table-responsive"
hx-get="{% url 'dcim:device_list' %}?rack_id={{ object.pk }}&position=null&parent_bay_id=null"
hx-get="{% url 'dcim:device_list' %}?rack_id={{ object.pk }}&has_position=False&parent_bay_id=null"
hx-trigger="load"
></div>