Create macro for environment role field and update route so the correct data is passed to Environments.update_env_role to update or delete roles
This commit is contained in:
@@ -374,14 +374,21 @@ def remove_member(application_id, application_role_id):
|
||||
@user_can(Permissions.EDIT_APPLICATION_MEMBER, message="update application member")
|
||||
def update_member(application_id, application_role_id):
|
||||
app_role = ApplicationRoles.get_by_id(application_role_id)
|
||||
form = UpdateMemberForm(http_request.form)
|
||||
application = Applications.get(application_id)
|
||||
existing_env_roles_data = filter_env_roles_form_data(
|
||||
app_role, application.environments
|
||||
)
|
||||
form = UpdateMemberForm(
|
||||
formdata=http_request.form, environment_roles=existing_env_roles_data
|
||||
)
|
||||
|
||||
if form.validate():
|
||||
ApplicationRoles.update_permission_sets(app_role, form.data["permission_sets"])
|
||||
|
||||
for env_role in form.environment_roles:
|
||||
environment = Environments.get(env_role.environment_id.data)
|
||||
Environments.update_env_role(environment, app_role, env_role.data["role"])
|
||||
new_role = None if env_role.deleted.data else env_role.data["role"]
|
||||
Environments.update_env_role(environment, app_role, new_role)
|
||||
|
||||
flash("application_member_updated", user_name=app_role.user_name)
|
||||
else:
|
||||
|
Reference in New Issue
Block a user