Allow user to select 'No Access'

This commit is contained in:
richard-dds
2018-10-17 14:42:22 -04:00
parent fcd16c1b3c
commit c138df2b0f
6 changed files with 29 additions and 20 deletions

View File

@@ -14,3 +14,10 @@ class EnvironmentRoles(object):
.one_or_none()
)
return existing_env_role
@classmethod
def delete(cls, user_id, environment_id):
existing_env_role = EnvironmentRoles.get(user_id, environment_id)
if existing_env_role:
db.session.delete(existing_env_role)
db.session.commit()

View File

@@ -69,13 +69,17 @@ class Environments(object):
for id_and_role in ids_and_roles:
new_role = id_and_role["role"]
environment = Environments.get(id_and_role["id"])
env_role = EnvironmentRoles.get(workspace_user.user_id, id_and_role["id"])
if env_role:
env_role.role = new_role
if new_role is None:
EnvironmentRoles.delete(workspace_user.user.id, environment.id)
else:
env_role = EnvironmentRole(
user=workspace_user.user, environment=environment, role=new_role
)
db.session.add(env_role)
env_role = EnvironmentRoles.get(workspace_user.user_id, id_and_role["id"])
if env_role:
env_role.role = new_role
else:
env_role = EnvironmentRole(
user=workspace_user.user, environment=environment, role=new_role
)
db.session.add(env_role)
db.session.commit()