Make records searchable by ip address

This commit is contained in:
rdujardin 2016-07-27 12:38:55 +02:00
parent f225efa7c7
commit c11cadec53
3 changed files with 5 additions and 6 deletions

View File

@ -37,15 +37,15 @@ class RecordFilter(django_filters.FilterSet):
lookup_type = 'icontains',
label = 'Name',
)
name_or_value = django_filters.MethodFilter(
name = 'name_or_value',
name_or_value_or_ip = django_filters.MethodFilter(
name = 'name_or_value_or_ip',
)
class Meta:
model=Record
field = ['name', 'record_type', 'value']
def filter_name_or_value(self, queryset, value):
def filter_name_or_value_or_ip(self, queryset, value):
if not value:
return queryset
return queryset.filter(Q(name__icontains=value) | Q(value__icontains=value))
return queryset.filter(Q(name__icontains=value) | Q(value__icontains=value) | Q(address__address__icontains=value))

View File

@ -423,7 +423,6 @@ def ipaddress(request, pk):
dns_records = Record.objects.filter(address=ipaddress)
dns_records_table = RecordBriefTable(dns_records)
return render(request, 'ipam/ipaddress.html', {
'ipaddress': ipaddress,
'parent_prefixes_table': parent_prefixes_table,

View File

@ -31,7 +31,7 @@
<div class="panel-body">
<form action="{% url 'dns:record_list' %}" method="get">
<div class="input-group">
<input type="text" name="name_or_value" class="form-control" placeholder="Name or value" {% if request.GET.q %}value="{{ request.GET.q }}" {% endif %}/>
<input type="text" name="name_or_value_or_ip" class="form-control" placeholder="Name, value or IP" {% if request.GET.q %}value="{{ request.GET.q }}" {% endif %}/>
<span class="input-group-btn">
<button type="submit" class="btn btn-primary">
<span class="glyphicon glyphicon-search" aria-hidden="true"></span>