Handle formdata processing in a property
This commit is contained in:
parent
1fcd27a4e0
commit
c70202c33c
@ -52,11 +52,6 @@ class TaskOrder(Base, mixins.TimestampsMixin):
|
||||
filter(None, [self.clin_01, self.clin_02, self.clin_03, self.clin_04])
|
||||
)
|
||||
|
||||
def __repr__(self):
|
||||
return "<TaskOrder(number='{}', budget='{}', end_date='{}', id='{}')>".format(
|
||||
self.number, self.budget, self.end_date, self.id
|
||||
)
|
||||
|
||||
@property
|
||||
def portfolio_name(self):
|
||||
return self.workspace.name
|
||||
@ -70,3 +65,8 @@ class TaskOrder(Base, mixins.TimestampsMixin):
|
||||
if c.name not in ["id"]
|
||||
},
|
||||
}
|
||||
|
||||
def __repr__(self):
|
||||
return "<TaskOrder(number='{}', budget='{}', end_date='{}', id='{}')>".format(
|
||||
self.number, self.budget, self.end_date, self.id
|
||||
)
|
||||
|
@ -49,14 +49,20 @@ class ShowTaskOrderWorkflow:
|
||||
|
||||
return self._task_order
|
||||
|
||||
@property
|
||||
def task_order_formdata(self):
|
||||
task_order_dict = self.task_order.to_dictionary()
|
||||
for field in task_order_dict:
|
||||
if task_order_dict[field] is None:
|
||||
task_order_dict[field] = ""
|
||||
return task_order_dict
|
||||
|
||||
@property
|
||||
def form(self):
|
||||
if self._form:
|
||||
pass
|
||||
elif self.task_order:
|
||||
# None causes issues with formdata, so coerce None to ''
|
||||
formdata = self.process_none_types(task_order=self.task_order)
|
||||
self._form = self._section["form"](formdata=formdata)
|
||||
self._form = self._section["form"](formdata=self.task_order_formdata)
|
||||
else:
|
||||
self._form = self._section["form"]()
|
||||
|
||||
@ -77,13 +83,6 @@ class ShowTaskOrderWorkflow:
|
||||
|
||||
return screen_info
|
||||
|
||||
def process_none_types(self, task_order):
|
||||
task_order_dict = task_order.to_dictionary()
|
||||
for field in task_order_dict:
|
||||
if task_order_dict[field] is None:
|
||||
task_order_dict[field] = ""
|
||||
return task_order_dict
|
||||
|
||||
|
||||
class UpdateTaskOrderWorkflow(ShowTaskOrderWorkflow):
|
||||
def __init__(self, form_data, user, screen=1, task_order_id=None):
|
||||
|
@ -39,7 +39,7 @@
|
||||
<label for='{{ field.name }}-{{ field.choices.index(choice) }}'>{{ choice[1] }}</label>
|
||||
|
||||
<div v-show="otherChecked">
|
||||
<input type='text' name='{{ field.name}}_other' id='{{ field.name }}-other' v-bind:value="otherText" aria-expanded='false' />
|
||||
<input type='text' name='{{ other_input_field.name}}' id='{{ field.name }}-other' v-bind:value="otherText" aria-expanded='false' />
|
||||
</div>
|
||||
{% endif %}
|
||||
</li>
|
||||
|
@ -1,10 +0,0 @@
|
||||
import pytest
|
||||
from wtforms import Form
|
||||
|
||||
from atst.forms.task_order import AppInfoForm
|
||||
|
||||
|
||||
def test_complexity():
|
||||
form = AppInfoForm(formdata={"complexity": ["other", "not_sure", "storage"]})
|
||||
|
||||
assert form.data["complexity"] == ["other", "not_sure", "storage"]
|
@ -78,6 +78,16 @@ def test_show_task_order():
|
||||
assert another_workflow.task_order == task_order
|
||||
|
||||
|
||||
def test_show_task_order_formdata():
|
||||
task_order = TaskOrderFactory.create()
|
||||
workflow = ShowTaskOrderWorkflow(task_order_id=task_order.id)
|
||||
|
||||
assert workflow.task_order.to_dictionary()["user_id"] is None
|
||||
assert workflow.task_order_formdata["user_id"] is ""
|
||||
for field in workflow.task_order_formdata:
|
||||
assert not field is None
|
||||
|
||||
|
||||
def test_show_task_order_form():
|
||||
workflow = ShowTaskOrderWorkflow()
|
||||
assert not workflow.form.data["app_migration"]
|
||||
|
Loading…
x
Reference in New Issue
Block a user