From e00e24f0832a24361ef74c7ac25d6e8afea0c7c7 Mon Sep 17 00:00:00 2001 From: leigh-mil Date: Wed, 27 Feb 2019 11:37:39 -0500 Subject: [PATCH] Move removing empty items in a list field to CacheableForm --- atst/forms/application.py | 12 ------------ atst/forms/forms.py | 10 ++++++++++ atst/forms/ko_review.py | 8 -------- 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/atst/forms/application.py b/atst/forms/application.py index d917f72d..80bb0858 100644 --- a/atst/forms/application.py +++ b/atst/forms/application.py @@ -15,8 +15,6 @@ class ApplicationForm(FlaskForm): class NewApplicationForm(ApplicationForm): - EMPTY_ENVIRONMENT_NAMES = ["", None] - environment_names = FieldList( StringField(label=translate("forms.application.environment_names_label")), validators=[ @@ -32,13 +30,3 @@ class NewApplicationForm(ApplicationForm): ), ], ) - - @property - def data(self): - _data = super(FlaskForm, self).data - _data["environment_names"] = [ - n - for n in _data["environment_names"] - if n not in self.EMPTY_ENVIRONMENT_NAMES - ] - return _data diff --git a/atst/forms/forms.py b/atst/forms/forms.py index 34c861f2..52586ba2 100644 --- a/atst/forms/forms.py +++ b/atst/forms/forms.py @@ -24,8 +24,18 @@ class ValidatedForm(FlaskForm): class CacheableForm(ValidatedForm): + EMPTY_LIST_FIELD = ["", None] + def __init__(self, formdata=None, **kwargs): formdata = formdata or {} cached_data = current_app.form_cache.from_request(http_request) cached_data.update(formdata) super().__init__(cached_data, **kwargs) + + @property + def data(self): + _data = super(FlaskForm, self).data + for field in _data: + if _data[field].__class__.__name__ == "list": + _data[field] = [el for el in _data[field] if el not in self.EMPTY_LIST_FIELD] + return _data diff --git a/atst/forms/ko_review.py b/atst/forms/ko_review.py index d0f723eb..7c02ecc8 100644 --- a/atst/forms/ko_review.py +++ b/atst/forms/ko_review.py @@ -11,8 +11,6 @@ from atst.utils.localization import translate class KOReviewForm(CacheableForm): - EMPTY_LOA = ["", None] - start_date = DateField( translate("forms.ko_review.start_date_label"), format="%m/%d/%Y" ) @@ -36,9 +34,3 @@ class KOReviewForm(CacheableForm): description=translate("forms.ko_review.custom_clauses_description"), validators=[Optional()], ) - - @property - def data(self): - _data = super(FlaskForm, self).data - _data["loas"] = [n for n in _data["loas"] if n not in self.EMPTY_LOA] - return _data