Add flow for sending yourself a text message

This commit adds a shortcut, which (in the background) does the creation and
uploading of a CSV file for you.

This enables users to send themselves a test message without having to fiddle
about with CSV files.
This commit is contained in:
Chris Hill-Scott
2016-02-12 10:55:21 +00:00
parent 2a9f9dcc57
commit eec56c2778
6 changed files with 43 additions and 10 deletions

View File

@@ -36,7 +36,20 @@
z-index: 50;
}
.sms-message-use-link {
@include bold-19;
margin-top: 70px;
.sms-message-use-links {
@include copy-19;
margin-top: 55px;
a {
display: block;
margin-bottom: 5px;
&:first-child {
@include bold-19;
}
}
}

View File

@@ -1,8 +1,7 @@
import csv
import io
import uuid
import botocore
import re
import io
from datetime import date
@@ -102,6 +101,26 @@ def get_example_csv(service_id, template_id):
return(output.getvalue(), 200, {'Content-Type': 'text/csv; charset=utf-8'})
@main.route("/services/<service_id>/sms/send/<template_id>/to-self", methods=['GET'])
@login_required
def send_sms_to_self(service_id, template_id):
output = io.StringIO()
writer = csv.writer(output)
writer.writerow(['phone'])
writer.writerow([current_user.mobile_number])
filedata = {
'file_name': 'Test run',
'data': output.getvalue().splitlines()
}
upload_id = str(uuid.uuid4())
s3upload(upload_id, service_id, filedata, current_app.config['AWS_REGION'])
session['upload_data'] = {"template_id": template_id, "original_file_name": filedata['file_name']}
return redirect(url_for('.check_sms',
service_id=service_id,
upload_id=upload_id))
@main.route("/services/<service_id>/sms/check/<upload_id>",
methods=['GET', 'POST'])
@login_required

View File

@@ -48,7 +48,7 @@ def add_service_template(service_id):
if form.validate_on_submit():
tdao.insert_service_template(
form.name.data, 'sms', form.template_content.data, service_id)
form.name.data, form.template_content.data, service_id)
return redirect(url_for(
'.manage_service_templates', service_id=service_id))
return render_template(

View File

@@ -20,8 +20,9 @@
{{ sms_message(template.formatted_as_markup, name=template.name) }}
</div>
<div class="column-one-third">
<div class="sms-message-use-link">
<a href="{{ url_for(".send_sms", service_id=service_id, template_id=template.id) }}">Use this template</a>
<div class="sms-message-use-links">
<a href="{{ url_for(".send_sms", service_id=service_id, template_id=template.id) }}">Add recipients</a>
<a href="{{ url_for(".send_sms_to_self", service_id=service_id, template_id=template.id) }}">Send yourself a test</a>
</div>
</div>
{% endfor %}

View File

@@ -52,7 +52,7 @@
{% call(item) list_table(
[
{'row': 1, 'phone': '+447700 900995', 'template': template['name'], 'status': 'queued'}
{'row': 1, 'phone': '+447700 900995', 'template': template['name'], 'status': 'sent'}
],
caption=uploaded_file_name,
caption_visible=False,

View File

@@ -10,7 +10,7 @@
{% block maincolumn_content %}
<h1 class="heading-large">Send text messages</h1>
<h1 class="heading-large">Add recipients</h1>
<form method="POST" enctype="multipart/form-data">