Skip to content

Commit 04f8e45

Browse files
authored
Merge pull request #2054 from IFRCGo/feature/search-page-fix
Add fix for search page
2 parents 94e520f + e64cc67 commit 04f8e45

File tree

2 files changed

+56
-3
lines changed

2 files changed

+56
-3
lines changed

api/views.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,17 +167,19 @@ def get(self, request):
167167
SearchQuerySet()
168168
.models(Personnel)
169169
.filter(
170-
SQ(deploying_country_name__contains=phrase)
170+
(SQ(deploying_country_name__contains=phrase)
171171
| SQ(deployed_to_country_name__contains=phrase)
172-
| SQ(event_name__content=phrase)
172+
| SQ(event_name__content=phrase))
173+
& SQ(end_date__gt=datetime.now())
173174
)
174175
.order_by("-_score")
175176
)
176177
surge_alert_response = (
177178
SearchQuerySet()
178179
.models(SurgeAlert)
179180
.filter(
180-
SQ(event_name__content=phrase) | SQ(country_name__contains=phrase) | SQ(iso3__contains=phrase)
181+
(SQ(event_name__content=phrase) | SQ(country_name__contains=phrase) | SQ(iso3__contains=phrase))
182+
& ~SQ(status='archived')
181183
)
182184
.order_by("-_score")
183185
)
@@ -223,6 +225,7 @@ def get(self, request):
223225
| SQ(event_name__content=phrase)
224226
)
225227
& ~SQ(visibility="IFRC Only")
228+
& SQ(end_date__gt=datetime.now())
226229
)
227230
.order_by("-_score")
228231
)
@@ -232,6 +235,7 @@ def get(self, request):
232235
.filter(
233236
(SQ(event_name__content=phrase) | SQ(country_name__contains=phrase) | SQ(iso3__contains=phrase))
234237
& ~SQ(visibility="IFRC Only")
238+
& ~SQ(status='archived')
235239
)
236240
.order_by("-_score")
237241
)
@@ -278,6 +282,7 @@ def get(self, request):
278282
| SQ(event_name__content=phrase)
279283
)
280284
& SQ(visibility="Public")
285+
& SQ(end_date__gt=datetime.now())
281286
)
282287
.order_by("-_score")
283288
)
@@ -287,6 +292,7 @@ def get(self, request):
287292
.filter(
288293
(SQ(event_name__content=phrase) | SQ(country_name__contains=phrase) | SQ(iso3__contains=phrase))
289294
& SQ(visibility="Public")
295+
& ~SQ(status='archived')
290296
)
291297
.order_by("-_score")
292298
)
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Generated by Django 3.2.23 on 2024-02-22 05:45
2+
from django.db import migrations
3+
from django.db import models
4+
5+
6+
def migrate_formdata_notes(apps, schema_editor):
7+
FormComponentResponse = apps.get_model("per", "FormComponentResponse")
8+
FormData = apps.get_model("per", "FormData")
9+
10+
qs = FormComponentResponse.objects.annotate(
11+
new_notes=models.Subquery(
12+
# Copy notes from FormData using overview
13+
FormData.objects.filter(
14+
form__overview=models.OuterRef('arearesponse__perassessment__overview'),
15+
question__component=models.OuterRef('component'),
16+
question=74,
17+
).values('notes_en'),
18+
output_field=models.CharField(),
19+
),
20+
).filter(new_notes__isnull=False)
21+
22+
form_component_responses = []
23+
for form_component_response_id, assessment_id, new_notes in qs.values_list(
24+
'id',
25+
models.F('arearesponse__perassessment'),
26+
'new_notes',
27+
):
28+
print(f'- Copying data for {assessment_id=} {form_component_response_id=}')
29+
form_component_responses.append(
30+
FormComponentResponse(
31+
id=form_component_response_id,
32+
notes=new_notes,
33+
)
34+
)
35+
36+
print(f'Total form_component_responses notes copied: {len(form_component_responses)}')
37+
FormComponentResponse.objects.bulk_update(form_component_responses, fields=('notes',))
38+
39+
40+
class Migration(migrations.Migration):
41+
dependencies = [
42+
("per", "0098_fix_reversion_data_20240208_0502"),
43+
]
44+
45+
operations = [
46+
migrations.RunPython(migrate_formdata_notes, reverse_code=migrations.RunPython.noop),
47+
]

0 commit comments

Comments
 (0)