mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-18 05:29:38 -04:00
Use ajax to auto-refresh reply-to email verifiaction page
This commit is contained in:
@@ -4,6 +4,7 @@ from flask import (
|
||||
abort,
|
||||
current_app,
|
||||
flash,
|
||||
jsonify,
|
||||
redirect,
|
||||
render_template,
|
||||
request,
|
||||
@@ -422,6 +423,22 @@ def service_add_email_reply_to(service_id):
|
||||
@login_required
|
||||
@user_has_permissions('manage_service')
|
||||
def verify_reply_to_address(service_id, notification_id):
|
||||
return render_template(
|
||||
'views/service-settings/email-reply-to/verify.html',
|
||||
service_id=service_id,
|
||||
notification_id=notification_id,
|
||||
partials=get_verify_reply_to_address_partials(service_id, notification_id)
|
||||
)
|
||||
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/email-reply-to/<notification_id>/verify.json")
|
||||
@login_required
|
||||
@user_has_permissions('manage_service')
|
||||
def verify_reply_to_address_updates(service_id, notification_id):
|
||||
return jsonify(**get_verify_reply_to_address_partials(service_id, notification_id))
|
||||
|
||||
|
||||
def get_verify_reply_to_address_partials(service_id, notification_id):
|
||||
notification = notification_api_client.get_notification(current_app.config["NOTIFY_SERVICE_ID"], notification_id)
|
||||
verification_status = "pending"
|
||||
is_default = request.args.get('is_default', False)
|
||||
@@ -435,14 +452,16 @@ def verify_reply_to_address(service_id, notification_id):
|
||||
if notification["status"] in ["failed", "permanent-failure", "technical-failure", "temporary-failure"]:
|
||||
verification_status = "failure"
|
||||
# also include condition for when lots of time passes
|
||||
return render_template(
|
||||
'views/service-settings/email-reply-to/verify.html',
|
||||
reply_to_email_address=notification["to"],
|
||||
service_id=service_id,
|
||||
notification_id=notification_id,
|
||||
verification_status=verification_status,
|
||||
is_default=is_default
|
||||
)
|
||||
return {
|
||||
'status': render_template(
|
||||
'views/service-settings/email-reply-to/_verify-updates.html',
|
||||
reply_to_email_address=notification["to"],
|
||||
service_id=current_service.id,
|
||||
notification_id=notification_id,
|
||||
verification_status=verification_status,
|
||||
is_default=is_default,
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
@main.route(
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
{% from "components/banner.html" import banner %}
|
||||
|
||||
<div class="ajax-block-container">
|
||||
{% if verification_status == "pending" %}
|
||||
<p>
|
||||
We have sent a notification to {{ reply_to_email_address }} to check if it's a working email address.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
Once we receive a delivery confirmation, we will update your list of reply-to email addresses.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="{{ url_for('main.verify_reply_to_address', service_id=service_id, notification_id=notification_id) + "?is_default={}".format(is_default) }}"">Refresh</a>
|
||||
</p>
|
||||
{% elif verification_status == "success" %}
|
||||
{{ banner("Yay success! Your new reply-to email has been added ^__^", type='default', with_tick=True) }}
|
||||
{% elif verification_status == "failure" %}
|
||||
{{ banner("Sorry dawg, this email address doesn't seem to be working :d", type='dangerous') }}
|
||||
<a href={{ url_for('main.service_add_email_reply_to', service_id=service_id) }}>Try again</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
@@ -4,6 +4,7 @@
|
||||
{% from "components/page-header.html" import page_header %}
|
||||
{% from "components/page-footer.html" import page_footer %}
|
||||
{% from "components/form.html" import form_wrapper %}
|
||||
{% from "components/ajax-block.html" import ajax_block %}
|
||||
|
||||
{% block service_page_title %}
|
||||
Verifying your reply-to email address
|
||||
@@ -15,22 +16,10 @@
|
||||
'Verifying your reply-to email address',
|
||||
back_link=url_for('main.service_email_reply_to', service_id=current_service.id)
|
||||
) }}
|
||||
{% if verification_status == "pending" %}
|
||||
<p>
|
||||
We have sent a notification to {{ reply_to_email_address }} to check if it's a working email address.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
Once we receive a delivery confirmation, we will update your list of reply-to email addresses.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="{{ url_for('main.verify_reply_to_address', service_id=service_id, notification_id=notification_id) + "?is_default={}".format(is_default) }}"">Refresh</a>
|
||||
</p>
|
||||
{% elif verification_status == "success" %}
|
||||
{{ banner("Yay success! Your new reply-to email has been added ^__^", type='message', with_tick=True) }}
|
||||
{% elif verification_status == "failure" %}
|
||||
{{ banner("Sorry dawg, this email address doesn't seem to be working :d", type='dangerous') }}
|
||||
<a href={{ url_for('main.service_add_email_reply_to', service_id=service_id) }}>Try again</a>
|
||||
{% endif %}
|
||||
{{ ajax_block(
|
||||
partials,
|
||||
url_for('main.verify_reply_to_address_updates', service_id=service_id, notification_id=notification_id),
|
||||
'status',
|
||||
finished=finished
|
||||
) }}
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user