Import macro with context to supply perms

A bug was caused by using the MemberManagementTemplate macro and not supplying all of the necessary
kwargs. Intially, this bug was fixed by supplying the kwargs used by the
macro at the time, but in this refactor, we simply remove those kwargs
and refer to the permissions directly in the template by importing the
macro with context.
This commit is contained in:
graham-dds 2019-10-22 09:32:36 -04:00
parent e39adb9532
commit 0d3aff54c9
3 changed files with 13 additions and 28 deletions

View File

@ -2,7 +2,7 @@
{% extends "applications/base.html" %} {% extends "applications/base.html" %}
{% from "fragments/members.html" import MemberManagementTemplate %} {% from "fragments/members.html" import MemberManagementTemplate with context %}
{% set secondary_breadcrumb = 'portfolios.applications.new_application_title' | translate %} {% set secondary_breadcrumb = 'portfolios.applications.new_application_title' | translate %}
{% block portfolio_header %} {% block portfolio_header %}
@ -21,11 +21,7 @@
application, application,
members, members,
new_member_form, new_member_form,
"applications.update_new_application_step_3", "applications.update_new_application_step_3") }}
user_can_create_app_member=user_can(permissions.CREATE_APPLICATION_MEMBER),
user_can_edit_app_member=user_can(permissions.EDIT_APPLICATION_MEMBER),
user_can_delete_app_member=user_can(permissions.DELETE_APPLICATION_MEMBER),
) }}
<span class="action-group-footer"> <span class="action-group-footer">

View File

@ -3,7 +3,7 @@
{% from "components/alert.html" import Alert %} {% from "components/alert.html" import Alert %}
{% from "components/delete_confirmation.html" import DeleteConfirmation %} {% from "components/delete_confirmation.html" import DeleteConfirmation %}
{% from "fragments/environments.html" import EnvironmentManagementTemplate %} {% from "fragments/environments.html" import EnvironmentManagementTemplate %}
{% from "fragments/members.html" import MemberManagementTemplate %} {% from "fragments/members.html" import MemberManagementTemplate with context %}
{% from "components/modal.html" import Modal %} {% from "components/modal.html" import Modal %}
{% from "components/pagination.html" import Pagination %} {% from "components/pagination.html" import Pagination %}
{% from "components/save_button.html" import SaveButton %} {% from "components/save_button.html" import SaveButton %}
@ -52,11 +52,7 @@
application, application,
members, members,
new_member_form, new_member_form,
"applications.create_member", "applications.create_member") }}
user_can_create_app_member=user_can(permissions.CREATE_APPLICATION_MEMBER),
user_can_edit_app_member=user_can(permissions.EDIT_APPLICATION_MEMBER),
user_can_delete_app_member=user_can(permissions.DELETE_APPLICATION_MEMBER),
) }}
{{ EnvironmentManagementTemplate( {{ EnvironmentManagementTemplate(
application, application,

View File

@ -10,14 +10,7 @@
application, application,
members, members,
new_member_form, new_member_form,
action, action) %}
user_can_create_app_member=False,
user_can_edit_app_member=False,
user_can_delete_app_member=False
) %}
<div class="subheading" id="application-members"> <div class="subheading" id="application-members">
{{ 'portfolios.applications.settings.team_members' | translate }} {{ 'portfolios.applications.settings.team_members' | translate }}
@ -34,11 +27,11 @@
{{ Icon('avatar') }} {{ Icon('avatar') }}
{% if not user_can_create_app_member %} {% if not user_can(permissions.CREATE_APPLICATION_MEMBER) %}
<p class='empty-state__sub-message'>{{ ("portfolios.applications.team_settings.blank_slate.sub_message" | translate) }}</p> <p class='empty-state__sub-message'>{{ ("portfolios.applications.team_settings.blank_slate.sub_message" | translate) }}</p>
{% endif %} {% endif %}
{% if user_can_create_app_member %} {% if user_can(permissions.CREATE_APPLICATION_MEMBER) %}
{% set new_member_modal_name = "add-app-mem" %} {% set new_member_modal_name = "add-app-mem" %}
<a class="usa-button usa-button-big" v-on:click="openModal('{{ new_member_modal_name }}')"> <a class="usa-button usa-button-big" v-on:click="openModal('{{ new_member_modal_name }}')">
{{ "portfolios.applications.team_settings.blank_slate.action_label" | translate }} {{ "portfolios.applications.team_settings.blank_slate.action_label" | translate }}
@ -59,7 +52,7 @@
{% set new_member_modal_name = "add-app-mem" %} {% set new_member_modal_name = "add-app-mem" %}
{% for member in members %} {% for member in members %}
{%- if user_can_edit_app_member %} {%- if user_can(permissions.EDIT_APPLICATION_MEMBER) %}
{% set modal_name = "edit_member-{}".format(loop.index) %} {% set modal_name = "edit_member-{}".format(loop.index) %}
{% call Modal(modal_name, classes="form-content--app-mem") %} {% call Modal(modal_name, classes="form-content--app-mem") %}
<div class="modal__form--header"> <div class="modal__form--header">
@ -99,7 +92,7 @@
{% endif -%} {% endif -%}
{% endif -%} {% endif -%}
{% if user_can_delete_app_member and member.role_status == 'pending' -%} {% if user_can(permissions.DELETE_APPLICATION_MEMBER) and member.role_status == 'pending' -%}
{% set revoke_invite_modal = "revoke_invite_{}".format(member.role_id) %} {% set revoke_invite_modal = "revoke_invite_{}".format(member.role_id) %}
{% call Modal(name=revoke_invite_modal) %} {% call Modal(name=revoke_invite_modal) %}
<form method="post" action="{{ url_for('applications.revoke_invite', application_id=application.id, application_role_id=member.role_id) }}"> <form method="post" action="{{ url_for('applications.revoke_invite', application_id=application.id, application_role_id=member.role_id) }}">
@ -158,7 +151,7 @@
{% set revoke_invite_modal = "revoke_invite_{}".format(member.role_id) %} {% set revoke_invite_modal = "revoke_invite_{}".format(member.role_id) %}
{% set resend_invite_modal = "resend_invite-{}".format(member.role_id) %} {% set resend_invite_modal = "resend_invite-{}".format(member.role_id) %}
<a v-on:click='openModal("{{ resend_invite_modal }}")'>Resend Invite</a><br> <a v-on:click='openModal("{{ resend_invite_modal }}")'>Resend Invite</a><br>
{% if user_can_delete_app_member -%} {% if user_can(permissions.DELETE_APPLICATION_MEMBER) -%}
<a v-on:click='openModal("{{ revoke_invite_modal }}")'>{{ 'invites.revoke' | translate }}</a> <a v-on:click='openModal("{{ revoke_invite_modal }}")'>{{ 'invites.revoke' | translate }}</a>
{%- endif %} {%- endif %}
{%- endif %} {%- endif %}
@ -167,14 +160,14 @@
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
{% if user_can_create_app_member %} {% if user_can(permissions.CREATE_APPLICATION_MEMBER) %}
<a class="usa-button usa-button-secondary add-new-button" v-on:click="openModal('{{ new_member_modal_name }}')"> <a class="usa-button usa-button-secondary add-new-button" v-on:click="openModal('{{ new_member_modal_name }}')">
{{ "portfolios.applications.add_member" | translate }} {{ "portfolios.applications.add_member" | translate }}
</a> </a>
{% endif %} {% endif %}
</div> </div>
{% if user_can_create_app_member %} {% if user_can(permissions.CREATE_APPLICATION_MEMBER) %}
{{ MultiStepModalForm( {{ MultiStepModalForm(
name=new_member_modal_name, name=new_member_modal_name,
form=new_member_form, form=new_member_form,