Make the broadcast flow talk to the API

This commit removes the code the puts areas into the session and instead
creates and then updates a draft broadcast in the database.

This is so we can avoid session-related bugs, and potentially having a
large session when we start adding personalisation etc.

Once a broadcast is ready to go it is set to `broadcasting` straight
away with no approval. We’ll revisit this as we learn more about how
users might want to manage who can create and approve broadcasts.

The tests are a bit light in terms of checking what’s on the page, but
clicking through the pages is probably good enough for now.
This commit is contained in:
Chris Hill-Scott
2020-07-09 10:33:50 +01:00
parent 2c33325dc2
commit effe24893e
12 changed files with 436 additions and 89 deletions

View File

@@ -11,9 +11,9 @@
{% block maincolumn_content %}
{{ page_header("Preview", back_link=url_for('.preview_broadcast_areas', service_id=current_service.id)) }}
{{ page_header("Preview", back_link=url_for('.preview_broadcast_areas', service_id=current_service.id, broadcast_message_id=broadcast_message.id)) }}
{% for area in selected %}
{% for area in broadcast_message.areas %}
{% if loop.first %}
<ul class="area-list">
{% endif %}
@@ -25,17 +25,10 @@
{% endif %}
{% endfor %}
{% if selected %}
<p class="govuk-body">
{{ template|string }}
</p>
{% call form_wrapper() %}
{{ sticky_page_footer('Start broadcast') }}
{% endcall %}
{% endif %}
{{ broadcast_message.template|string }}
{% call form_wrapper() %}
{{ sticky_page_footer('Start broadcast') }}
{% endcall %}
{% endblock %}