Use data property of PermissionsForm to return the form data is the correct format
This commit is contained in:
@@ -2,10 +2,10 @@ from flask_wtf import FlaskForm
|
|||||||
from wtforms.fields import FormField, FieldList, HiddenField, BooleanField
|
from wtforms.fields import FormField, FieldList, HiddenField, BooleanField
|
||||||
from wtforms import Form
|
from wtforms import Form
|
||||||
|
|
||||||
from .forms import BaseForm
|
|
||||||
from .member import NewForm as BaseNewMemberForm
|
from .member import NewForm as BaseNewMemberForm
|
||||||
from .data import ENV_ROLES, ENV_ROLE_NO_ACCESS as NO_ACCESS
|
from .data import ENV_ROLES, ENV_ROLE_NO_ACCESS as NO_ACCESS
|
||||||
from atst.forms.fields import SelectField
|
from atst.forms.fields import SelectField
|
||||||
|
from atst.domain.permission_sets import PermissionSets
|
||||||
from atst.utils.localization import translate
|
from atst.utils.localization import translate
|
||||||
|
|
||||||
|
|
||||||
@@ -54,6 +54,18 @@ class PermissionsForm(FlaskForm):
|
|||||||
def data(self):
|
def data(self):
|
||||||
_data = super().data
|
_data = super().data
|
||||||
_data.pop("csrf_token", None)
|
_data.pop("csrf_token", None)
|
||||||
|
perm_sets = []
|
||||||
|
|
||||||
|
if _data["perms_env_mgmt"]:
|
||||||
|
perm_sets.append(PermissionSets.EDIT_APPLICATION_ENVIRONMENTS)
|
||||||
|
|
||||||
|
if _data["perms_team_mgmt"]:
|
||||||
|
perm_sets.append(PermissionSets.EDIT_APPLICATION_TEAM)
|
||||||
|
|
||||||
|
if _data["perms_del_env"]:
|
||||||
|
perm_sets.append(PermissionSets.DELETE_APPLICATION_ENVIRONMENTS)
|
||||||
|
|
||||||
|
_data["permission_sets"] = perm_sets
|
||||||
return _data
|
return _data
|
||||||
|
|
||||||
|
|
||||||
|
@@ -151,27 +151,6 @@ def send_application_invitation(invitee_email, inviter_name, token):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def perm_sets_obj_to_list(perms_obj):
|
|
||||||
perm_sets = []
|
|
||||||
|
|
||||||
if perms_obj["perms_env_mgmt"]:
|
|
||||||
perm_sets.append(PermissionSets.EDIT_APPLICATION_ENVIRONMENTS)
|
|
||||||
|
|
||||||
if perms_obj["perms_team_mgmt"]:
|
|
||||||
perm_sets.append(PermissionSets.EDIT_APPLICATION_TEAM)
|
|
||||||
|
|
||||||
if perms_obj["perms_del_env"]:
|
|
||||||
perm_sets.append(PermissionSets.DELETE_APPLICATION_ENVIRONMENTS)
|
|
||||||
|
|
||||||
return perm_sets
|
|
||||||
|
|
||||||
|
|
||||||
def get_perms_set_form_data(form_data):
|
|
||||||
return {
|
|
||||||
key: value for key, value in form_data.items() if key != "environment_roles"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@applications_bp.route("/applications/<application_id>/settings")
|
@applications_bp.route("/applications/<application_id>/settings")
|
||||||
@user_can(Permissions.VIEW_APPLICATION, message="view application edit form")
|
@user_can(Permissions.VIEW_APPLICATION, message="view application edit form")
|
||||||
def settings(application_id):
|
def settings(application_id):
|
||||||
@@ -307,12 +286,11 @@ def create_member(application_id):
|
|||||||
|
|
||||||
if form.validate():
|
if form.validate():
|
||||||
try:
|
try:
|
||||||
perm_sets = get_perms_set_form_data(form.data)
|
|
||||||
invite = Applications.invite(
|
invite = Applications.invite(
|
||||||
application=application,
|
application=application,
|
||||||
inviter=g.current_user,
|
inviter=g.current_user,
|
||||||
user_data=form.user_data.data,
|
user_data=form.user_data.data,
|
||||||
permission_sets_names=perm_sets_obj_to_list(perm_sets),
|
permission_sets_names=form.data["permission_sets"],
|
||||||
environment_roles_data=form.environment_roles.data,
|
environment_roles_data=form.environment_roles.data,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -377,9 +355,7 @@ def update_member(application_id, application_role_id):
|
|||||||
form = UpdateMemberForm(http_request.form)
|
form = UpdateMemberForm(http_request.form)
|
||||||
|
|
||||||
if form.validate():
|
if form.validate():
|
||||||
perm_sets = get_perms_set_form_data(form.data)
|
ApplicationRoles.update_permission_sets(app_role, form.data["permission_sets"])
|
||||||
new_perm_sets_names = perm_sets_obj_to_list(perm_sets)
|
|
||||||
ApplicationRoles.update_permission_sets(app_role, new_perm_sets_names)
|
|
||||||
|
|
||||||
for env_role in form.environment_roles:
|
for env_role in form.environment_roles:
|
||||||
environment = Environments.get(env_role.environment_id.data)
|
environment = Environments.get(env_role.environment_id.data)
|
||||||
|
Reference in New Issue
Block a user