Skip to content

Commit c7b1019

Browse files
authored
Merge pull request #48 from cmu-delphi/development
Development
2 parents f84a336 + 7ea7eeb commit c7b1019

File tree

6 files changed

+24
-18
lines changed

6 files changed

+24
-18
lines changed

src/signal_sets/filters.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,31 +14,31 @@ class SignalSetFilter(django_filters.FilterSet):
1414

1515
pathogens = django_filters.ModelMultipleChoiceFilter(
1616
field_name="pathogens",
17-
queryset=Pathogen.objects.all(),
17+
queryset=Pathogen.objects.filter(id__in=SignalSet.objects.values_list("pathogens", flat="True")),
1818
widget=QueryArrayWidget,
1919
)
2020

2121
geographic_scope = django_filters.ModelMultipleChoiceFilter(
2222
field_name="geographic_scope",
23-
queryset=GeographicScope.objects.all(),
23+
queryset=GeographicScope.objects.filter(id__in=SignalSet.objects.values_list("geographic_scope", flat="True")),
2424
widget=QueryArrayWidget,
2525
)
2626

2727
available_geographies = django_filters.ModelMultipleChoiceFilter(
2828
field_name="available_geographies",
29-
queryset=Geography.objects.all().order_by("display_order_number"),
29+
queryset=Geography.objects.filter(id__in=SignalSet.objects.values_list("available_geographies", flat="True")).order_by("display_order_number"),
3030
widget=QueryArrayWidget,
3131
)
3232

3333
severity_pyramid_rungs = django_filters.ModelMultipleChoiceFilter(
3434
field_name="severity_pyramid_rungs",
35-
queryset=SeverityPyramidRung.objects.all(),
35+
queryset=SeverityPyramidRung.objects.filter(id__in=SignalSet.objects.values_list("severity_pyramid_rungs", flat="True")),
3636
widget=QueryArrayWidget,
3737
)
3838

3939
data_source = django_filters.ModelMultipleChoiceFilter(
4040
field_name="data_source",
41-
queryset=DataSource.objects.all(),
41+
queryset=DataSource.objects.filter(id__in=SignalSet.objects.values_list("data_source", flat="True")),
4242
widget=QueryArrayWidget,
4343
)
4444

src/signal_sets/forms.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,26 @@
88
class SignalSetFilterForm(forms.ModelForm):
99

1010
pathogens = forms.ModelChoiceField(
11-
queryset=Pathogen.objects.all(), widget=forms.CheckboxSelectMultiple()
11+
queryset=Pathogen.objects.filter(id__in=SignalSet.objects.values_list("pathogens", flat="True")), widget=forms.CheckboxSelectMultiple()
1212
)
1313

1414
geographic_scope = forms.ModelChoiceField(
15-
queryset=GeographicScope.objects.all(), widget=forms.CheckboxSelectMultiple()
15+
queryset=GeographicScope.objects.filter(id__in=SignalSet.objects.values_list("geographic_scope", flat="True")),
16+
widget=forms.CheckboxSelectMultiple()
1617
)
1718

1819
available_geographies = forms.ModelChoiceField(
19-
queryset=Geography.objects.all().order_by("display_order_number"),
20+
queryset=Geography.objects.filter(id__in=SignalSet.objects.values_list("available_geographies", flat="True")).order_by("display_order_number"),
2021
widget=forms.CheckboxSelectMultiple(),
2122
)
2223

2324
severity_pyramid_rungs = forms.ModelChoiceField(
24-
queryset=SeverityPyramidRung.objects.all(),
25+
queryset=SeverityPyramidRung.objects.filter(id__in=SignalSet.objects.values_list("severity_pyramid_rungs", flat="True")),
2526
widget=forms.CheckboxSelectMultiple(),
2627
)
2728

2829
data_source = forms.ModelChoiceField(
29-
queryset=DataSource.objects.all(),
30+
queryset=DataSource.objects.filter(id__in=SignalSet.objects.values_list("data_source", flat="True")),
3031
widget=forms.CheckboxSelectMultiple(),
3132
)
3233

src/signals/filters.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
Geography,
1212
SignalsDbView,
1313
SeverityPyramidRung,
14+
Signal
1415
)
1516
from datasources.models import SourceSubdivision
1617

@@ -42,7 +43,7 @@ class SignalFilter(django_filters.FilterSet):
4243
)
4344

4445
datasource = django_filters.ModelMultipleChoiceFilter(
45-
queryset=SourceSubdivision.objects.all(),
46+
queryset=SourceSubdivision.objects.filter(id__in=Signal.objects.values_list("source", flat=True)),
4647
field_name="datasource",
4748
to_field_name="display_name",
4849
)

src/signals/forms.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from django.utils.translation import gettext_lazy as _
33

44
from signals.models import (
5+
Signal,
56
Pathogen,
67
GeographicScope,
78
Geography,
@@ -21,20 +22,20 @@ class SignalFilterForm(forms.ModelForm):
2122
)
2223

2324
pathogens = forms.ModelChoiceField(
24-
queryset=Pathogen.objects.all(), widget=forms.CheckboxSelectMultiple()
25+
queryset=Pathogen.objects.filter(id__in=Signal.objects.values_list("pathogen", flat=True)), widget=forms.CheckboxSelectMultiple()
2526
)
2627

2728
geographic_scope = forms.ModelChoiceField(
28-
queryset=GeographicScope.objects.all(), widget=forms.CheckboxSelectMultiple()
29+
queryset=GeographicScope.objects.filter(id__in=Signal.objects.values_list("geographic_scope", flat=True)), widget=forms.CheckboxSelectMultiple()
2930
)
3031

3132
available_geography = forms.ModelChoiceField(
32-
queryset=Geography.objects.all().order_by("display_order_number"),
33+
queryset=Geography.objects.filter(id__in=Signal.objects.values_list("available_geography", flat=True)).order_by("display_order_number"),
3334
widget=forms.CheckboxSelectMultiple(),
3435
)
3536

3637
severity_pyramid_rung = forms.ModelChoiceField(
37-
queryset=SeverityPyramidRung.objects.all(),
38+
queryset=SeverityPyramidRung.objects.filter(id__in=Signal.objects.values_list("severity_pyramid_rung", flat=True)),
3839
widget=forms.CheckboxSelectMultiple(),
3940
)
4041

@@ -88,7 +89,7 @@ def __init__(self, *args, **kwargs) -> None:
8889

8990
try:
9091
self.fields["datasource"].choices = set(
91-
SourceSubdivision.objects.values_list("display_name", "display_name")
92+
SourceSubdivision.objects.filter(id__in=Signal.objects.values_list("source", flat=True)).values_list("display_name", "display_name")
9293
)
9394
except SourceSubdivision.DoesNotExist:
9495
self.fields["datasource"].choices = []

src/signals/resources.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,9 @@ class Meta:
362362
"restrictions",
363363
"time_type",
364364
"signal_set",
365+
"format_type",
366+
"severity_pyramid_rung",
367+
365368
]
366369
import_id_fields: list[str] = ["name", "source"]
367370
store_instance = True

src/templates/signals/signals.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
{% block content %}
99

1010
<div class="row">
11-
<div class="col-3">
11+
<div class="col-2">
1212
<form method="GET" id="filterSignalsForm">
1313
<div class="card">
1414
<div class="card-body">
@@ -268,7 +268,7 @@ <h2 class="accordion-header" id="flush-heading_id_signal_availability">
268268
</div>
269269

270270
</div>
271-
<div class="col-9">
271+
<div class="col-10">
272272
<div class="row d-flex justify-content-end">
273273
<div class="col-6">
274274
<div class="input-group mb-3 d-flex justify-content-start">

0 commit comments

Comments
 (0)