Route for accepting an application invitation.

- Domain method for enabling an application role.
- Updated ApplicationRole model `history` property so that it serializes
  the `status` correctly
This commit is contained in:
dandds
2019-05-03 06:21:30 -04:00
parent d8771accca
commit a2ebdf78a0
7 changed files with 71 additions and 3 deletions

View File

@@ -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

View File

@@ -0,0 +1,15 @@
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(
"portfolios.show_portfolio", portfolio_id=invite.application.portfolio_id
)
)