@@ -446,6 +446,19 @@ def retrieve(self, request, pk=None, *args, **kwargs):
446446 raise BadRequest ('Emergency ID or Slug parameters are missing' )
447447
448448 serializer = self .get_serializer (instance )
449+
450+ # Hide the "affected" values that are kept only for history – see (¤) in other code parts
451+ if 'field_reports' in serializer .data :
452+ for j , fr in enumerate (serializer .data ['field_reports' ]):
453+ if 'recent_affected' in fr : # should always be True
454+ for i , field in enumerate ([
455+ 'num_affected' , 'gov_num_affected' , 'other_num_affected' ,
456+ 'num_potentially_affected' , 'gov_num_potentially_affected' , 'other_num_potentially_affected' ]):
457+ if fr ['recent_affected' ] - 1 != i and field in serializer .data ['field_reports' ][j ]:
458+ del serializer .data ['field_reports' ][j ][field ]
459+ del serializer .data ['field_reports' ][j ]['recent_affected' ]
460+
461+
449462 return Response (serializer .data )
450463
451464 @action (methods = ['get' ], detail = False , url_path = 'mini' )
@@ -722,7 +735,7 @@ def serialize(self, data, instance=None):
722735 else :
723736 data ['visibility' ] = VisibilityChoices .MEMBERSHIP
724737
725- # Set RecentAffected according to the sent _affected key
738+ # Set RecentAffected according to the sent _affected key – see (¤) in other code parts
726739 if 'status' in data and data ['status' ] == FieldReport .Status .EW : # Early Warning
727740 if 'num_potentially_affected' in data :
728741 data ['recent_affected' ] = FieldReport .RecentAffected .RCRC_POTENTIALLY
0 commit comments