Populate form w/ data
This commit is contained in:
@@ -34,6 +34,7 @@ class PermissionsForm(FlaskForm):
|
|||||||
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"),
|
||||||
@@ -41,6 +42,7 @@ class PermissionsForm(FlaskForm):
|
|||||||
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"),
|
||||||
@@ -73,40 +75,6 @@ class NewForm(BaseForm):
|
|||||||
environment_roles = FieldList(FormField(EnvironmentForm))
|
environment_roles = FieldList(FormField(EnvironmentForm))
|
||||||
|
|
||||||
|
|
||||||
class UpdatePermissionsForm(FlaskForm):
|
|
||||||
perms_team_mgmt = SelectField(
|
|
||||||
translate("portfolios.applications.members.new.manage_team"),
|
|
||||||
choices=[
|
|
||||||
(PermissionSets.VIEW_APPLICATION, "View"),
|
|
||||||
(PermissionSets.EDIT_APPLICATION_TEAM, "Edit"),
|
|
||||||
],
|
|
||||||
)
|
|
||||||
perms_env_mgmt = SelectField(
|
|
||||||
translate("portfolios.applications.members.new.manage_envs"),
|
|
||||||
choices=[
|
|
||||||
(PermissionSets.VIEW_APPLICATION, "View"),
|
|
||||||
(PermissionSets.EDIT_APPLICATION_ENVIRONMENTS, "Edit"),
|
|
||||||
],
|
|
||||||
)
|
|
||||||
perms_del_env = SelectField(
|
|
||||||
choices=[
|
|
||||||
(PermissionSets.VIEW_APPLICATION, "No"),
|
|
||||||
(PermissionSets.DELETE_APPLICATION_ENVIRONMENTS, "Yes"),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def data(self):
|
|
||||||
_data = super().data
|
|
||||||
_data.pop("csrf_token", None)
|
|
||||||
permission_sets = []
|
|
||||||
for field in _data:
|
|
||||||
if _data[field] is not None:
|
|
||||||
permission_sets.append(_data[field])
|
|
||||||
|
|
||||||
return permission_sets
|
|
||||||
|
|
||||||
|
|
||||||
class UpdateMemberForm(BaseForm):
|
class UpdateMemberForm(BaseForm):
|
||||||
permission_sets = FormField(PermissionsForm)
|
permission_sets = FormField(PermissionsForm)
|
||||||
environment_roles = FieldList(FormField(EnvironmentForm))
|
environment_roles = FieldList(FormField(EnvironmentForm))
|
||||||
|
@@ -9,7 +9,7 @@ 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
|
from atst.forms.application_member import NewForm as MemberForm, 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
|
||||||
@@ -86,29 +86,14 @@ def data_for_app_env_roles_form(application):
|
|||||||
return {"envs": nested_data}
|
return {"envs": nested_data}
|
||||||
|
|
||||||
|
|
||||||
def get_form_permission_value(member, edit_perm_set):
|
|
||||||
if member.has_permission_set(edit_perm_set):
|
|
||||||
return edit_perm_set
|
|
||||||
else:
|
|
||||||
return PermissionSets.VIEW_APPLICATION
|
|
||||||
|
|
||||||
|
|
||||||
def get_members_data(application):
|
def get_members_data(application):
|
||||||
members_data = []
|
members_data = []
|
||||||
for member in application.members:
|
for member in application.members:
|
||||||
perms_team_mgmt = get_form_permission_value(
|
|
||||||
member, PermissionSets.EDIT_APPLICATION_TEAM
|
|
||||||
)
|
|
||||||
perms_env_mgmt = get_form_permission_value(
|
|
||||||
member, PermissionSets.EDIT_APPLICATION_ENVIRONMENTS
|
|
||||||
)
|
|
||||||
perms_del_env = get_form_permission_value(
|
|
||||||
member, PermissionSets.DELETE_APPLICATION_ENVIRONMENTS
|
|
||||||
)
|
|
||||||
permission_sets = {
|
permission_sets = {
|
||||||
"perms_team_mgmt": perms_team_mgmt,
|
"perms_team_mgmt": "True",
|
||||||
"perms_env_mgmt": perms_env_mgmt,
|
# "perms_team_mgmt": bool(member.has_permission_set(PermissionSets.EDIT_APPLICATION_TEAM)),
|
||||||
"perms_del_env": perms_del_env,
|
"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 = [
|
||||||
@@ -121,17 +106,16 @@ def get_members_data(application):
|
|||||||
]
|
]
|
||||||
form_data = {
|
form_data = {
|
||||||
"environment_roles": environment_roles,
|
"environment_roles": environment_roles,
|
||||||
"permission_sets": { "perms_env_mgmt": 'selected' },
|
"permission_sets": permission_sets,
|
||||||
}
|
}
|
||||||
# ['edit_application_environments', 'edit_application_team', 'delete_application_environments']
|
perms_form = PermissionsForm(data=permission_sets)
|
||||||
# ['edit_application_team']
|
form = UpdateMemberForm(environment_roles=environment_roles)
|
||||||
|
form.permission_sets = perms_form
|
||||||
# {'perms_team_mgmt': 'edit_application_team', 'perms_env_mgmt': 'view_application', 'perms_del_env': 'view_application'}
|
|
||||||
form = UpdateMemberForm(data=form_data)
|
|
||||||
members_data.append(
|
members_data.append(
|
||||||
{
|
{
|
||||||
"role_id": member.id,
|
"role_id": member.id,
|
||||||
"user_name": member.user_name,
|
"user_name": member.user_name,
|
||||||
|
# remove these keys and use form
|
||||||
"permission_sets": permission_sets,
|
"permission_sets": permission_sets,
|
||||||
"environment_roles": environment_roles,
|
"environment_roles": environment_roles,
|
||||||
"role_status": member.status.value,
|
"role_status": member.status.value,
|
||||||
|
@@ -366,14 +366,14 @@ portfolios:
|
|||||||
delete_envs: 'Allow member to <strong>delete environments</strong> within the application.'
|
delete_envs: 'Allow member to <strong>delete environments</strong> within the application.'
|
||||||
manage_team: 'Allow member to <strong>add, update,</strong> and <strong>remove members</strong> from the application team.'
|
manage_team: 'Allow member to <strong>add, update,</strong> and <strong>remove members</strong> from the application team.'
|
||||||
perms_team_mgmt:
|
perms_team_mgmt:
|
||||||
view_application: View Team
|
'False': View Team
|
||||||
edit_application_team: Edit Team
|
'True': Edit Team
|
||||||
perms_env_mgmt:
|
perms_env_mgmt:
|
||||||
view_application: View Environments
|
'False': View Environments
|
||||||
edit_application_environments: Edit Environments
|
'True': Edit Environments
|
||||||
perms_del_env:
|
perms_del_env:
|
||||||
view_application: ""
|
'False': ""
|
||||||
delete_application_environments: Delete Application
|
'True': Delete Application
|
||||||
index:
|
index:
|
||||||
empty:
|
empty:
|
||||||
start_button: Start a new JEDI portfolio
|
start_button: Start a new JEDI portfolio
|
||||||
|
Reference in New Issue
Block a user