diff --git a/atst/domain/environments.py b/atst/domain/environments.py index b60cc454..7a49c49c 100644 --- a/atst/domain/environments.py +++ b/atst/domain/environments.py @@ -54,13 +54,13 @@ class Environments(object): return env @classmethod - def update_environment_role(cls, environment_data, workspace_user): + def update_environment_role(cls, ids_and_roles, workspace_user): # TODO need to check permissions? - for i in range(len(environment_data)): - new_role = environment_data[i]["role"] - environment = Environments.get(environment_data[i]["id"]) + for i in range(len(ids_and_roles)): + new_role = ids_and_roles[i]["role"] + environment = Environments.get(ids_and_roles[i]["id"]) env_role = EnvironmentRole.get( - workspace_user.user_id, environment_data[i]["id"] + workspace_user.user_id, ids_and_roles[i]["id"] ) if env_role: env_role.role = new_role diff --git a/atst/forms/data.py b/atst/forms/data.py index 8c42bf11..7be3e2ad 100644 --- a/atst/forms/data.py +++ b/atst/forms/data.py @@ -187,13 +187,7 @@ ENVIRONMENT_ROLES = [ ] ENVIRONMENT_ROLES = [ - ( - "no_access", - { - "name": "no access", - "description": "No environment access." - } - ), + ("no_access", {"name": "no access", "description": "No environment access."}), ( "database_admin", { diff --git a/atst/routes/workspaces.py b/atst/routes/workspaces.py index f27189e8..f9a52957 100644 --- a/atst/routes/workspaces.py +++ b/atst/routes/workspaces.py @@ -1,4 +1,4 @@ -import re, ast +import re from datetime import date, timedelta from flask import ( @@ -241,11 +241,13 @@ def update_member(workspace_id, member_id): ) member = WorkspaceUsers.get(workspace_id, member_id) - environment_data = [] + ids_and_roles = [] form_dict = http_request.form.to_dict() for entry in form_dict: if re.match("env_", entry): - environment_data.append(ast.literal_eval(form_dict[entry])) + env_id = entry[4:] + env_role = form_dict[entry] + ids_and_roles.append({"id": env_id, "role": env_role}) form = EditMemberForm(http_request.form) @@ -257,7 +259,7 @@ def update_member(workspace_id, member_id): ) new_role_name = member.role_displayname - Environments.update_environment_role(environment_data, member) + Environments.update_environment_role(ids_and_roles, member) return redirect( url_for( diff --git a/templates/workspaces/members/edit.html b/templates/workspaces/members/edit.html index c1736eb8..a8f767e3 100644 --- a/templates/workspaces/members/edit.html +++ b/templates/workspaces/members/edit.html @@ -91,11 +91,11 @@ {% if choice[0] != "" %}