Fixes #108: Added search for Sites

This commit is contained in:
Jeremy Stretch
2016-06-29 12:06:37 -04:00
parent a52fd1aeee
commit 6966967952
4 changed files with 68 additions and 1 deletions

View File

@@ -8,6 +8,29 @@ from .models import (
)
class SiteFilter(django_filters.FilterSet):
q = django_filters.MethodFilter(
action='search',
label='Search',
)
class Meta:
model = Site
fields = ['q', 'name', 'facility', 'asn']
def search(self, queryset, value):
value = value.strip()
qs_filter = Q(name__icontains=value) |\
Q(facility__icontains=value) |\
Q(physical_address__icontains=value) |\
Q(shipping_address__icontains=value)
try:
qs_filter |= Q(asn=int(value))
except ValueError:
pass
return queryset.filter(qs_filter)
class RackGroupFilter(django_filters.FilterSet):
site_id = django_filters.ModelMultipleChoiceFilter(
name='site',