mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-17 04:59:37 -04:00
Merge pull request #4014 from alphagov/support-custom-broadcasts-178986763
Fix areas not showing for custom broadcasts
This commit is contained in:
@@ -203,8 +203,8 @@ class CustomBroadcastArea(BaseBroadcastArea):
|
||||
class CustomBroadcastAreas(SerialisedModelCollection):
|
||||
model = CustomBroadcastArea
|
||||
|
||||
def __init__(self, *, area_ids, polygons):
|
||||
self.items = area_ids
|
||||
def __init__(self, *, names, polygons):
|
||||
self.items = names
|
||||
self._polygons = polygons
|
||||
|
||||
def __getitem__(self, index):
|
||||
|
||||
@@ -89,10 +89,9 @@ class BroadcastMessage(JSONModel):
|
||||
|
||||
@property
|
||||
def areas(self):
|
||||
polygons = self._dict['areas']['simple_polygons']
|
||||
library_areas = self.get_areas(self.area_ids)
|
||||
if 'ids' in self._dict['areas']:
|
||||
library_areas = self.get_areas(self.area_ids)
|
||||
|
||||
if library_areas:
|
||||
if len(library_areas) != len(self.area_ids):
|
||||
raise RuntimeError(
|
||||
f'BroadcastMessage has {len(self.area_ids)} areas '
|
||||
@@ -100,14 +99,19 @@ class BroadcastMessage(JSONModel):
|
||||
)
|
||||
return library_areas
|
||||
|
||||
return CustomBroadcastAreas(
|
||||
area_ids=self.area_ids,
|
||||
polygons=polygons,
|
||||
)
|
||||
polygons = self._dict['areas'].get('simple_polygons', [])
|
||||
|
||||
if polygons:
|
||||
return CustomBroadcastAreas(
|
||||
names=self._dict['areas']['names'],
|
||||
polygons=polygons,
|
||||
)
|
||||
|
||||
return []
|
||||
|
||||
@property
|
||||
def area_ids(self):
|
||||
return self._dict['areas']['ids']
|
||||
return self._dict['areas'].get('ids', [])
|
||||
|
||||
@area_ids.setter
|
||||
def area_ids(self, value):
|
||||
|
||||
Reference in New Issue
Block a user