Update NewMemberForm so that it has the same data structure as the UpdateMemberForm

This commit is contained in:
leigh-mil
2019-09-18 10:53:09 -04:00
parent a7f9be5d48
commit b35e8cfe8e
6 changed files with 31 additions and 27 deletions

View File

@@ -50,18 +50,17 @@ class PermissionsForm(FlaskForm):
),
)
class NewForm(BaseForm):
user_data = FormField(BaseNewMemberForm)
permission_sets = FormField(PermissionsForm)
environment_roles = FieldList(FormField(EnvironmentForm))
class UpdateMemberForm(PermissionsForm):
environment_roles = FieldList(FormField(EnvironmentForm))
@property
def data(self):
_data = super().data
_data.pop("csrf_token", None)
return _data
class NewForm(PermissionsForm):
user_data = FormField(BaseNewMemberForm)
environment_roles = FieldList(FormField(EnvironmentForm))
class UpdateMemberForm(PermissionsForm):
environment_roles = FieldList(FormField(EnvironmentForm))

View File

@@ -166,6 +166,12 @@ def perm_sets_obj_to_list(perms_obj):
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")
@user_can(Permissions.VIEW_APPLICATION, message="view application edit form")
def settings(application_id):
@@ -301,11 +307,12 @@ def create_member(application_id):
if form.validate():
try:
perm_sets = get_perms_set_form_data(form.data)
invite = Applications.invite(
application=application,
inviter=g.current_user,
user_data=form.user_data.data,
permission_sets_names=perm_sets_obj_to_list(form.permission_sets.data),
permission_sets_names=perm_sets_obj_to_list(perm_sets),
environment_roles_data=form.environment_roles.data,
)
@@ -370,9 +377,7 @@ def update_member(application_id, application_role_id):
form = UpdateMemberForm(http_request.form)
if form.validate():
perm_sets = {
key: value for key, value in form.data.items() if key != "environment_roles"
}
perm_sets = get_perms_set_form_data(form.data)
new_perm_sets_names = perm_sets_obj_to_list(perm_sets)
ApplicationRoles.update_permission_sets(app_role, new_perm_sets_names)