From 13bc830536cf69932f9dbf338ba02534ad7b1b68 Mon Sep 17 00:00:00 2001 From: leigh-mil Date: Mon, 30 Sep 2019 16:24:03 -0400 Subject: [PATCH] Add update invite form to settings page and move user info page of member form into its own macro --- .secrets.baseline | 2 +- atst/routes/applications/settings.py | 8 ++ .../fragments/member_form_fields.html | 71 ++++++++++++++++ .../fragments/member_perms_form_fields.html | 52 ------------ .../fragments/new_member_modal_content.html | 24 +----- templates/applications/settings.html | 10 ++- templates/fragments/members.html | 82 ++++++++++++++----- 7 files changed, 151 insertions(+), 98 deletions(-) create mode 100644 templates/applications/fragments/member_form_fields.html delete mode 100644 templates/applications/fragments/member_perms_form_fields.html diff --git a/.secrets.baseline b/.secrets.baseline index a203d223..bc5bea51 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "^.secrets.baseline$", "lines": null }, - "generated_at": "2019-09-30T16:06:53Z", + "generated_at": "2019-10-02T23:24:50Z", "plugins_used": [ { "base64_limit": 4.5, diff --git a/atst/routes/applications/settings.py b/atst/routes/applications/settings.py index 87b5dd7f..18b92603 100644 --- a/atst/routes/applications/settings.py +++ b/atst/routes/applications/settings.py @@ -96,6 +96,13 @@ def get_members_data(application): form = UpdateMemberForm( environment_roles=env_roles_form_data, **permission_sets ) + update_invite_form = None + + if member.latest_invitation and member.latest_invitation.can_resend: + update_invite_form = MemberForm(obj=member.latest_invitation) + else: + update_invite_form = MemberForm() + members_data.append( { "role_id": member.id, @@ -104,6 +111,7 @@ def get_members_data(application): "environment_roles": environment_roles, "role_status": member.status.value, "form": form, + "update_invite_form": update_invite_form, } ) diff --git a/templates/applications/fragments/member_form_fields.html b/templates/applications/fragments/member_form_fields.html new file mode 100644 index 00000000..96c6966b --- /dev/null +++ b/templates/applications/fragments/member_form_fields.html @@ -0,0 +1,71 @@ +{% from "components/checkbox_input.html" import CheckboxInput %} +{% from "components/text_input.html" import TextInput %} +{% from "components/phone_input.html" import PhoneInput %} + +{% macro PermsFields(form, new=False, member_role_id=None) %} +

{{ "portfolios.applications.members.form.project_perms" | translate }}

+
+ {% if new %} + {% set team_mgmt = form.perms_team_mgmt.name %} + {% set env_mgmt = form.perms_env_mgmt.name %} + {% set del_env = form.perms_del_env.name %} + {% else %} + {% set team_mgmt = "perms_team_mgmt-{}".format(member_role_id) %} + {% set env_mgmt = "perms_env_mgmt-{}".format(member_role_id) %} + {% set del_env = "perms_del_env-{}".format(member_role_id) %} + {% endif %} + + {{ CheckboxInput(form.perms_team_mgmt, classes="input__inline-fields", key=team_mgmt, id=team_mgmt, optional=True) }} + {{ CheckboxInput(form.perms_env_mgmt, classes="input__inline-fields", key=env_mgmt, id=env_mgmt, optional=True) }} + {{ CheckboxInput(form.perms_del_env, classes="input__inline-fields", key=del_env, id=del_env, optional=True) }} +
+
+

{{ "portfolios.applications.members.form.env_access" | translate }}

+
+ {% for environment_data in form.environment_roles %} + +
+
+
+
+ +
+ {{ environment_data.environment_name.data }} +
+
+
+
+ {{ environment_data.role(**{"v-model": "value"}) }} +
+
+
+
+
+ {{ environment_data.environment_id() }} +
+ {% endfor %} +
+{% endmacro %} + +{% macro InfoFields(member_form) %} +
+ {{ TextInput(member_form.first_name, validation='requiredField', optional=False) }} +
+
+ {{ TextInput(member_form.last_name, validation='requiredField', optional=False) }} +
+
+ {{ TextInput(member_form.email, validation='email', optional=False) }} +
+
+ {{ PhoneInput(member_form.phone_number, member_form.phone_ext)}} +
+
+ {{ TextInput(member_form.dod_id, validation='dodId', optional=False) }} +
+ How do I find the DoD ID? +{% endmacro %} diff --git a/templates/applications/fragments/member_perms_form_fields.html b/templates/applications/fragments/member_perms_form_fields.html deleted file mode 100644 index c0261ed3..00000000 --- a/templates/applications/fragments/member_perms_form_fields.html +++ /dev/null @@ -1,52 +0,0 @@ -{% from "components/checkbox_input.html" import CheckboxInput %} - -{% macro MemberPermsFields(form, new=False, member_role_id=None) %} -
-

{{ "portfolios.applications.members.form.project_perms" | translate }}

-
- {% if new %} - {% set team_mgmt = form.perms_team_mgmt.name %} - {% set env_mgmt = form.perms_env_mgmt.name %} - {% set del_env = form.perms_del_env.name %} - {% else %} - {% set team_mgmt = "perms_team_mgmt-{}".format(member_role_id) %} - {% set env_mgmt = "perms_env_mgmt-{}".format(member_role_id) %} - {% set del_env = "perms_del_env-{}".format(member_role_id) %} - {% endif %} - - {{ CheckboxInput(form.perms_team_mgmt, classes="input__inline-fields", key=team_mgmt, id=team_mgmt, optional=True) }} - {{ CheckboxInput(form.perms_env_mgmt, classes="input__inline-fields", key=env_mgmt, id=env_mgmt, optional=True) }} - {{ CheckboxInput(form.perms_del_env, classes="input__inline-fields", key=del_env, id=del_env, optional=True) }} -
-
-

{{ "portfolios.applications.members.form.env_access" | translate }}

-
- {% for environment_data in form.environment_roles %} - -
-
-
-
- -
- {{ environment_data.environment_name.data }} -
-
-
-
- {{ environment_data.role(**{"v-model": "value"}) }} -
-
-
-
-
- {{ environment_data.environment_id() }} -
- {% endfor %} -
-
-{% endmacro %} diff --git a/templates/applications/fragments/new_member_modal_content.html b/templates/applications/fragments/new_member_modal_content.html index bc3bd4d2..94bbc64e 100644 --- a/templates/applications/fragments/new_member_modal_content.html +++ b/templates/applications/fragments/new_member_modal_content.html @@ -1,8 +1,5 @@ {% from "components/icon.html" import Icon %} -{% from "components/text_input.html" import TextInput %} -{% from "components/checkbox_input.html" import CheckboxInput %} -{% from "components/phone_input.html" import PhoneInput %} -{% from "applications/fragments/member_perms_form_fields.html" import MemberPermsFields %} +{% import "applications/fragments/member_form_fields.html" as member_fields %} {% macro MemberFormTemplate(title, next_button, previous=True) %}