Add Workspaces.get_many

This commit is contained in:
richard-dds 2018-08-21 10:44:36 -04:00
parent 7d165e45d3
commit 92553f3b39
3 changed files with 24 additions and 3 deletions

View File

@ -47,6 +47,11 @@ class Workspaces(object):
return workspace
@classmethod
def get_many(cls, user):
workspaces = db.session.query(Workspace).join(WorkspaceRole).filter(WorkspaceRole.user == user).all()
return workspaces
class Projects(object):

View File

@ -15,13 +15,14 @@ def workspace():
@bp.route("/workspaces")
def workspaces():
return render_template("workspaces.html", page=5, workspaces=Workspaces.get_many())
workspaces = Workspaces.get_many(g.current_user)
return render_template("workspaces.html", page=5, workspaces=workspaces)
@bp.route("/workspaces/<workspace_id>/projects")
def workspace_projects(workspace_id):
projects = Projects.get_many(workspace_id)
return render_template("workspace_projects.html", projects=projects)
workspace = Workspaces.get(g.current_user, workspace_id)
return render_template("workspace_projects.html", workspace=workspace)
@bp.route("/workspaces/<workspace_id>/members")

View File

@ -54,3 +54,18 @@ def test_workspaces_get_ensures_user_is_in_workspace():
with pytest.raises(UnauthorizedError):
Workspaces.get(outside_user, workspace.id)
def test_workspaces_get_many_with_no_workspaces():
workspaces = Workspaces.get_many(UserFactory.build())
assert workspaces == []
def test_workspaces_get_many_returns_a_users_workspaces():
user = UserFactory.create()
users_workspace = Workspaces.create(RequestFactory.create(creator=user))
# random workspace
Workspaces.create(RequestFactory.create())
assert Workspaces.get_many(user) == [users_workspace]