Skip to content

Commit 2441aec

Browse files
committed
Adding SurgeEventSerializer to eliminate FR fields
1 parent 5cd7163 commit 2441aec

File tree

3 files changed

+21
-13
lines changed

3 files changed

+21
-13
lines changed

api/serializers.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,22 @@ class Meta:
510510
)
511511

512512

513+
class SurgeEventSerializer(ModelSerializer):
514+
appeals = RelatedAppealSerializer(many=True, read_only=True)
515+
countries = MiniCountrySerializer(many=True)
516+
dtype = DisasterTypeSerializer()
517+
ifrc_severity_level_display = serializers.CharField(source='get_ifrc_severity_level_display', read_only=True)
518+
519+
class Meta:
520+
model = Event
521+
fields = (
522+
'name', 'dtype', 'countries', 'summary', 'num_affected', 'ifrc_severity_level', 'ifrc_severity_level_display',
523+
'glide', 'disaster_start_date', 'created_at', 'auto_generated', 'appeals', 'is_featured', 'is_featured_region',
524+
'updated_at', 'id', 'slug', 'parent_event', 'tab_one_title', 'tab_two_title', 'tab_three_title',
525+
'emergency_response_contact_email', # omitted intentionally: field_reports
526+
)
527+
528+
513529
class ListEventTableauSerializer(EnumSupportSerializerMixin, serializers.ModelSerializer):
514530
appeals = serializers.SerializerMethodField()
515531
field_reports = serializers.SerializerMethodField()

deployments/drf_views.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
from api.models import (
2424
Country,
2525
Region,
26-
FieldReport,
2726
)
2827
from api.view_filters import ListFilter
2928
from api.visibility_class import ReadOnlyVisibilityViewsetMixin
@@ -151,21 +150,13 @@ def get_queryset(self):
151150
'country_from',
152151
'deployment__country_deployed_to',
153152
'deployment__event_deployed_to',
154-
'deployment__event_deployed_to__dtype'
153+
'deployment__event_deployed_to__dtype',
155154
).prefetch_related(
156155
'deployment__event_deployed_to__countries',
157156
'deployment__event_deployed_to__appeals',
157+
'molnix_tags',
158158
)
159-
160-
if self.request.GET.get('format') == 'csv':
161-
return qs.prefetch_related(
162-
models.Prefetch(
163-
'deployment__event_deployed_to__field_reports',
164-
queryset=FieldReport.objects.only('id', 'event_id')
165-
)
166-
).distinct()
167-
168-
return qs.prefetch_related('deployment__event_deployed_to__field_reports').distinct()
159+
return qs
169160

170161
def get_serializer_class(self):
171162
request_format_type = self.request.GET.get('format', 'json')

deployments/serializers.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from api.serializers import (
1616
DisasterTypeSerializer,
1717
ListEventSerializer,
18+
SurgeEventSerializer,
1819
SmallEventForPersonnelCsvSerializer,
1920
MiniEventSerializer,
2021
MiniCountrySerializer,
@@ -106,7 +107,7 @@ class Meta:
106107

107108
class PersonnelDeploymentSerializer(ModelSerializer):
108109
country_deployed_to = MiniCountrySerializer()
109-
event_deployed_to = ListEventSerializer()
110+
event_deployed_to = SurgeEventSerializer()
110111

111112
class Meta:
112113
model = PersonnelDeployment

0 commit comments

Comments
 (0)