DRY-up sending area updates to the API

This commit is contained in:
Ben Thorner
2021-08-26 11:53:55 +01:00
parent 73f31ef2fd
commit ae7f23d4cb

View File

@@ -227,19 +227,11 @@ class BroadcastMessage(JSONModel):
def add_areas(self, *new_area_ids):
self.area_ids = list(OrderedSet(self.area_ids + list(new_area_ids)))
self._update(areas_2={
'ids': self.area_ids,
'simple_polygons': self.simple_polygons.as_coordinate_pairs_lat_long
})
self._update_areas()
def remove_area(self, area_id):
self.area_ids = list(set(self._dict['areas_2']['ids']) - {area_id})
self._update(areas_2={
'ids': self.area_ids,
'simple_polygons': self.simple_polygons.as_coordinate_pairs_lat_long
})
self._update_areas()
def _set_status_to(self, status):
broadcast_message_api_client.update_broadcast_message_status(
@@ -248,6 +240,12 @@ class BroadcastMessage(JSONModel):
service_id=self.service_id,
)
def _update_areas(self):
self._update(areas_2={
'ids': self.area_ids,
'simple_polygons': self.simple_polygons.as_coordinate_pairs_lat_long
})
def _update(self, **kwargs):
broadcast_message_api_client.update_broadcast_message(
broadcast_message_id=self.id,