Merge pull request #802 from dod-ccpo/accept-application-invite
Accept application invite
This commit is contained in:
@@ -6,6 +6,7 @@ from . import index
|
||||
from . import new
|
||||
from . import settings
|
||||
from . import team
|
||||
from . import invitations
|
||||
from atst.domain.environment_roles import EnvironmentRoles
|
||||
from atst.domain.exceptions import UnauthorizedError
|
||||
from atst.domain.authz.decorator import user_can_access_decorator as user_can
|
||||
|
||||
@@ -5,7 +5,21 @@ from atst.domain.authz.decorator import user_can_access_decorator as user_can
|
||||
from atst.models.permissions import Permissions
|
||||
|
||||
|
||||
def has_portfolio_applications(_user, portfolio=None, **_kwargs):
|
||||
"""
|
||||
If the portfolio exists and the user has access to applications
|
||||
within the scoped portfolio, the user has access to the
|
||||
portfolio landing page.
|
||||
"""
|
||||
if portfolio and portfolio.applications:
|
||||
return True
|
||||
|
||||
|
||||
@applications_bp.route("/portfolios/<portfolio_id>/applications")
|
||||
@user_can(Permissions.VIEW_APPLICATION, message="view portfolio applications")
|
||||
@user_can(
|
||||
Permissions.VIEW_APPLICATION,
|
||||
override=has_portfolio_applications,
|
||||
message="view portfolio applications",
|
||||
)
|
||||
def portfolio_applications(portfolio_id):
|
||||
return render_template("portfolios/applications/index.html")
|
||||
|
||||
16
atst/routes/applications/invitations.py
Normal file
16
atst/routes/applications/invitations.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from flask import redirect, url_for, g
|
||||
|
||||
from . import applications_bp
|
||||
from atst.domain.invitations import ApplicationInvitations
|
||||
|
||||
|
||||
@applications_bp.route("/applications/invitations/<token>", methods=["GET"])
|
||||
def accept_invitation(token):
|
||||
invite = ApplicationInvitations.accept(g.current_user, token)
|
||||
|
||||
return redirect(
|
||||
url_for(
|
||||
"applications.portfolio_applications",
|
||||
portfolio_id=invite.application.portfolio_id,
|
||||
)
|
||||
)
|
||||
Reference in New Issue
Block a user