Refactor get_members_data() into multiple smaller functions
This commit is contained in:
parent
6de02e874b
commit
d019989f6d
@ -34,47 +34,61 @@ def get_environments_obj_for_app(application):
|
|||||||
return environments_obj
|
return environments_obj
|
||||||
|
|
||||||
|
|
||||||
|
def filter_perm_sets_data(member):
|
||||||
|
perm_sets_data = {
|
||||||
|
"perms_team_mgmt": bool(
|
||||||
|
member.has_permission_set(PermissionSets.EDIT_APPLICATION_TEAM)
|
||||||
|
),
|
||||||
|
"perms_env_mgmt": bool(
|
||||||
|
member.has_permission_set(PermissionSets.EDIT_APPLICATION_ENVIRONMENTS)
|
||||||
|
),
|
||||||
|
"perms_del_env": bool(
|
||||||
|
member.has_permission_set(PermissionSets.DELETE_APPLICATION_ENVIRONMENTS)
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
return perm_sets_data
|
||||||
|
|
||||||
|
|
||||||
|
def filter_env_roles_data(roles):
|
||||||
|
env_role_data = [
|
||||||
|
{
|
||||||
|
"environment_id": str(role.environment.id),
|
||||||
|
"environment_name": role.environment.name,
|
||||||
|
"role": role.role,
|
||||||
|
}
|
||||||
|
for role in roles
|
||||||
|
]
|
||||||
|
|
||||||
|
return env_role_data
|
||||||
|
|
||||||
|
|
||||||
|
def filter_env_roles_form_data(member, environments):
|
||||||
|
env_roles_form_data = []
|
||||||
|
for env in environments:
|
||||||
|
env_data = {
|
||||||
|
"environment_id": str(env.id),
|
||||||
|
"environment_name": env.name,
|
||||||
|
"role": NO_ACCESS,
|
||||||
|
}
|
||||||
|
env_role = EnvironmentRoles.get_by_user_and_environment(member.user_id, env.id)
|
||||||
|
if env_role:
|
||||||
|
env_data["role"] = env_role.role
|
||||||
|
|
||||||
|
env_roles_form_data.append(env_data)
|
||||||
|
|
||||||
|
return env_roles_form_data
|
||||||
|
|
||||||
|
|
||||||
def get_members_data(application):
|
def get_members_data(application):
|
||||||
members_data = []
|
members_data = []
|
||||||
for member in application.members:
|
for member in application.members:
|
||||||
permission_sets = {
|
permission_sets = filter_perm_sets_data(member)
|
||||||
"perms_team_mgmt": bool(
|
|
||||||
member.has_permission_set(PermissionSets.EDIT_APPLICATION_TEAM)
|
|
||||||
),
|
|
||||||
"perms_env_mgmt": bool(
|
|
||||||
member.has_permission_set(PermissionSets.EDIT_APPLICATION_ENVIRONMENTS)
|
|
||||||
),
|
|
||||||
"perms_del_env": bool(
|
|
||||||
member.has_permission_set(
|
|
||||||
PermissionSets.DELETE_APPLICATION_ENVIRONMENTS
|
|
||||||
)
|
|
||||||
),
|
|
||||||
}
|
|
||||||
roles = EnvironmentRoles.get_for_application_member(member.id)
|
roles = EnvironmentRoles.get_for_application_member(member.id)
|
||||||
environment_roles = [
|
environment_roles = filter_env_roles_data(roles)
|
||||||
{
|
env_roles_form_data = filter_env_roles_form_data(
|
||||||
"environment_id": str(role.environment.id),
|
member, application.environments
|
||||||
"environment_name": role.environment.name,
|
)
|
||||||
"role": role.role,
|
|
||||||
}
|
|
||||||
for role in roles
|
|
||||||
]
|
|
||||||
|
|
||||||
env_roles_form_data = []
|
|
||||||
for env in application.environments:
|
|
||||||
env_data = {
|
|
||||||
"environment_id": str(env.id),
|
|
||||||
"environment_name": env.name,
|
|
||||||
"role": NO_ACCESS,
|
|
||||||
}
|
|
||||||
env_role = EnvironmentRoles.get_by_user_and_environment(
|
|
||||||
member.user_id, env.id
|
|
||||||
)
|
|
||||||
if env_role:
|
|
||||||
env_data["role"] = env_role.role
|
|
||||||
|
|
||||||
env_roles_form_data.append(env_data)
|
|
||||||
|
|
||||||
form = UpdateMemberForm(
|
form = UpdateMemberForm(
|
||||||
environment_roles=env_roles_form_data, **permission_sets
|
environment_roles=env_roles_form_data, **permission_sets
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user