Add form to template
- do not use None as a dropdown value because it was causing issues - cleans up some comments
This commit is contained in:
parent
416ea1de82
commit
de41afa935
@ -12,27 +12,25 @@ class PermissionsForm(FlaskForm):
|
|||||||
perms_env_mgmt = SelectField(
|
perms_env_mgmt = SelectField(
|
||||||
translate("portfolios.applications.members.new.manage_envs"),
|
translate("portfolios.applications.members.new.manage_envs"),
|
||||||
choices=[
|
choices=[
|
||||||
(None, "View only"),
|
("", "View only"),
|
||||||
(PermissionSets.EDIT_APPLICATION_ENVIRONMENTS, "Edit access"),
|
(PermissionSets.EDIT_APPLICATION_ENVIRONMENTS, "Edit access"),
|
||||||
],
|
],
|
||||||
filters=[BaseForm.remove_empty_string],
|
|
||||||
)
|
)
|
||||||
perms_team_mgmt = SelectField(
|
perms_team_mgmt = SelectField(
|
||||||
translate("portfolios.applications.members.new.manage_team"),
|
translate("portfolios.applications.members.new.manage_team"),
|
||||||
choices=[
|
choices=[
|
||||||
(None, "View only"),
|
("", "View only"),
|
||||||
(PermissionSets.EDIT_APPLICATION_TEAM, "Edit access"),
|
(PermissionSets.EDIT_APPLICATION_TEAM, "Edit access"),
|
||||||
],
|
],
|
||||||
filters=[BaseForm.remove_empty_string],
|
|
||||||
)
|
)
|
||||||
perms_del_env = SelectField(
|
perms_del_env = SelectField(
|
||||||
choices=[(None, "No"), (PermissionSets.DELETE_APPLICATION_ENVIRONMENTS, "Yes")],
|
choices=[("", "No"), (PermissionSets.DELETE_APPLICATION_ENVIRONMENTS, "Yes")]
|
||||||
filters=[BaseForm.remove_empty_string],
|
|
||||||
)
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def data(self):
|
def data(self):
|
||||||
_data = super().data
|
_data = super().data
|
||||||
|
_data.pop("csrf_token", None)
|
||||||
permission_sets = []
|
permission_sets = []
|
||||||
for field in _data:
|
for field in _data:
|
||||||
if _data[field] is not None:
|
if _data[field] is not None:
|
||||||
@ -47,6 +45,13 @@ class MemberForm(FlaskForm):
|
|||||||
environment_roles = FieldList(FormField(EnvironmentForm))
|
environment_roles = FieldList(FormField(EnvironmentForm))
|
||||||
permission_sets = FormField(PermissionsForm)
|
permission_sets = FormField(PermissionsForm)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def data(self):
|
||||||
|
_data = super().data
|
||||||
|
_data.pop("csrf_token", None)
|
||||||
|
|
||||||
|
return _data
|
||||||
|
|
||||||
|
|
||||||
class TeamForm(BaseForm):
|
class TeamForm(BaseForm):
|
||||||
members = FieldList(FormField(MemberForm))
|
members = FieldList(FormField(MemberForm))
|
||||||
|
@ -32,6 +32,7 @@ def team(application_id):
|
|||||||
team_data = []
|
team_data = []
|
||||||
for member in application.members:
|
for member in application.members:
|
||||||
user_id = member.user.id
|
user_id = member.user.id
|
||||||
|
# TODO: if no members, we get a server error
|
||||||
user_name = member.user.full_name
|
user_name = member.user.full_name
|
||||||
environment_users[user_id] = {
|
environment_users[user_id] = {
|
||||||
"permissions": {
|
"permissions": {
|
||||||
|
@ -4,40 +4,44 @@
|
|||||||
{% set environment_roles_form = member_form.environment_roles %}
|
{% set environment_roles_form = member_form.environment_roles %}
|
||||||
{% set permissions_form = member_form.permission_sets %}
|
{% set permissions_form = member_form.permission_sets %}
|
||||||
|
|
||||||
<toggler inline-template>
|
<form method='POST' id="team" action='{{ url_for("applications.team", application_id=application.id) }}' autocomplete="off" enctype="multipart/form-data">
|
||||||
<li class="accordion-table__item">
|
{{ team_form.csrf_token }}
|
||||||
<div class="accordion-table__item-content row">
|
<toggler inline-template>
|
||||||
<div class="col col--grow">{{ member_form.user_name.data }}</div>
|
<li class="accordion-table__item">
|
||||||
<div class="col col--grow">{{ OptionsInput(permissions_form.perms_team_mgmt, label=False, watch=True) }}</div>
|
<div class="accordion-table__item-content row">
|
||||||
<div class="col col--grow">{{ OptionsInput(permissions_form.perms_env_mgmt, label=False, watch=True) }}</div>
|
<div class="col col--grow">{{ member_form.user_name.data }}</div>
|
||||||
<div class="col col--grow">{{ OptionsInput(permissions_form.perms_del_env, label=False, watch=True) }}</div>
|
<div class="col col--grow">{{ OptionsInput(permissions_form.perms_team_mgmt, label=False, watch=True) }}</div>
|
||||||
<div class="col col--grow icon-link icon-link--large accordion-table__item__toggler">
|
<div class="col col--grow">{{ OptionsInput(permissions_form.perms_env_mgmt, label=False, watch=True) }}</div>
|
||||||
{% set open_html %}
|
<div class="col col--grow">{{ OptionsInput(permissions_form.perms_del_env, label=False, watch=True) }}</div>
|
||||||
{{ "portfolios.applications.team_settings.environments" | translate }} ({{ environment_roles_form | length }}) {{ Icon('caret_down') }}
|
<div class="col col--grow icon-link icon-link--large accordion-table__item__toggler">
|
||||||
{% endset %}
|
{% set open_html %}
|
||||||
|
{{ "portfolios.applications.team_settings.environments" | translate }} ({{ environment_roles_form | length }}) {{ Icon('caret_down') }}
|
||||||
|
{% endset %}
|
||||||
|
|
||||||
{% set close_html %}
|
{% set close_html %}
|
||||||
{{ "portfolios.applications.team_settings.environments" | translate }} ({{ environment_roles_form | length }}) {{ Icon('caret_up') }}
|
{{ "portfolios.applications.team_settings.environments" | translate }} ({{ environment_roles_form | length }}) {{ Icon('caret_up') }}
|
||||||
{% endset %}
|
{% endset %}
|
||||||
|
|
||||||
{{
|
{{
|
||||||
ToggleButton(
|
ToggleButton(
|
||||||
open_html=open_html,
|
open_html=open_html,
|
||||||
close_html=close_html,
|
close_html=close_html,
|
||||||
section_name="environments"
|
section_name="environments"
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{% call ToggleSection(section_name="environments") %}
|
||||||
{% call ToggleSection(section_name="environments") %}
|
<ul>
|
||||||
<ul>
|
{% for environment_form in environment_roles_form %}
|
||||||
{% for environment_form in environment_roles_form %}
|
<li class="accordion-table__item__expanded">
|
||||||
<li class="accordion-table__item__expanded">
|
{{ environment_form.environment_name.data }}
|
||||||
{{ environment_form.environment_name.data }}
|
</li>
|
||||||
</li>
|
{% endfor %}
|
||||||
{% endfor %}
|
</ul>
|
||||||
</ul>
|
{% endcall %}
|
||||||
{% endcall %}
|
{{ member_form.user_id() }}
|
||||||
</li>
|
</li>
|
||||||
</toggler>
|
</toggler>
|
||||||
|
</form>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -73,7 +73,7 @@
|
|||||||
<div class="panel__footer">
|
<div class="panel__footer">
|
||||||
<div class="action-group save">
|
<div class="action-group save">
|
||||||
{% if user_can(permissions.EDIT_APPLICATION_MEMBER) %}
|
{% if user_can(permissions.EDIT_APPLICATION_MEMBER) %}
|
||||||
{{ SaveButton(text=('common.save' | translate), element="input", form="member-perms") }}
|
{{ SaveButton(text=('common.save' | translate), element="input", form="team") }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if user_can(permissions.CREATE_APPLICATION_MEMBER) %}
|
{% if user_can(permissions.CREATE_APPLICATION_MEMBER) %}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user