diff --git a/app/main/views/invites.py b/app/main/views/invites.py index 662d66cec..44d00296c 100644 --- a/app/main/views/invites.py +++ b/app/main/views/invites.py @@ -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) diff --git a/app/main/views/register.py b/app/main/views/register.py index 7400f113d..eaeeaf150 100644 --- a/app/main/views/register.py +++ b/app/main/views/register.py @@ -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): diff --git a/app/main/views/sign_in.py b/app/main/views/sign_in.py index c2931b1cd..5b598e4ae 100644 --- a/app/main/views/sign_in.py +++ b/app/main/views/sign_in.py @@ -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) diff --git a/app/templates/views/register-from-invite.html b/app/templates/views/register-from-invite.html index 7e7e81aaa..df9cf8221 100644 --- a/app/templates/views/register-from-invite.html +++ b/app/templates/views/register-from-invite.html @@ -11,6 +11,7 @@ Create an account – GOV.UK Notify
Your account will be created with this email: {{email_address}}