From 5a5d81eb7fabb35ffe36127ca59834f246c29971 Mon Sep 17 00:00:00 2001 From: Montana Date: Thu, 13 Sep 2018 15:20:34 -0400 Subject: [PATCH] Update the template to show real data --- atst/domain/environments.py | 9 ++-- atst/domain/projects.py | 18 +++++++ atst/routes/workspaces.py | 7 ++- templates/workspaces/members/edit.html | 74 ++++++-------------------- 4 files changed, 43 insertions(+), 65 deletions(-) diff --git a/atst/domain/environments.py b/atst/domain/environments.py index 66910c6e..666bb8bd 100644 --- a/atst/domain/environments.py +++ b/atst/domain/environments.py @@ -4,7 +4,6 @@ from atst.database import db from atst.models.environment import Environment from atst.models.environment_role import EnvironmentRole, CSPRole from atst.models.project import Project -from atst.domain.users import Users from .exceptions import NotFoundError @@ -59,13 +58,13 @@ class Environments(object): new_role = environment_data["user_role_name"] environment = Environments.get(cls=cls, environment_id=environment_data["id"]) if workspace_user.has_environment_roles: - env_role = EnvironmentRole.get(workspace_user.user_id, environment.id) + env_role = EnvironmentRole.get( + workspace_user.user_id, environment_data["id"] + ) env_role.role = new_role else: env_role = EnvironmentRole( - user=workspace_user.user, - environment=environment, - role=new_role + user=workspace_user.user, environment=environment, role=new_role ) db.session.add(env_role) db.session.commit() diff --git a/atst/domain/projects.py b/atst/domain/projects.py index 4d03f80f..94ad6a39 100644 --- a/atst/domain/projects.py +++ b/atst/domain/projects.py @@ -49,3 +49,21 @@ class Projects(object): .filter(EnvironmentRole.user_id == user.id) .all() ) + + @classmethod + def get_all(cls, workspace_user, workspace): + Authorization.check_workspace_permission( + workspace_user.user, + workspace, + Permissions.VIEW_APPLICATION_IN_WORKSPACE, + "view project in workspace", + ) + + try: + projects = ( + db.session.query(Project).filter_by(workspace_id=workspace.id).all() + ) + except NoResultFound: + raise NotFoundError("projects") + + return projects diff --git a/atst/routes/workspaces.py b/atst/routes/workspaces.py index ef156dc8..b3ac5b1b 100644 --- a/atst/routes/workspaces.py +++ b/atst/routes/workspaces.py @@ -214,9 +214,14 @@ def view_member(workspace_id, member_id): "edit this workspace user", ) member = WorkspaceUsers.get(workspace_id, member_id) + projects = Projects.get_all(member, workspace) form = EditMemberForm(workspace_role=member.role, environment_role="") return render_template( - "workspaces/members/edit.html", form=form, workspace=workspace, member=member + "workspaces/members/edit.html", + workspace=workspace, + member=member, + projects=projects, + form=form, ) diff --git a/templates/workspaces/members/edit.html b/templates/workspaces/members/edit.html index ffdd99c2..c21471e3 100644 --- a/templates/workspaces/members/edit.html +++ b/templates/workspaces/members/edit.html @@ -88,83 +88,39 @@ {% endcall %} + {% for project in projects %}
-
- -
-
+ {% endfor %}