Add some explaining to the SMS sender page

This commit is contained in:
Chris Hill-Scott
2016-08-22 16:10:57 +01:00
parent 709882065f
commit c5c693ef0b
3 changed files with 26 additions and 7 deletions

View File

@@ -331,13 +331,17 @@ class ServiceReplyToEmailFrom(Form):
class ServiceSmsSender(Form):
sms_sender = StringField('', validators=[Length(max=11,
message="Text message sender can't be longer than 11 characters")])
sms_sender = StringField(
'Text message sender',
validators=[
Length(max=11, message="Enter fewer than 11 characters")
]
)
def validate_sms_sender(form, field):
import re
if field.data and not re.match('^[a-zA-Z0-9\s]+$', field.data):
raise ValidationError('Text message sender can only contain alpha-numeric characters')
raise ValidationError('Use letters and numbers only')
class ServiceBrandingOrg(Form):

View File

@@ -10,12 +10,27 @@
<div class="grid-row">
<div class="column-three-quarters">
<h1 class="heading-large">Set text message sender name</h1>
<h1 class="heading-large">Text message sender</h1>
<p>
This appears instead of a phone number when a user receives a
text message from your service.
<p>
If you leave this blank:
</p>
<ul class="list list-bullet">
<li>
your messages will be sent from 40604 (a shortcode thats
reserved for government use)
</li>
<li>
each message will begin with {{ current_service.name }}:
</li>
</ul>
<form method="post">
{{ textbox(
form.sms_sender,
width='1-1',
safe_error_message=True
hint='Up to 11 characters, letters, numbers and spaces only'
) }}
{{ page_footer(
'Save',

View File

@@ -137,8 +137,8 @@ def test_sms_sender_form_validation(app_, mock_get_user_by_email):
form.sms_sender.data = 'morethanelevenchars'
form.validate()
assert "Text message sender can't be longer than 11 characters" == form.errors['sms_sender'][0]
assert "Enter fewer than 11 characters" == form.errors['sms_sender'][0]
form.sms_sender.data = '###########'
form.validate()
assert 'Text message sender can only contain alpha-numeric characters' == form.errors['sms_sender'][0]
assert 'Use letters and numbers only' == form.errors['sms_sender'][0]