This commit is contained in:
leigh-mil
2019-10-28 16:49:46 -04:00
parent d33fcb6073
commit b653546768
2 changed files with 168 additions and 52 deletions

View File

@@ -1,55 +1,87 @@
{% from "components/alert.html" import Alert %}
{% from "components/checkbox_input.html" import CheckboxInput %}
{% from "components/text_input.html" import TextInput %}
{% from "components/phone_input.html" import PhoneInput %}
{% macro EnvRoleInput(field, member_role_id=None) %}
{% set role = field.role.data if not field.deleted.data else "Access Suspended" %}
<div class="form-row usa-input">
<div class="form-col form-col--two-thirds">
<div class="{% if field.deleted.data or field.role.data == 'No Access' %}env-role__no-access{% endif %}">
<div v-bind:class='["usa-input__title-inline", {"environment-name--gray": value === "None" }]'>
{{ field.environment_name.data }}
{% if field.role.data != "No Access" and not field.deleted.data -%}
<checkboxinput
name="'{{ field.deleted.name | string }}-{% if member_role_id %}-{{ member_role_id }}{% endif %}'"
inline-template
key="'{{ field.deleted.name | string }}-{% if member_role_id %}-{{ member_role_id }}{% endif %}'"
v-bind:initial-checked='{{ field.deleted.data|string|lower }}'
v-bind:optional="true"
>
<fieldset data-ally-disabled="true" v-on:change="onInput" class="usa-input__choices revoke-button">
{% set id = "{}-{}".format(field.deleted.name, member_role_id) %}
<div class="form-row" v-if="!isChecked">
<div class="form-col form-col--two-thirds">
<div class="usa-input__title-inline">
{{ field.environment_name.data }}
</div>
<p class="usa-input__help">
{{ role }}
</p>
</div>
<div class="form-col form-col--third">
{{ field.deleted(id=id, checked=True, **{"v-model": "isChecked"}) }}
{{ field.deleted.label(for=id, class="usa-button button-danger-outline") | safe }}
</div>
</div>
<p class="usa-input__help">
{{ role }}
</p>
<div v-else>
{% call Alert(level='warning') %}
<div class="form-row">
<div class="form-col form-col--two-thirds">
<div class="usa-input__title-inline">
{{ field.environment_name.data }}
</div>
<p class="usa-input__help">
Save changes to revoke access, <strong>this can not be undone.</strong>
</p>
</div>
<div class="form-col form-col--third">
{{ field.deleted(id=id, checked=True, **{"v-model": "isChecked"}) }}
<label for="{{ id }}" class="link">Undo</label>
</div>
</div>
{% endcall %}
</div>
</fieldset>
</checkboxinput>
{% else %}
<div class="form-row">
<!-- refactor this into its own macro? -->
<div class="form-col form-col--two-thirds">
<div class="usa-input {% if field.deleted.data or field.role.data == 'No Access' %}env-role__no-access{% endif %}">
<div class='usa-input__title-inline'>
{{ field.environment_name.data }}
</div>
<p class="usa-input__help">
{{ role }}
</p>
</div>
</div>
<div class="form-col form-col--third">
{% if field.role.data == "No Access" and not field.deleted.data -%}
<optionsinput inline-template
v-bind:initial-value="'{{ field.role.data | string }}'"
v-bind:name="'{{ field.name | string }}{% if member_role_id %}-{{ member_role_id }}{% endif %}'"
v-bind:optional="true"
v-bind:watch="true">
<fieldset data-ally-disabled="true" v-on:change="onInput" class="usa-input__choices">
{{ field.role(**{"v-model": "value", "id": "{}-{}".format(field.role.name, member_role_id)}) }}
</fieldset>
</optionsinput>
{% elif field.deleted.data -%}
<p class="usa-input__help">
Suspended access cannot be modified.
</p>
{%- endif %}
{{ field.environment_id() }}
</div>
</div>
<div class="form-col form-col--third">
{% if field.role.data == "No Access" and not field.deleted.data -%}
<optionsinput inline-template
v-bind:initial-value="'{{ field.role.data | string }}'"
v-bind:name="'{{ field.name | string }}{% if member_role_id %}-{{ member_role_id }}{% endif %}'"
v-bind:optional="true"
v-bind:watch="true">
<fieldset data-ally-disabled="true" v-on:change="onInput" class="usa-input__choices">
{{ field.role(**{"v-model": "value", "id": "{}-{}".format(field.role.name, member_role_id)}) }}
</fieldset>
</optionsinput>
{% elif field.role.data != "No Access" and not field.deleted.data -%}
<checkboxinput
name="'{{ field.deleted.name | string }}-{% if member_role_id %}-{{ member_role_id }}{% endif %}'"
inline-template
key="'{{ field.deleted.name | string }}-{% if member_role_id %}-{{ member_role_id }}{% endif %}'"
v-bind:initial-checked='{{ field.deleted.data|string|lower }}'
v-bind:optional="true"
>
<fieldset data-ally-disabled="true" v-on:change="onInput" class="usa-input__choices {% if inline %}usa-input__choices--inline{% endif %}">
<legend>
{% set id = "{}-{}".format(field.deleted.name, member_role_id) %}
{{ field.deleted(id=id, checked=True, **{"v-model": "isChecked"}) }}
{{ field.deleted.label(for=id) | safe }}
</legend>
</fieldset>
</checkboxinput>
{% elif field.deleted.data -%}
<p class="usa-input__help">
Suspended access cannot be modified.
</p>
{%- endif %}
{{ field.environment_id() }}
</div>
</div>
{% endif %}
{% endmacro %}
{% macro PermsFields(form, new=False, member_role_id=None) %}