Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
14e17aa
feat(event): make event source enum
sudip-khanal Apr 22, 2026
fdd4e49
feat(api): add new api endpoint for emergency
sudip-khanal Apr 24, 2026
fd2b5f3
feat(api): add related appeal id on emergency api endpoint
sudip-khanal Apr 28, 2026
ec8485a
fix(test): fix emergency api test case
sudip-khanal May 12, 2026
87735ca
feat(api): add script to update event source
sudip-khanal Apr 29, 2026
27765a5
feat(api): update on emergency endpoint
susilnem May 13, 2026
4b71337
feat(dref): replace field report with event and update dref approve l…
susilnem May 13, 2026
bad2082
feat(dref): add script to migrate events from appeal based on appeal …
susilnem May 13, 2026
e454514
feat(event): add latest field report on mini event endpoint
susilnem May 14, 2026
085b556
Merge pull request #2734 from IFRCGo/fix/emergency-api-test-case
susilnem May 12, 2026
593d4d0
feat(emergency): add staging logic for emergency page
susilnem May 15, 2026
45987b5
feat(emergency): Add new stage for appeal dref type
susilnem May 21, 2026
3305f64
feat(emergency): add previous data on field report and dref ops update
susilnem May 22, 2026
458aed4
Merge pull request #2736 from IFRCGo/feature/attach-dref-emergency-page
susilnem May 25, 2026
ad175d5
feat(emergency): Squash migration
susilnem May 25, 2026
5cd9596
feat(dref): trigger event translation for approved dref
susilnem May 28, 2026
2265b04
feat(dref): add test cases for dref approved event translation
susilnem Jun 1, 2026
1d3c743
Merge pull request #2754 from IFRCGo/feature/dref-event-trigger-trans…
susilnem Jun 2, 2026
dd41e92
fix(test): use datetime for filling the date fields
susilnem Jun 15, 2026
bb955bd
fix(emergency): fill DREF data gaps on emergency pages
frozenhelium Jun 24, 2026
7ef873e
Merge pull request #2769 from IFRCGo/fix/emergency-data-gaps
susilnem Jun 25, 2026
778d587
perf(emergency): remove ORDER BY from EXISTS subqueries, prefetch fie…
susilnem Jun 24, 2026
f01bd7f
Merge pull request #2768 from IFRCGo/feature/optimise-query-emergency…
susilnem Jun 25, 2026
cecae32
feat(dref-summary): add new model and register for translation.
sandeshit Jun 22, 2026
e242196
feat(serializer): create a serializer for summary.
sandeshit Jun 22, 2026
a9ac989
feat(dref): retrigger from admin panel and latest source doc.
sandeshit Jun 29, 2026
5306b8b
feat(dref-summary): summary generation logic and scaffolding.
sandeshit Jun 29, 2026
597c182
feat(migrations): merge migrations
sandeshit Jun 29, 2026
d6e0ff9
feat(dref): add step for the processing status and use delay translation
susilnem Jul 3, 2026
548febc
Merge pull request #2771 from IFRCGo/feat/dref-summary-generation
susilnem Jul 3, 2026
4f0e87d
feat(dref): Add DummyClientLLM and redislock check
susilnem Jul 7, 2026
d472073
fix(dref): guard summary generation writes against concurrent-source …
susilnem Jul 8, 2026
8843325
Merge pull request #2775 from IFRCGo/feature/create-dummy-llm-client
susilnem Jul 8, 2026
db2419b
Merge pull request #2767 from IFRCGo/feat/dref-summary-emergency-endp…
susilnem Jul 8, 2026
600a921
fix(dref): expose disaster_category on emergency DREF serializers
frozenhelium Jul 6, 2026
688979f
Merge pull request #2774 from IFRCGo/fix/emergency-disaster-categoriz…
susilnem Jul 8, 2026
40d199b
chore: update env key for azure api key
susilnem Jul 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 7 additions & 39 deletions api/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@

import api.models as models
from api.admin_classes import RegionRestrictedAdmin
from api.event_sources import SOURCES
from api.management.commands.index_and_notify import Command as Notify
from lang.admin import TranslationAdmin, TranslationInlineModelAdmin
from notifications.models import RecordType, SubscriptionType
Expand Down Expand Up @@ -158,38 +157,6 @@ def queryset(self, request, queryset):
return queryset.filter(is_featured=False)


class EventSourceFilter(admin.SimpleListFilter):
title = _("source")
parameter_name = "event_source"

def lookups(self, request, model_admin):
return (
("input", _("Manual input")),
("gdacs", _("GDACs scraper")),
("who", _("WHO scraper")),
("report_ingest", _("Field report ingest")),
("report_admin", _("Field report admin")),
("appeal_admin", _("Appeals admin")),
("unknown", _("Unknown automated")),
)

def queryset(self, request, queryset):
if self.value() == "input":
return queryset.filter(auto_generated=False)
elif self.value() == "gdacs":
return queryset.filter(auto_generated_source=SOURCES["gdacs"])
elif self.value() == "who":
return queryset.filter(auto_generated_source__startswith="www.who.int")
elif self.value() == "report_ingest":
return queryset.filter(auto_generated_source=SOURCES["report_ingest"])
elif self.value() == "report_admin":
return queryset.filter(auto_generated_source=SOURCES["report_admin"])
elif self.value() == "appeal_admin":
return queryset.filter(auto_generated_source=SOURCES["appeal_admin"])
elif self.value() == "unknown":
return queryset.filter(auto_generated=True).filter(auto_generated_source__isnull=True)


class DisasterTypeAdmin(CompareVersionAdmin, TranslationAdmin, admin.ModelAdmin):
search_fields = ("name",)

Expand Down Expand Up @@ -246,9 +213,9 @@ def level_updated_at(self, obj):
"cc_status",
"glide",
"auto_generated",
"auto_generated_source",
"source",
)
list_filter = [IsFeaturedFilter, EventSourceFilter]
list_filter = [IsFeaturedFilter, "source"]
actions = ["create_field_reports"]
search_fields = (
"name",
Expand Down Expand Up @@ -369,7 +336,7 @@ def changeform_view(self, request, object_id=None, form_url="", extra_context=No
self.readonly_fields = (
"appeals",
"field_reports",
"auto_generated_source",
"source",
"parent_event",
"created_at",
"updated_at",
Expand All @@ -378,9 +345,10 @@ def changeform_view(self, request, object_id=None, form_url="", extra_context=No
self.readonly_fields = (
"appeals",
"field_reports",
"auto_generated_source",
"source",
"created_at",
"updated_at",
"who_guid",
)

# Set severity level from GET parameter
Expand Down Expand Up @@ -651,7 +619,7 @@ def create_events(self, request, queryset):
dtype=getattr(report, "dtype"),
disaster_start_date=getattr(report, "created_at"),
auto_generated=True,
auto_generated_source=SOURCES["report_admin"],
source=models.Event.EventSource.FIELD_REPORT_ADMIN,
)
if getattr(report, "countries").exists():
for country in report.countries.all():
Expand Down Expand Up @@ -760,7 +728,7 @@ def create_events(self, request, queryset):
dtype=getattr(appeal, "dtype"),
disaster_start_date=getattr(appeal, "start_date"),
auto_generated=True,
auto_generated_source=SOURCES["appeal_admin"],
source=models.Event.EventSource.APPEAL_ADMIN,
)
if appeal.country is not None:
event.countries.add(appeal.country)
Expand Down
Loading
Loading