Remove empty fields from list items
Add notes
This commit is contained in:
parent
dab13034d5
commit
87aa5c4c94
@ -1,11 +1,11 @@
|
|||||||
from flask_wtf import FlaskForm
|
from .forms import BaseForm
|
||||||
from wtforms.fields import StringField, TextAreaField, FieldList
|
from wtforms.fields import StringField, TextAreaField, FieldList
|
||||||
from wtforms.validators import Required
|
from wtforms.validators import Required
|
||||||
from atst.forms.validators import ListItemRequired, ListItemsUnique
|
from atst.forms.validators import ListItemRequired, ListItemsUnique
|
||||||
from atst.utils.localization import translate
|
from atst.utils.localization import translate
|
||||||
|
|
||||||
|
|
||||||
class ApplicationForm(FlaskForm):
|
class ApplicationForm(BaseForm):
|
||||||
name = StringField(
|
name = StringField(
|
||||||
label=translate("forms.application.name_label"), validators=[Required()]
|
label=translate("forms.application.name_label"), validators=[Required()]
|
||||||
)
|
)
|
||||||
|
@ -3,9 +3,12 @@ from flask import current_app, request as http_request
|
|||||||
|
|
||||||
from atst.utils.flash import formatted_flash as flash
|
from atst.utils.flash import formatted_flash as flash
|
||||||
|
|
||||||
|
EMPTY_LIST_FIELD = ["", None]
|
||||||
|
|
||||||
|
|
||||||
class BaseForm(FlaskForm):
|
class BaseForm(FlaskForm):
|
||||||
def __init__(self, formdata=None, **kwargs):
|
def __init__(self, formdata=None, **kwargs):
|
||||||
|
# initialize the form with data from the cache
|
||||||
formdata = formdata or {}
|
formdata = formdata or {}
|
||||||
cached_data = current_app.form_cache.from_request(http_request)
|
cached_data = current_app.form_cache.from_request(http_request)
|
||||||
cached_data.update(formdata)
|
cached_data.update(formdata)
|
||||||
@ -13,8 +16,13 @@ class BaseForm(FlaskForm):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def data(self):
|
def data(self):
|
||||||
|
# remove 'csrf_token' key/value pair
|
||||||
|
# remove empty strings and None from list fields
|
||||||
_data = super().data
|
_data = super().data
|
||||||
_data.pop("csrf_token", None)
|
_data.pop("csrf_token", None)
|
||||||
|
for field in _data:
|
||||||
|
if _data[field].__class__.__name__ == "list":
|
||||||
|
_data[field] = [el for el in _data[field] if el not in EMPTY_LIST_FIELD]
|
||||||
return _data
|
return _data
|
||||||
|
|
||||||
def validate(self, *args, **kwargs):
|
def validate(self, *args, **kwargs):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user