|
|
|
@ -19,7 +19,7 @@ class GeoReferencedTableFilterMixin(django_filters.FilterSet):
|
|
|
|
|
Specialized on filtering GeoReferenced model types
|
|
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
# Parcel gmrkng
|
|
|
|
|
# District
|
|
|
|
|
di = django_filters.CharFilter(
|
|
|
|
|
method="filter_district",
|
|
|
|
|
label=_(""),
|
|
|
|
@ -72,7 +72,7 @@ class GeoReferencedTableFilterMixin(django_filters.FilterSet):
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Parcel counter
|
|
|
|
|
# Parcel number
|
|
|
|
|
pn = django_filters.NumberFilter(
|
|
|
|
|
method="filter_parcel_number",
|
|
|
|
|
label=_(""),
|
|
|
|
@ -112,7 +112,7 @@ class GeoReferencedTableFilterMixin(django_filters.FilterSet):
|
|
|
|
|
return queryset
|
|
|
|
|
|
|
|
|
|
def filter_district(self, queryset, name, value) -> QuerySet:
|
|
|
|
|
""" Filters queryset depending on value for 'Gemarkung'
|
|
|
|
|
""" Filters queryset depending on value for 'Kreis'
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
queryset ():
|
|
|
|
@ -122,10 +122,13 @@ class GeoReferencedTableFilterMixin(django_filters.FilterSet):
|
|
|
|
|
Returns:
|
|
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
matching_districts = District.objects.filter(
|
|
|
|
|
Q(name__icontains=value) |
|
|
|
|
|
Q(key__icontains=value)
|
|
|
|
|
).distinct()
|
|
|
|
|
values = value.split(",")
|
|
|
|
|
q = Q()
|
|
|
|
|
for val in values:
|
|
|
|
|
val = val.strip()
|
|
|
|
|
q |= Q(name__icontains=val) | Q(key__icontains=val)
|
|
|
|
|
|
|
|
|
|
matching_districts = District.objects.filter(q).distinct()
|
|
|
|
|
matching_parcels = Parcel.objects.filter(
|
|
|
|
|
district__in=matching_districts
|
|
|
|
|
)
|
|
|
|
@ -148,9 +151,14 @@ class GeoReferencedTableFilterMixin(django_filters.FilterSet):
|
|
|
|
|
Returns:
|
|
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
values = value.split(",")
|
|
|
|
|
q = Q()
|
|
|
|
|
for val in values:
|
|
|
|
|
val = val.strip()
|
|
|
|
|
q |= Q(parcel_group__name__icontains=val) | Q(parcel_group__key__icontains=val)
|
|
|
|
|
queryset = self._filter_parcel_reference(
|
|
|
|
|
queryset,
|
|
|
|
|
Q(parcel_group__name__icontains=value) | Q(parcel_group__key__icontains=value),
|
|
|
|
|
q,
|
|
|
|
|
)
|
|
|
|
|
return queryset
|
|
|
|
|
|
|
|
|
|