Update environment role with real data

This commit is contained in:
Montana 2018-09-18 08:27:41 -04:00
parent 0d80604fcd
commit ccce20c48c
2 changed files with 23 additions and 18 deletions

View File

@ -56,14 +56,17 @@ class Environments(object):
@classmethod @classmethod
def update_environment_role(cls, environment_data, workspace_user): def update_environment_role(cls, environment_data, workspace_user):
# TODO need to check permissions? # TODO need to check permissions?
new_role = environment_data["user_role_name"] for i in range(len(environment_data)):
environment = Environments.get(environment_data["id"]) new_role = environment_data[i]["role"]
env_role = EnvironmentRole.get(member.user_id, environment_data["id"]) environment = Environments.get(environment_data[i]["id"])
if env_role: env_role = EnvironmentRole.get(
env_role.role = new_role workspace_user.user_id, environment_data[i]["id"]
else:
env_role = EnvironmentRole(
user=workspace_user.user, environment=environment, role=new_role
) )
db.session.add(env_role) if env_role:
db.session.commit() 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()

View File

@ -1,3 +1,4 @@
import re, ast
from datetime import date, timedelta from datetime import date, timedelta
from flask import ( from flask import (
@ -239,6 +240,13 @@ def update_member(workspace_id, member_id):
"edit this workspace user", "edit this workspace user",
) )
member = WorkspaceUsers.get(workspace_id, member_id) member = WorkspaceUsers.get(workspace_id, member_id)
environment_data = []
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]))
form = EditMemberForm(http_request.form) form = EditMemberForm(http_request.form)
if form.validate(): if form.validate():
@ -248,14 +256,8 @@ def update_member(workspace_id, member_id):
g.current_user, workspace, member, form.data["workspace_role"] g.current_user, workspace, member, form.data["workspace_role"]
) )
new_role_name = member.role_displayname new_role_name = member.role_displayname
if form.data["environment_role"]:
new_env_role = form.data["environment_role"] Environments.update_environment_role(environment_data, member)
environment_data = {
"id": "9432c6a5-2f9d-4c9c-b553-4c175852fb65",
"name": "this environment",
"user_role_name": new_env_role,
}
Environments.update_environment_role(environment_data, member)
return redirect( return redirect(
url_for( url_for(