diff --git a/atst/domain/invitations.py b/atst/domain/invitations.py index 3fcee7eb..bb4b409e 100644 --- a/atst/domain/invitations.py +++ b/atst/domain/invitations.py @@ -111,6 +111,10 @@ class Invitations(object): @classmethod def lookup_by_portfolio_and_user(cls, portfolio, user): portfolio_role = PortfolioRoles.get(portfolio.id, user.id) + + if portfolio_role.latest_invitation is None: + raise NotFoundError("invitation") + return portfolio_role.latest_invitation @classmethod diff --git a/atst/routes/portfolios/task_orders.py b/atst/routes/portfolios/task_orders.py index dd7856a7..385b4124 100644 --- a/atst/routes/portfolios/task_orders.py +++ b/atst/routes/portfolios/task_orders.py @@ -126,8 +126,8 @@ def resend_invite(portfolio_id, task_order_id, form=None): invitation = Invitations.lookup_by_portfolio_and_user(portfolio, officer) - if not invitation or (invitation.status is not InvitationStatus.PENDING): - raise NotFoundError("invitation") + if invitation.status is not InvitationStatus.PENDING: + raise NoAccessError("invitation") Invitations.revoke(token=invitation.token) @@ -210,7 +210,7 @@ def task_order_invitations(portfolio_id, task_order_id): form=form, ) else: - raise NotFoundError("task_order") + raise NoAccessError("task_order") @portfolios_bp.route(