Merge pull request #2042 from alphagov/allow-remove-callback

Allow callbacks to be removed
This commit is contained in:
Chris Hill-Scott
2018-07-06 14:52:07 +01:00
committed by GitHub
5 changed files with 150 additions and 11 deletions

View File

@@ -208,9 +208,11 @@ def delivery_status_callback(service_id):
)
if form.validate_on_submit():
if delivery_status_callback:
if (delivery_status_callback.get('url') != form.url.data
or form.bearer_token.data != dummy_bearer_token):
if delivery_status_callback and form.url.data:
if (
delivery_status_callback.get('url') != form.url.data or
form.bearer_token.data != dummy_bearer_token
):
service_api_client.update_service_callback_api(
service_id,
url=form.url.data,
@@ -218,13 +220,24 @@ def delivery_status_callback(service_id):
user_id=current_user.id,
callback_api_id=delivery_status_callback.get('id')
)
else:
elif delivery_status_callback and not form.url.data:
service_api_client.delete_service_callback_api(
service_id,
delivery_status_callback['id'],
)
elif form.url.data:
service_api_client.create_service_callback_api(
service_id,
url=form.url.data,
bearer_token=form.bearer_token.data,
user_id=current_user.id
)
else:
# If no callback is set up and the user chooses to continue
# having no callback (ie both fields empty) then theres
# nothing for us to do here
pass
return redirect(url_for(back_link, service_id=service_id))
return render_template(
@@ -255,9 +268,11 @@ def received_text_messages_callback(service_id):
)
if form.validate_on_submit():
if received_text_messages_callback:
if (received_text_messages_callback.get('url') != form.url.data
or form.bearer_token.data != dummy_bearer_token):
if received_text_messages_callback and form.url.data:
if (
received_text_messages_callback.get('url') != form.url.data or
form.bearer_token.data != dummy_bearer_token
):
service_api_client.update_service_inbound_api(
service_id,
url=form.url.data,
@@ -265,7 +280,12 @@ def received_text_messages_callback(service_id):
user_id=current_user.id,
inbound_api_id=received_text_messages_callback.get('id')
)
else:
elif received_text_messages_callback and not form.url.data:
service_api_client.delete_service_inbound_api(
service_id,
received_text_messages_callback['id'],
)
elif form.url.data:
service_api_client.create_service_inbound_api(
service_id,
url=form.url.data,