Create macro for environment role field and update route so the correct data is passed to Environments.update_env_role to update or delete roles
This commit is contained in:
@@ -2,6 +2,72 @@
|
||||
{% from "components/text_input.html" import TextInput %}
|
||||
{% from "components/phone_input.html" import PhoneInput %}
|
||||
|
||||
{% macro EnvRoleInput(field, member_role_id=None) %}
|
||||
{% 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">
|
||||
<div class="usa-input">
|
||||
<fieldset data-ally-disabled="true" v-on:change="onInput" class="usa-input__choices">
|
||||
<div class="form-row">
|
||||
<div class="form-col form-col--two-thirds">
|
||||
<legend>
|
||||
<div v-bind:class='["usa-input__title-inline", {"environment-name--gray": value === "None" }]'>
|
||||
{{ field.environment_name.data }}
|
||||
</div>
|
||||
<p class="usa-input__help">
|
||||
{{ field.role.data }}
|
||||
</p>
|
||||
</legend>
|
||||
</div>
|
||||
<div class="form-col form-col--third">
|
||||
{{ field.role(**{"v-model": "value", "id": "{}-{}".format(field.role.name, member_role_id)}) }}
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</optionsinput>
|
||||
{% elif field.role.data != "No Access" and not field.deleted.data -%}
|
||||
<div class="form-row">
|
||||
<div class="form-col form-col--two-thirds">
|
||||
<legend>
|
||||
<div v-bind:class='["usa-input__title-inline", {"environment-name--gray": value === "None" }]'>
|
||||
{{ field.environment_name.data }}
|
||||
</div>
|
||||
<p class="usa-input__help">
|
||||
{{ field.role.data }}
|
||||
</p>
|
||||
</legend>
|
||||
</div>
|
||||
<div class="form-col form-col--third">
|
||||
<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"
|
||||
>
|
||||
<div>
|
||||
<div class='usa-input' v-bind:class="[{ 'checked': isChecked }]">
|
||||
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
</checkboxinput>
|
||||
</div>
|
||||
</div>
|
||||
{%- endif %}
|
||||
{{ field.environment_id() }}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro PermsFields(form, new=False, member_role_id=None) %}
|
||||
<h2>{{ "portfolios.applications.members.form.app_perms.title" | translate }}</h2>
|
||||
<p class='usa-input__help subtitle'>{{ "portfolios.applications.members.form.app_perms.description" | translate | safe}}</p>
|
||||
@@ -26,29 +92,7 @@
|
||||
<p class='usa-input__help subtitle'>{{ "portfolios.applications.members.form.env_access.description" | translate | safe }}</p>
|
||||
<hr>
|
||||
{% for environment_data in form.environment_roles %}
|
||||
<optionsinput inline-template
|
||||
v-bind:initial-value="'{{ environment_data.role.data | string }}'"
|
||||
v-bind:name="'{{ environment_data.name | string }}'"
|
||||
v-bind:optional="true"
|
||||
v-bind:watch="true">
|
||||
<div class="usa-input">
|
||||
<fieldset data-ally-disabled="true" v-on:change="onInput" class="usa-input__choices">
|
||||
<div class="form-row">
|
||||
<div class="form-col form-col--two-thirds">
|
||||
<legend>
|
||||
<div v-bind:class='["usa-input__title-inline", {"environment-name--gray": value === "None" }]'>
|
||||
{{ environment_data.environment_name.data }}
|
||||
</div>
|
||||
</legend>
|
||||
</div>
|
||||
<div class="form-col form-col--third">
|
||||
{{ environment_data.role(**{"v-model": "value"}) }}
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</optionsinput>
|
||||
{{ environment_data.environment_id() }}
|
||||
{{ EnvRoleInput(environment_data, member_role_id) }}
|
||||
<hr>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user