From de41afa935e4d876d32ad9fd2d83e04ce2f5d680 Mon Sep 17 00:00:00 2001 From: Montana Date: Thu, 2 May 2019 13:51:41 -0400 Subject: [PATCH] Add form to template - do not use None as a dropdown value because it was causing issues - cleans up some comments --- atst/forms/team.py | 17 +++-- atst/routes/applications/team.py | 1 + .../fragments/applications/edit_team.html | 70 ++++++++++--------- templates/portfolios/applications/team.html | 2 +- 4 files changed, 50 insertions(+), 40 deletions(-) diff --git a/atst/forms/team.py b/atst/forms/team.py index f9661f72..fbbdffe5 100644 --- a/atst/forms/team.py +++ b/atst/forms/team.py @@ -12,27 +12,25 @@ class PermissionsForm(FlaskForm): perms_env_mgmt = SelectField( translate("portfolios.applications.members.new.manage_envs"), choices=[ - (None, "View only"), + ("", "View only"), (PermissionSets.EDIT_APPLICATION_ENVIRONMENTS, "Edit access"), ], - filters=[BaseForm.remove_empty_string], ) perms_team_mgmt = SelectField( translate("portfolios.applications.members.new.manage_team"), choices=[ - (None, "View only"), + ("", "View only"), (PermissionSets.EDIT_APPLICATION_TEAM, "Edit access"), ], - filters=[BaseForm.remove_empty_string], ) perms_del_env = SelectField( - choices=[(None, "No"), (PermissionSets.DELETE_APPLICATION_ENVIRONMENTS, "Yes")], - filters=[BaseForm.remove_empty_string], + choices=[("", "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: @@ -47,6 +45,13 @@ class MemberForm(FlaskForm): environment_roles = FieldList(FormField(EnvironmentForm)) permission_sets = FormField(PermissionsForm) + @property + def data(self): + _data = super().data + _data.pop("csrf_token", None) + + return _data + class TeamForm(BaseForm): members = FieldList(FormField(MemberForm)) diff --git a/atst/routes/applications/team.py b/atst/routes/applications/team.py index 8bee43ec..22b5b78e 100644 --- a/atst/routes/applications/team.py +++ b/atst/routes/applications/team.py @@ -32,6 +32,7 @@ def team(application_id): team_data = [] for member in application.members: user_id = member.user.id + # TODO: if no members, we get a server error user_name = member.user.full_name environment_users[user_id] = { "permissions": { diff --git a/templates/fragments/applications/edit_team.html b/templates/fragments/applications/edit_team.html index 094ccf40..a88361d6 100644 --- a/templates/fragments/applications/edit_team.html +++ b/templates/fragments/applications/edit_team.html @@ -4,40 +4,44 @@ {% set environment_roles_form = member_form.environment_roles %} {% set permissions_form = member_form.permission_sets %} - -
  • -
    -
    {{ member_form.user_name.data }}
    -
    {{ OptionsInput(permissions_form.perms_team_mgmt, label=False, watch=True) }}
    -
    {{ OptionsInput(permissions_form.perms_env_mgmt, label=False, watch=True) }}
    -
    {{ OptionsInput(permissions_form.perms_del_env, label=False, watch=True) }}
    - - {% call ToggleSection(section_name="environments") %} -
      - {% for environment_form in environment_roles_form %} -
    • - {{ environment_form.environment_name.data }} -
    • - {% endfor %} -
    - {% endcall %} -
  • -
    + {% call ToggleSection(section_name="environments") %} + + {% endcall %} + {{ member_form.user_id() }} + + + {% endfor %} diff --git a/templates/portfolios/applications/team.html b/templates/portfolios/applications/team.html index f6df4f25..b80b070f 100644 --- a/templates/portfolios/applications/team.html +++ b/templates/portfolios/applications/team.html @@ -73,7 +73,7 @@