diff --git a/js/components/forms/multi_step_modal_form.js b/js/components/forms/multi_step_modal_form.js index f0742336..3ef31b81 100644 --- a/js/components/forms/multi_step_modal_form.js +++ b/js/components/forms/multi_step_modal_form.js @@ -9,7 +9,7 @@ import toggler from '../toggler' export default { name: 'multi-step-modal-form', - mixins: [FormMixin, Modal], + mixins: [FormMixin], components: { toggler, @@ -38,7 +38,7 @@ export default { mounted: function() { this.$root.$on('field-change', this.handleValidChange) - this.$on('modalOpen', this.handleModalOpen) + this.$root.$on('modalOpen', this.handleModalOpen) }, methods: { diff --git a/js/mixins/modal.js b/js/mixins/modal.js index b865097d..1a2fec6c 100644 --- a/js/mixins/modal.js +++ b/js/mixins/modal.js @@ -17,8 +17,21 @@ export default { filter: idSelector, }) }, + + // TODO: activeModal should be tracked on the root + handleModalOpen: function(event) { + if (!event.isOpen) { + this.activeModal = null + } + }, }, + + mounted: function() { + this.$root.$on('modalOpen', this.handleModalOpen) + }, + data: function() { + // TODO: only the root component should know about the activeModal return { activeModal: null, allyHandler: null, diff --git a/templates/components/modal.html b/templates/components/modal.html index c7b582ff..cb9426c1 100644 --- a/templates/components/modal.html +++ b/templates/components/modal.html @@ -1,7 +1,7 @@ {% from "components/icon.html" import Icon %} {% macro Modal(name, dismissable=False, classes="") -%} -
+
+ {% call ToggleSection(section_name="environments") %} + + {% endcall %} + {{ member_form.user_id() }} + + +{% endfor %} diff --git a/templates/portfolios/applications/team.html b/templates/portfolios/applications/team.html index a9d22924..c7270c05 100644 --- a/templates/portfolios/applications/team.html +++ b/templates/portfolios/applications/team.html @@ -23,16 +23,18 @@ {% endif %} {% if user_can_invite %} + {% set new_member_modal_name = "add-app-mem" %} + + {{ "portfolios.applications.team_settings.blank_slate.action_label" | translate }} + {{ MultiStepModalForm( - name='add-app-mem', + name=new_member_modal_name, form=new_member_form, form_action=url_for("applications.create_member", application_id=application.id), steps=[ member_steps.MemberStepOne(new_member_form), member_steps.MemberStepTwo(new_member_form, application) ], - button_text=("portfolios.applications.team_settings.blank_slate.action_label" | translate), - link_classes="usa-button usa-button-big" ) }} {% endif %}
@@ -44,64 +46,81 @@
-
- {% if g.matchesPath("application-members") %} - {% include "fragments/flash.html" %} - {% endif %} -
-
-
-
- {{ "portfolios.applications.team_settings.section.title" | translate({ "application_name": application.name }) }} +
+
+ {% if g.matchesPath("application-members") %} + {% include "fragments/flash.html" %} + {% endif %} +
+
+
+
+ {{ "portfolios.applications.team_settings.section.title" | translate({ "application_name": application.name }) }} +
+ + {{ Icon('info') }} + {{ "portfolios.admin.settings_info" | translate }} +
- - {{ Icon('info') }} - {{ "portfolios.admin.settings_info" | translate }} - -
-
+
-
-
-
- {{ "common.name" | translate }} +
+
+
+ {{ "common.name" | translate }} +
+
+ {{ "portfolios.applications.team_settings.section.table.team_management" | translate }} +
+
+ {{ "portfolios.applications.team_settings.section.table.environment_management" | translate }} +
+
+ {{ "portfolios.applications.team_settings.section.table.delete_access" | translate }} +
+
+   +
-
- {{ "portfolios.applications.team_settings.section.table.team_management" | translate }} -
-
- {{ "portfolios.applications.team_settings.section.table.environment_management" | translate }} -
-
- {{ "portfolios.applications.team_settings.section.table.delete_access" | translate }} -
-
-   +
    + {% if user_can(permissions.EDIT_APPLICATION_MEMBER) %} + {% include "fragments/applications/edit_team.html" %} + {% elif user_can(permissions.VIEW_APPLICATION_MEMBER) %} + {% include "fragments/applications/read_only_team.html" %} + {% endif %} +
+
+ + -
    - {% if user_can(permissions.EDIT_APPLICATION_MEMBER) %} - {% include "fragments/applications/edit_team.html" %} - {% elif user_can(permissions.VIEW_APPLICATION_MEMBER) %} - {% include "fragments/applications/read_only_team.html" %} - {% endif %} -
- - - -
+ + {% if user_can(permissions.CREATE_APPLICATION_MEMBER) %} + {% import "fragments/applications/new_member_modal_content.html" as member_steps %} + {{ MultiStepModalForm( + name=new_member_modal_name, + form=new_member_form, + form_action=url_for("applications.create_member", application_id=application.id), + steps=[ + member_steps.MemberStepOne(new_member_form), + member_steps.MemberStepTwo(new_member_form, application) + ], + ) }} + {% endif %}
{% endif %} {% endblock %}