diff --git a/atst/routes/workspaces.py b/atst/routes/workspaces.py index 64faac94..ce0def86 100644 --- a/atst/routes/workspaces.py +++ b/atst/routes/workspaces.py @@ -12,10 +12,11 @@ from atst.domain.workspaces import Workspaces from atst.domain.projects import Projects from atst.forms.new_project import NewProjectForm from atst.forms.new_member import NewMemberForm +from atst.domain.authz import Authorization +from atst.models.permissions import Permissions bp = Blueprint("workspaces", __name__) - @bp.context_processor def workspace(): workspace = None @@ -26,8 +27,17 @@ def workspace(): ) except UnauthorizedError: pass - return {"workspace": workspace} + def user_can(permission): + if workspace: + return Authorization.has_workspace_permission(g.current_user, workspace, permission) + return false + + return { + "workspace": workspace, + "permissions": Permissions, + "user_can": user_can + } @bp.route("/workspaces") def workspaces():