Display email address that invitee will be registered with.

Also add flash message for users who already have an account.
This commit is contained in:
Adam Shimali
2016-03-09 11:21:53 +00:00
parent 131d1bedba
commit acc7c6cda3
5 changed files with 15 additions and 1 deletions

View File

@@ -33,6 +33,7 @@ def accept_invite(token):
session['invited_user'] = invited_user.serialize()
if existing_user:
user_api_client.add_user_to_service(invited_user.service,
existing_user.id,
invited_user.permissions)

View File

@@ -51,7 +51,7 @@ def register_from_invite():
form.service.data = invited_user['service']
form.email_address.data = invited_user['email_address']
return render_template('views/register-from-invite.html', form=form)
return render_template('views/register-from-invite.html', email_address=invited_user['email_address'], form=form)
def _do_registration(form, service=None):

View File

@@ -45,6 +45,11 @@ def sign_in():
# Vague error message for login in case of user not known, locked, inactive or password not verified
flash('Username or password is incorrect')
invited_user = session.get('invited_user')
if invited_user:
message = 'You already have an account with GOV.UK Notify. Sign in to your account to accept this invitation.'
flash(message, 'default')
return render_template('views/signin.html', form=form)

View File

@@ -11,6 +11,7 @@ Create an account GOV.UK Notify
<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>
<form method="post" autocomplete="nope">
{{ textbox(form.name, width='3-4') }}
{{ textbox(form.mobile_number, width='3-4') }}

View File

@@ -58,6 +58,10 @@ def test_existing_signed_out_user_accept_invite_redirects_to_sign_in(app_,
assert response.status_code == 200
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
assert page.h1.string.strip() == 'Sign in'
flash_banners = page.find_all('div', class_='banner-default')
assert len(flash_banners) == 2
assert flash_banners[0].text.strip() == 'Please log in to access this page.'
assert flash_banners[1].text.strip() == 'You already have an account with GOV.UK Notify. Sign in to your account to accept this invitation.' # noqa
def test_new_user_accept_invite_calls_api_and_redirects_to_registration(app_,
@@ -100,6 +104,9 @@ def test_new_user_accept_invite_calls_api_and_views_registration_page(app_,
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
assert page.h1.string.strip() == 'Create an account'
email_in_page = page.find('p')
assert email_in_page.text.strip() == 'Your account will be created with this email: invited_user@test.gov.uk' # noqa
form = page.find('form')
name = form.find('input', id='name')
password = form.find('input', id='password')