mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-18 13:39:41 -04:00
only show mobile number on register from invite page if user is sms_auth
also clean up the way the form is invoked - it now populates from an invited_user object
This commit is contained in:
@@ -176,6 +176,13 @@ class RegisterUserForm(Form):
|
||||
|
||||
|
||||
class RegisterUserFromInviteForm(Form):
|
||||
def __init__(self, invited_user):
|
||||
super().__init__(
|
||||
service=invited_user['service'],
|
||||
email_address=invited_user['email_address'],
|
||||
auth_type=invited_user['auth_type'],
|
||||
)
|
||||
|
||||
name = StringField(
|
||||
'Full name',
|
||||
validators=[DataRequired(message='Can’t be empty')]
|
||||
|
||||
@@ -46,24 +46,23 @@ def register_from_invite():
|
||||
if not invited_user:
|
||||
abort(404)
|
||||
|
||||
form = RegisterUserFromInviteForm()
|
||||
is_sms_auth = invited_user['auth_type'] == 'sms_auth'
|
||||
|
||||
form = RegisterUserFromInviteForm(invited_user)
|
||||
|
||||
if form.validate_on_submit():
|
||||
if form.service.data != invited_user['service'] or form.email_address.data != invited_user['email_address']:
|
||||
abort(400)
|
||||
_do_registration(form, send_email=False, send_sms=invited_user['auth_type'] == 'sms_auth')
|
||||
_do_registration(form, send_email=False, send_sms=is_sms_auth)
|
||||
invite_api_client.accept_invite(invited_user['service'], invited_user['id'])
|
||||
if invited_user['auth_type'] == 'sms_auth':
|
||||
if is_sms_auth:
|
||||
return redirect(url_for('main.verify'))
|
||||
else:
|
||||
# we've already proven this user has email because they clicked the invite link,
|
||||
# so just activate them straight away
|
||||
return activate_user(session['user_details']['id'])
|
||||
|
||||
form.service.data = invited_user['service']
|
||||
form.email_address.data = invited_user['email_address']
|
||||
|
||||
return render_template('views/register-from-invite.html', email_address=invited_user['email_address'], form=form)
|
||||
return render_template('views/register-from-invite.html', invited_user=invited_user, form=form)
|
||||
|
||||
|
||||
def _do_registration(form, send_sms=True, send_email=True):
|
||||
|
||||
@@ -11,16 +11,19 @@ Create an account
|
||||
<div class="grid-row">
|
||||
<div class="column-two-thirds">
|
||||
<h1 class="heading-large">Create an account</h1>
|
||||
<p>Your account will be created with this email: {{email_address}}</p>
|
||||
<p>Your account will be created with this email: {{invited_user.email_address}}</p>
|
||||
<form method="post" autocomplete="off">
|
||||
{{ textbox(form.name, width='3-4') }}
|
||||
<div class="extra-tracking">
|
||||
{{ textbox(form.mobile_number, width='3-4', hint='We’ll send you a security code by text message') }}
|
||||
</div>
|
||||
{% if invited_user.auth_type == 'sms_auth' %}
|
||||
<div class="extra-tracking">
|
||||
{{ textbox(form.mobile_number, width='3-4', hint='We’ll send you a security code by text message') }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{{ textbox(form.password, hint="At least 8 characters", width='3-4') }}
|
||||
{{ page_footer("Continue") }}
|
||||
{{form.service}}
|
||||
{{form.email_address}}
|
||||
{{form.auth_type}}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user