From 8911c09c0e895aea1633d683351c4f9b1680dafb Mon Sep 17 00:00:00 2001 From: Ross Date: Mon, 2 Feb 2026 12:14:16 +0000 Subject: [PATCH] Enhance CaseFilter to show distinct examination values for series, improving clarity in selection options --- atlas/filters.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/atlas/filters.py b/atlas/filters.py index 2f58c963..c4be9c70 100755 --- a/atlas/filters.py +++ b/atlas/filters.py @@ -2,6 +2,7 @@ import django_filters from django import forms from crispy_forms.helper import FormHelper from crispy_forms.layout import Layout, Div, Field +from collections import OrderedDict from .models import ( Case, @@ -98,8 +99,12 @@ class CaseFilter(django_filters.FilterSet): author = django_filters.ModelMultipleChoiceFilter( queryset=get_authors, null_label="No author" ) + # Show a distinct list of `Series.examination` values instead of raw Series + # entries so examinations that differ only by plane/description appear once. series = django_filters.ModelMultipleChoiceFilter( - queryset=get_series, null_label="No series" + field_name='series__examination', + queryset=lambda request: __import__('generic.models', fromlist=['Examination']).Examination.objects.filter(atlas_series_examination__isnull=False).distinct(), + label='Examination', ) differential_case = django_filters.ModelMultipleChoiceFilter( label="Differential",