Check permissions when attempting to create a project

This commit is contained in:
richard-dds
2018-08-21 20:47:22 -04:00
parent 9dd1a417e0
commit 0469e061da
5 changed files with 62 additions and 2 deletions

View File

@@ -31,6 +31,29 @@ class WorkspaceUsers(object):
return WorkspaceUser(user, workspace_role)
@classmethod
def add(cls, user, workspace_id, role_name):
role = Roles.get(role_name)
try:
existing_workspace_role = (
db.session.query(WorkspaceRole)
.filter(
WorkspaceRole.user == user,
WorkspaceRole.workspace_id == workspace_id,
)
.one()
)
new_workspace_role = existing_workspace_role
new_workspace_role.role = role
except NoResultFound:
new_workspace_role = WorkspaceRole(
user=user, role_id=role.id, workspace_id=workspace_id
)
user.workspace_roles.append(new_workspace_role)
db.session.add(user)
db.session.commit()
@classmethod
def add_many(cls, workspace_id, workspace_user_dicts):
workspace_users = []