def get_service_verify_reply_to_address_partials(service_id, notification_id): form = ServiceReplyToEmailForm() first_email_address = current_service.count_email_reply_to_addresses == 0 notification = notification_api_client.get_notification( current_app.config["NOTIFY_SERVICE_ID"], notification_id) replace = request.args.get('replace', False) replace = False if replace == "False" else replace existing_is_default = False if replace: existing = current_service.get_email_reply_to_address(replace) existing_is_default = existing['is_default'] verification_status = "pending" is_default = True if (request.args.get('is_default', False) == "True") else False if notification["status"] in DELIVERED_STATUSES: verification_status = "success" if notification["to"] not in [ i["email_address"] for i in current_service.email_reply_to_addresses ]: if replace: service_api_client.update_reply_to_email_address( current_service.id, replace, email_address=notification["to"], is_default=is_default) else: service_api_client.add_reply_to_email_address( current_service.id, email_address=notification["to"], is_default=is_default) seconds_since_sending = ( utc_string_to_aware_gmt_datetime(datetime.utcnow().isoformat()) - utc_string_to_aware_gmt_datetime(notification['created_at'])).seconds if notification["status"] in FAILURE_STATUSES or ( notification["status"] in SENDING_STATUSES and seconds_since_sending > current_app.config['REPLY_TO_EMAIL_ADDRESS_VALIDATION_TIMEOUT']): verification_status = "failure" form.email_address.data = notification['to'] form.is_default.data = 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, existing_is_default=existing_is_default, form=form, first_email_address=first_email_address, replace=replace), 'stop': 0 if verification_status == "pending" else 1 }
def service_add_email_reply_to(service_id): form = ServiceReplyToEmailForm() first_email_address = current_service.count_email_reply_to_addresses == 0 if form.validate_on_submit(): service_api_client.add_reply_to_email_address( current_service.id, email_address=form.email_address.data, is_default=first_email_address if first_email_address else form.is_default.data) return redirect( url_for('.service_email_reply_to', service_id=service_id)) return render_template('views/service-settings/email-reply-to/add.html', form=form, first_email_address=first_email_address)