Merge pull request #3041 from alphagov/delete-letter-contact

Let users delete letter contact blocks
This commit is contained in:
Chris Hill-Scott
2019-07-24 10:47:48 +01:00
committed by GitHub
9 changed files with 228 additions and 48 deletions

View File

@@ -736,7 +736,16 @@ def service_add_letter_contact(service_id):
)
@main.route("/services/<service_id>/service-settings/letter-contact/<letter_contact_id>/edit", methods=['GET', 'POST'])
@main.route(
"/services/<service_id>/service-settings/letter-contact/<letter_contact_id>/edit",
methods=['GET', 'POST'],
endpoint="service_edit_letter_contact",
)
@main.route(
"/services/<service_id>/service-settings/letter-contact/<letter_contact_id>/delete",
methods=['GET'],
endpoint="service_confirm_delete_letter_contact",
)
@user_has_permissions('manage_service')
def service_edit_letter_contact(service_id, letter_contact_id):
letter_contact_block = current_service.get_letter_contact_block(letter_contact_id)
@@ -746,19 +755,41 @@ def service_edit_letter_contact(service_id, letter_contact_id):
if request.method == 'GET':
form.is_default.data = letter_contact_block['is_default']
if form.validate_on_submit():
service_api_client.update_letter_contact(
current_service.id,
letter_contact_id=letter_contact_id,
current_service.edit_letter_contact_block(
id=letter_contact_id,
contact_block=form.letter_contact_block.data.replace('\r', '') or None,
is_default=True if letter_contact_block['is_default'] else form.is_default.data
is_default=letter_contact_block['is_default'] or form.is_default.data
)
return redirect(url_for('.service_letter_contact_details', service_id=service_id))
if (request.endpoint == "main.service_confirm_delete_letter_contact"):
flash("Are you sure you want to delete this contact block?", 'delete')
return render_template(
'views/service-settings/letter-contact/edit.html',
form=form,
letter_contact_id=letter_contact_block['id'])
@main.route("/services/<service_id>/service-settings/letter-contact/make-blank-default")
@user_has_permissions('manage_service')
def service_make_blank_default_letter_contact(service_id):
current_service.remove_default_letter_contact_block()
return redirect(url_for('.service_letter_contact_details', service_id=service_id))
@main.route(
"/services/<service_id>/service-settings/letter-contact/<letter_contact_id>/delete",
methods=['POST'],
)
@user_has_permissions('manage_service')
def service_delete_letter_contact(service_id, letter_contact_id):
service_api_client.delete_letter_contact(
service_id=current_service.id,
letter_contact_id=letter_contact_id,
)
return redirect(url_for('.service_letter_contact_details', service_id=current_service.id))
@main.route("/services/<service_id>/service-settings/sms-sender", methods=['GET'])
@user_has_permissions('manage_service', 'manage_api_keys')
def service_sms_senders(service_id):