{% 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 %} {% macro MemberManagementTemplate( application, members, new_member_form, action) %}

{{ '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 %} {%- 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 member.role_status == 'pending' %} {% 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 member.role_status == 'pending' -%} {% 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 modal_name = "edit_member-{}".format(loop.index) %} {% endfor %}
Name Application Permissions Environment Access
{{ member.user_name }} {{ Icon('edit') }}
{% if member.role_status == 'pending' %} {{ Label('envelope', 'invite pending', 'success', classes='label--below') }} {% endif %}
{% 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 }}
{% endfor %}
{% if member.role_status == 'pending' -%} {% set revoke_invite_modal = "revoke_invite_{}".format(member.role_id) %} {% set resend_invite_modal = "resend_invite-{}".format(member.role_id) %} Resend Invite
{% if user_can(permissions.DELETE_APPLICATION_MEMBER) -%} {{ 'invites.revoke' | translate }} {%- 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, application_id=application.id), steps=[ member_steps.MemberStepOne(new_member_form), member_steps.MemberStepTwo(new_member_form, application) ], ) }} {% endif %}
{% endmacro %}