workspace users who have not accepted invite should not have permissions

This commit is contained in:
dandds
2018-10-25 15:14:14 -04:00
parent 3e19c75c80
commit 5c2d466049
8 changed files with 78 additions and 64 deletions

View File

@@ -30,8 +30,8 @@ class WorkspacesQuery(Query):
)
@classmethod
def create_workspace_role(cls, user, role, workspace):
return WorkspaceRole(user=user, role=role, workspace=workspace)
def create_workspace_role(cls, user, role, workspace, **kwargs):
return WorkspaceRole(user=user, role=role, workspace=workspace, **kwargs)
@classmethod
def get_role_for_workspace_and_user(cls, workspace, user):

View File

@@ -13,7 +13,9 @@ class Workspaces(object):
def create(cls, request, name=None):
name = name or request.displayname
workspace = WorkspacesQuery.create(request=request, name=name)
Workspaces._create_workspace_role(request.creator, workspace, "owner")
Workspaces._create_workspace_role(
request.creator, workspace, "owner", accepted=True
)
WorkspacesQuery.add_and_commit(workspace)
return workspace
@@ -107,9 +109,11 @@ class Workspaces(object):
return WorkspaceUsers.update_role(member, workspace.id, role_name)
@classmethod
def _create_workspace_role(cls, user, workspace, role_name):
def _create_workspace_role(cls, user, workspace, role_name, accepted=False):
role = Roles.get(role_name)
workspace_role = WorkspacesQuery.create_workspace_role(user, role, workspace)
workspace_role = WorkspacesQuery.create_workspace_role(
user, role, workspace, accepted=accepted
)
WorkspacesQuery.add_and_commit(workspace_role)
return workspace_role