Clean up code and formatting
This commit is contained in:
parent
d296d3c237
commit
4dab326eef
@ -35,7 +35,6 @@ class PermissionsForm(Form):
|
|||||||
description=translate(
|
description=translate(
|
||||||
"portfolios.applications.members.form.env_mgmt.description"
|
"portfolios.applications.members.form.env_mgmt.description"
|
||||||
),
|
),
|
||||||
false_values=(False, "False", 'false', ''),
|
|
||||||
)
|
)
|
||||||
perms_team_mgmt = BooleanField(
|
perms_team_mgmt = BooleanField(
|
||||||
translate("portfolios.applications.members.form.team_mgmt.label"),
|
translate("portfolios.applications.members.form.team_mgmt.label"),
|
||||||
@ -43,7 +42,6 @@ class PermissionsForm(Form):
|
|||||||
description=translate(
|
description=translate(
|
||||||
"portfolios.applications.members.form.team_mgmt.description"
|
"portfolios.applications.members.form.team_mgmt.description"
|
||||||
),
|
),
|
||||||
false_values=(False, "False", 'false', ''),
|
|
||||||
)
|
)
|
||||||
perms_del_env = BooleanField(
|
perms_del_env = BooleanField(
|
||||||
translate("portfolios.applications.members.form.del_env.label"),
|
translate("portfolios.applications.members.form.del_env.label"),
|
||||||
|
@ -9,7 +9,11 @@ from atst.domain.audit_log import AuditLog
|
|||||||
from atst.domain.common import Paginator
|
from atst.domain.common import Paginator
|
||||||
from atst.domain.environment_roles import EnvironmentRoles
|
from atst.domain.environment_roles import EnvironmentRoles
|
||||||
from atst.forms.application import ApplicationForm, EditEnvironmentForm
|
from atst.forms.application import ApplicationForm, EditEnvironmentForm
|
||||||
from atst.forms.application_member import NewForm as MemberForm, UpdateMemberForm, PermissionsForm
|
from atst.forms.application_member import (
|
||||||
|
NewForm as NewMemberForm,
|
||||||
|
UpdateMemberForm,
|
||||||
|
PermissionsForm,
|
||||||
|
)
|
||||||
from atst.forms.data import ENV_ROLE_NO_ACCESS as NO_ACCESS
|
from atst.forms.data import ENV_ROLE_NO_ACCESS as NO_ACCESS
|
||||||
from atst.domain.authz.decorator import user_can_access_decorator as user_can
|
from atst.domain.authz.decorator import user_can_access_decorator as user_can
|
||||||
from atst.models.environment_role import CSPRole
|
from atst.models.environment_role import CSPRole
|
||||||
@ -35,65 +39,21 @@ def get_environments_obj_for_app(application):
|
|||||||
return environments_obj
|
return environments_obj
|
||||||
|
|
||||||
|
|
||||||
def data_for_app_env_roles_form(application):
|
|
||||||
# this whole thing can be deleted when #1067 is rebased/merged! (and check other fns here)
|
|
||||||
csp_roles = [role.value for role in CSPRole]
|
|
||||||
csp_roles.insert(0, NO_ACCESS)
|
|
||||||
# dictionary for sorting application members by environments
|
|
||||||
# and roles within those environments
|
|
||||||
environments_dict = {
|
|
||||||
e.id: {role_name: [] for role_name in csp_roles}
|
|
||||||
for e in application.environments
|
|
||||||
}
|
|
||||||
for member in application.members:
|
|
||||||
env_ids = set(environments_dict.keys())
|
|
||||||
for env_role in member.environment_roles:
|
|
||||||
role_members_list = environments_dict[env_role.environment_id][
|
|
||||||
env_role.role
|
|
||||||
]
|
|
||||||
role_members_list.append(
|
|
||||||
{
|
|
||||||
"application_role_id": str(member.id),
|
|
||||||
"user_name": member.user_name,
|
|
||||||
"role_name": env_role.role,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
env_ids.remove(env_role.environment_id)
|
|
||||||
|
|
||||||
# any leftover environment IDs are ones the app member
|
|
||||||
# does not have access to
|
|
||||||
for env_id in env_ids:
|
|
||||||
role_members_list = environments_dict[env_id][NO_ACCESS]
|
|
||||||
role_members_list.append(
|
|
||||||
{
|
|
||||||
"application_role_id": str(member.id),
|
|
||||||
"user_name": member.user_name,
|
|
||||||
"role_name": NO_ACCESS,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
# transform the data into the shape the form needs
|
|
||||||
nested_data = [
|
|
||||||
{
|
|
||||||
"env_id": env_id,
|
|
||||||
"team_roles": [
|
|
||||||
{"role": role, "members": members} for role, members in roles.items()
|
|
||||||
],
|
|
||||||
}
|
|
||||||
for env_id, roles in environments_dict.items()
|
|
||||||
]
|
|
||||||
|
|
||||||
return {"envs": nested_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 = {
|
||||||
"perms_team_mgmt": "True",
|
"perms_team_mgmt": bool(
|
||||||
# "perms_team_mgmt": bool(member.has_permission_set(PermissionSets.EDIT_APPLICATION_TEAM)),
|
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)),
|
"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 = [
|
||||||
@ -132,7 +92,7 @@ def get_new_member_form(application):
|
|||||||
for e in application.environments
|
for e in application.environments
|
||||||
]
|
]
|
||||||
|
|
||||||
return MemberForm(data={"environment_roles": env_roles})
|
return NewMemberForm(data={"environment_roles": env_roles})
|
||||||
|
|
||||||
|
|
||||||
def render_settings_page(application, **kwargs):
|
def render_settings_page(application, **kwargs):
|
||||||
@ -302,7 +262,7 @@ def delete_environment(environment_id):
|
|||||||
)
|
)
|
||||||
def create_member(application_id):
|
def create_member(application_id):
|
||||||
application = Applications.get(application_id)
|
application = Applications.get(application_id)
|
||||||
form = MemberForm(http_request.form)
|
form = NewMemberForm(http_request.form)
|
||||||
|
|
||||||
if form.validate():
|
if form.validate():
|
||||||
try:
|
try:
|
||||||
@ -371,5 +331,4 @@ def remove_member(application_id, application_role_id):
|
|||||||
)
|
)
|
||||||
@user_can(Permissions.EDIT_APPLICATION_MEMBER, message="update application member")
|
@user_can(Permissions.EDIT_APPLICATION_MEMBER, message="update application member")
|
||||||
def update_member(application_id, application_role_id):
|
def update_member(application_id, application_role_id):
|
||||||
import ipdb; ipdb.set_trace()
|
return redirect(url_for("applications.settings", application_id=g.application.id))
|
||||||
pass
|
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
<legend>
|
<legend>
|
||||||
{{ field(id=id, checked=True, **{"v-model": "isChecked"}) }}
|
{{ field(id=id, checked=True, **{"v-model": "isChecked"}) }}
|
||||||
{{ field.label(for=id) | safe }}
|
{{ field.label(for=id) | safe }}
|
||||||
{{ field.data }}
|
|
||||||
|
|
||||||
{% if field.description %}
|
{% if field.description %}
|
||||||
<p class='usa-input__help'>
|
<p class='usa-input__help'>
|
||||||
|
@ -91,11 +91,11 @@
|
|||||||
</a>
|
</a>
|
||||||
{{ MultiStepModalForm(
|
{{ MultiStepModalForm(
|
||||||
name=new_member_modal_name,
|
name=new_member_modal_name,
|
||||||
form=member.form,
|
form=new_member_form,
|
||||||
form_action=url_for("applications.create_member", application_id=application.id),
|
form_action=url_for("applications.create_member", application_id=application.id),
|
||||||
steps=[
|
steps=[
|
||||||
member_steps.MemberStepOne(member.form),
|
member_steps.MemberStepOne(new_member_form),
|
||||||
member_steps.MemberStepTwo(member.form, application)
|
member_steps.MemberStepTwo(new_member_form, application)
|
||||||
],
|
],
|
||||||
) }}
|
) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -122,9 +122,9 @@
|
|||||||
{% for member in members %}
|
{% for member in members %}
|
||||||
{% set modal_name = "edit_member-{}".format(loop.index) %}
|
{% set modal_name = "edit_member-{}".format(loop.index) %}
|
||||||
{% call Modal(modal_name, dismissable=True) %}
|
{% call Modal(modal_name, dismissable=True) %}
|
||||||
<form id='{{ modal_name }}' method="POST" action="{{ url_for('applications.update_member', application_id=application.id, application_role_id=member.role_id) }}">
|
<form id='{{ modal_name }}' method="POST" action="{{ url_for('applications.update_member', application_id=application.id, application_role_id=member.role_id) }}">
|
||||||
{{ member.form.csrf_token() }}
|
{{ member.form.csrf_token }}
|
||||||
<h4>{{ "portfolios.applications.members.form.project_perms" | translate }}</h4>
|
<h4>{{ "portfolios.applications.members.form.project_perms" | translate }}</h4>
|
||||||
<div class="application-perms">
|
<div class="application-perms">
|
||||||
{% set team_mgmt = "perms_team_mgmt-{}".format(member.role_id) %}
|
{% set team_mgmt = "perms_team_mgmt-{}".format(member.role_id) %}
|
||||||
{% set env_mgmt = "perms_env_mgmt-{}".format(member.role_id) %}
|
{% set env_mgmt = "perms_env_mgmt-{}".format(member.role_id) %}
|
||||||
|
@ -41,9 +41,9 @@ def test_update_member_form():
|
|||||||
form_data = {
|
form_data = {
|
||||||
"member_role_id": 123,
|
"member_role_id": 123,
|
||||||
"permission_sets": {
|
"permission_sets": {
|
||||||
"perms_team_mgmt": PermissionSets.EDIT_APPLICATION_TEAM,
|
"perms_team_mgmt": True,
|
||||||
"perms_env_mgmt": PermissionSets.VIEW_APPLICATION,
|
"perms_env_mgmt": False,
|
||||||
"perms_del_env": PermissionSets.VIEW_APPLICATION,
|
"perms_del_env": False,
|
||||||
},
|
},
|
||||||
"environment_roles": {
|
"environment_roles": {
|
||||||
"environment_id": 123,
|
"environment_id": 123,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user