{% from "components/icon.html" import Icon %} {% from "components/label.html" import Label %} {% import "components/member_form.html" as member_form %} {% import "applications/fragments/member_form_fields.html" as member_fields %} {% from "components/modal.html" import Modal %} {% from "components/multi_step_modal_form.html" import MultiStepModalForm %} {% from "components/save_button.html" import SaveButton %} {% from "components/toggle_menu.html" import ToggleMenu %} {% macro MemberManagementTemplate( application, members, new_member_form, action_new, action_update) %}

{{ 'portfolios.applications.settings.team_members' | translate }}

{% if g.matchesPath("application-members") %} {% include "fragments/flash.html" %} {% endif %}
{% if not application.members %}

{{ ("portfolios.applications.members.blank_slate" | translate) }}

{% else %} {% for member in members %} {% set invite_pending = member.role_status == 'invite_pending' %} {% set invite_expired = member.role_status == 'invite_expired' %} {%- if user_can(permissions.EDIT_APPLICATION_MEMBER) %} {% set modal_name = "edit_member-{}".format(loop.index) %} {% call Modal(modal_name, classes="form-content--member-form") %} {% endcall %} {%- if invite_pending or invite_expired %} {% set resend_invite_modal = "resend_invite-{}".format(member.role_id) %} {% call Modal(resend_invite_modal, classes="form-content--member-form") %}
{{ member.update_invite_form.csrf_token }} {{ member_form.SubmitStep( name=resend_invite_modal, form=member_fields.InfoFields(member.update_invite_form), submit_text="Resend Invite", previous=False, modal=resend_invite_modal, ) }}
{% endcall %} {% endif -%} {% endif -%} {% if user_can(permissions.DELETE_APPLICATION_MEMBER) and (invite_pending or invite_expired) -%} {% set revoke_invite_modal = "revoke_invite_{}".format(member.role_id) %} {% call Modal(name=revoke_invite_modal) %}
{{ member.form.csrf_token }}

{{ "invites.revoke" | translate }}


{{ "invites.revoke_modal_text" | translate({"application": application.name}) }}
{% endcall %} {%- endif %} {% endfor %}
{% for member in members %} {% set perms_modal = "edit_member-{}".format(loop.index) %} {% set invite_pending = member.role_status == 'invite_pending' %} {% set invite_expired = member.role_status == 'invite_expired' %} {% endfor %}
{{ "common.name" | translate }} {{ "portfolios.applications.members.form.app_perms.title" | translate }} {{ 'portfolios.applications.members.form.env_access.table_header' | translate }}
{{ member.user_name }}
{{ Label(type=member.role_status, classes='label--below') }}
{% for perm, value in member.permission_sets.items() %}
{{ ("portfolios.applications.members.{}.{}".format(perm, value)) | translate }}
{% endfor %}
{% for env in member.environment_roles %}
{{ env.environment_name }} : {{ env.role }}
{% endfor %} {% if user_can(permissions.EDIT_APPLICATION_MEMBER) -%} {% call ToggleMenu() %} {{ "portfolios.applications.members.menu.edit" | translate }} {% if invite_pending or invite_expired -%} {% set revoke_invite_modal = "revoke_invite_{}".format(member.role_id) %} {% set resend_invite_modal = "resend_invite-{}".format(member.role_id) %} {{ "portfolios.applications.members.menu.resend" | translate }} {% if user_can(permissions.DELETE_APPLICATION_MEMBER) -%} {{ 'invites.revoke' | translate }} {%- endif %} {%- endif %} {% endcall %} {%- endif %}
{% endif %} {% if user_can(permissions.CREATE_APPLICATION_MEMBER) %} {% set new_member_modal_name = "add-app-mem" %} {{ "portfolios.applications.add_member" | translate }} {{ MultiStepModalForm( name=new_member_modal_name, form=new_member_form, form_action=url_for(action_new, application_id=application.id), steps=[ member_form.BasicStep( title="portfolios.applications.members.form.add_member"|translate, form=member_fields.InfoFields(new_member_form.user_data), next_button_text="portfolios.applications.members.form.next_button"|translate, previous=False, modal=new_member_modal_name, ), member_form.SubmitStep( name=new_member_modal_name, form=member_fields.PermsFields(form=new_member_form, new=True), submit_text="common.save_changes"|translate, modal=new_member_modal_name, ) ], classes="form-content--member-form", ) }} {% endif %}
{% endmacro %}