mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-08 08:28:15 -04:00
Merge pull request #3842 from alphagov/remove-last-of-the-backwards-compat-invite-stuff
Remove last of the backwards compat invite stuff
This commit is contained in:
@@ -49,8 +49,7 @@ def old_service_dashboard(service_id):
|
|||||||
@user_has_permissions()
|
@user_has_permissions()
|
||||||
def service_dashboard(service_id):
|
def service_dashboard(service_id):
|
||||||
|
|
||||||
if session.get('invited_user_id') or session.get('invited_user'):
|
if session.get('invited_user_id'):
|
||||||
session.pop('invited_user', None)
|
|
||||||
session.pop('invited_user_id', None)
|
session.pop('invited_user_id', None)
|
||||||
session['service_id'] = service_id
|
session['service_id'] = service_id
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ def accept_invite(token):
|
|||||||
service_name=service.name)
|
service_name=service.name)
|
||||||
|
|
||||||
if invited_user.status == 'accepted':
|
if invited_user.status == 'accepted':
|
||||||
session.pop('invited_user', None)
|
|
||||||
session.pop('invited_user_id', None)
|
session.pop('invited_user_id', None)
|
||||||
service = Service.from_id(invited_user.service)
|
service = Service.from_id(invited_user.service)
|
||||||
if service.has_permission('broadcast'):
|
if service.has_permission('broadcast'):
|
||||||
@@ -103,7 +102,6 @@ def accept_org_invite(token):
|
|||||||
organisation_name=organisation.name)
|
organisation_name=organisation.name)
|
||||||
|
|
||||||
if invited_org_user.status == 'accepted':
|
if invited_org_user.status == 'accepted':
|
||||||
session.pop('invited_org_user', None)
|
|
||||||
session.pop('invited_org_user_id', None)
|
session.pop('invited_org_user_id', None)
|
||||||
return redirect(url_for('main.organisation_dashboard', org_id=invited_org_user.organisation))
|
return redirect(url_for('main.organisation_dashboard', org_id=invited_org_user.organisation))
|
||||||
|
|
||||||
|
|||||||
@@ -36,11 +36,10 @@ def sign_in():
|
|||||||
if user and user.state == 'pending':
|
if user and user.state == 'pending':
|
||||||
return redirect(url_for('main.resend_email_verification', next=redirect_url))
|
return redirect(url_for('main.resend_email_verification', next=redirect_url))
|
||||||
|
|
||||||
if user and (session.get('invited_user') or session.get('invited_user_id')):
|
if user and session.get('invited_user_id'):
|
||||||
invited_user = InvitedUser.from_session()
|
invited_user = InvitedUser.from_session()
|
||||||
if user.email_address.lower() != invited_user.email_address.lower():
|
if user.email_address.lower() != invited_user.email_address.lower():
|
||||||
flash("You cannot accept an invite for another person.")
|
flash("You cannot accept an invite for another person.")
|
||||||
session.pop('invited_user', None)
|
|
||||||
session.pop('invited_user_id', None)
|
session.pop('invited_user_id', None)
|
||||||
abort(403)
|
abort(403)
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ def test_accepting_invite_removes_invite_from_session(
|
|||||||
assert normalize_spaces(page.select_one('h1').text) == landing_page_title
|
assert normalize_spaces(page.select_one('h1').text) == landing_page_title
|
||||||
|
|
||||||
with client_request.session_transaction() as session:
|
with client_request.session_transaction() as session:
|
||||||
assert 'invited_user' not in session
|
assert 'invited_user_id' not in session
|
||||||
|
|
||||||
|
|
||||||
def test_existing_user_of_service_get_redirected_to_signin(
|
def test_existing_user_of_service_get_redirected_to_signin(
|
||||||
@@ -416,7 +416,6 @@ def test_new_user_accept_invite_completes_new_registration_redirects_to_verify(
|
|||||||
with client.session_transaction() as session:
|
with client.session_transaction() as session:
|
||||||
assert response.status_code == 302
|
assert response.status_code == 302
|
||||||
assert response.location == expected_redirect_location
|
assert response.location == expected_redirect_location
|
||||||
assert 'invited_user' not in session
|
|
||||||
assert session.get('invited_user_id') == USER_ONE_ID
|
assert session.get('invited_user_id') == USER_ONE_ID
|
||||||
|
|
||||||
data = {'service': sample_invite['service'],
|
data = {'service': sample_invite['service'],
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
import uuid
|
|
||||||
from unittest.mock import Mock
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from app.models.user import AnonymousUser, InvitedOrgUser, InvitedUser, User
|
from app.models.user import AnonymousUser, InvitedOrgUser, InvitedUser, User
|
||||||
@@ -121,22 +118,6 @@ def test_invited_user_from_session_uses_id(client, mocker, mock_get_invited_user
|
|||||||
mock_get_invited_user_by_id.assert_called_once_with(USER_ONE_ID)
|
mock_get_invited_user_by_id.assert_called_once_with(USER_ONE_ID)
|
||||||
|
|
||||||
|
|
||||||
def test_invited_user_from_session_uses_id_even_if_obj_in_session(
|
|
||||||
client,
|
|
||||||
mocker,
|
|
||||||
sample_invite,
|
|
||||||
mock_get_invited_user_by_id
|
|
||||||
):
|
|
||||||
mock_session_obj = Mock(spec=dict)
|
|
||||||
session_dict = {'invited_user_id': USER_ONE_ID, 'invited_user': mock_session_obj}
|
|
||||||
mocker.patch.dict('app.models.user.session', values=session_dict, clear=True)
|
|
||||||
|
|
||||||
assert InvitedUser.from_session().id == USER_ONE_ID
|
|
||||||
|
|
||||||
assert mock_session_obj.mock_calls == []
|
|
||||||
mock_get_invited_user_by_id.assert_called_once_with(USER_ONE_ID)
|
|
||||||
|
|
||||||
|
|
||||||
def test_invited_user_from_session_returns_none_if_nothing_present(client, mocker):
|
def test_invited_user_from_session_returns_none_if_nothing_present(client, mocker):
|
||||||
mocker.patch.dict('app.models.user.session', values={}, clear=True)
|
mocker.patch.dict('app.models.user.session', values={}, clear=True)
|
||||||
assert InvitedUser.from_session() is None
|
assert InvitedUser.from_session() is None
|
||||||
@@ -151,24 +132,6 @@ def test_invited_org_user_from_session_uses_id(client, mocker, mock_get_invited_
|
|||||||
mock_get_invited_org_user_by_id.assert_called_once_with(sample_org_invite['id'])
|
mock_get_invited_org_user_by_id.assert_called_once_with(sample_org_invite['id'])
|
||||||
|
|
||||||
|
|
||||||
def test_invited_org_user_from_session_uses_id_even_if_obj_in_session(
|
|
||||||
client,
|
|
||||||
mocker,
|
|
||||||
sample_org_invite,
|
|
||||||
mock_get_invited_org_user_by_id
|
|
||||||
):
|
|
||||||
fake_id = str(uuid.uuid4())
|
|
||||||
mock_org_dict = Mock(spec=dict)
|
|
||||||
session_dict = {'invited_org_user_id': fake_id, 'invited_org_user': mock_org_dict}
|
|
||||||
mocker.patch.dict('app.models.user.session', values=session_dict, clear=True)
|
|
||||||
|
|
||||||
assert InvitedOrgUser.from_session().id == sample_org_invite['id']
|
|
||||||
|
|
||||||
# make sure we didn't access invited_org_user (as org_user_id takes precedence)
|
|
||||||
assert mock_org_dict.mock_calls == []
|
|
||||||
mock_get_invited_org_user_by_id.assert_called_once_with(fake_id)
|
|
||||||
|
|
||||||
|
|
||||||
def test_invited_org_user_from_session_returns_none_if_nothing_present(client, mocker):
|
def test_invited_org_user_from_session_returns_none_if_nothing_present(client, mocker):
|
||||||
mocker.patch.dict('app.models.user.session', values={}, clear=True)
|
mocker.patch.dict('app.models.user.session', values={}, clear=True)
|
||||||
assert InvitedOrgUser.from_session() is None
|
assert InvitedOrgUser.from_session() is None
|
||||||
|
|||||||
Reference in New Issue
Block a user