{% from "components/alert.html" import Alert %} {% from "components/icon.html" import Icon %} {% from "components/label.html" import Label %} {% import "applications/fragments/new_member_modal_content.html" as member_steps %} {% 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_list.html" import ToggleButton, ToggleSection %} {% 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--app-mem") %} {% 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--app-mem") %}
{{ member.update_invite_form.csrf_token }} {{ member_fields.InfoFields(member.update_invite_form) }}
{{ SaveButton(text="Resend Invite")}} {{ "common.cancel" | translate }}
{% 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) -%}
{{ Icon('ellipsis')}} {{ Icon('ellipsis')}}
{{ "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 %}
{%- 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_steps.MemberStepOne(new_member_form), member_steps.MemberStepTwo(new_member_form, application) ], ) }} {% endif %}
{% endmacro %}