Update form to nest all envs in one form

This commit is contained in:
leigh-mil
2019-05-06 13:00:01 -04:00
parent 060c6834bf
commit addf2e97a1
9 changed files with 244 additions and 95 deletions

View File

@@ -1,21 +1,33 @@
from flask_wtf import FlaskForm
from wtforms.fields import FieldList, FormField, HiddenField, RadioField
from wtforms.fields import FieldList, FormField, HiddenField, RadioField, StringField
from .forms import BaseForm
from .data import ENV_ROLES
class EnvMemberRoleForm(FlaskForm):
class MemberForm(FlaskForm):
user_id = HiddenField()
user_name = StringField()
role = RadioField(choices=ENV_ROLES, default="no_access")
@property
def data(self):
_data = super().data
_data.pop("csrf_token", None)
for field in _data:
if field == "role" and _data[field] == "no_access":
_data[field] = None
return _data
class EnvironmentRolesForm(BaseForm):
team_roles = FieldList(FormField(EnvMemberRoleForm))
class RoleForm(FlaskForm):
role = HiddenField()
members = FieldList(FormField(MemberForm))
class EnvironmentRolesForm(FlaskForm):
team_roles = FieldList(FormField(RoleForm))
env_id = HiddenField()
class AppEnvRolesForm(BaseForm):
envs = FieldList(FormField(EnvironmentRolesForm))