Don't flash when cancelling TO form with invalid data
This commit is contained in:
parent
24049c4c81
commit
e034269a02
@ -30,9 +30,9 @@ class BaseForm(FlaskForm):
|
||||
_data[field] = None
|
||||
return _data
|
||||
|
||||
def validate(self, *args, **kwargs):
|
||||
def validate(self, *args, flash_invalid=True, **kwargs):
|
||||
valid = super().validate(*args, **kwargs)
|
||||
if not valid:
|
||||
if not valid and flash_invalid:
|
||||
flash("form_errors")
|
||||
return valid
|
||||
|
||||
|
@ -139,7 +139,7 @@ def cancel_edit(task_order_id=None, portfolio_id=None):
|
||||
else:
|
||||
form = TaskOrderForm(form_data)
|
||||
|
||||
if form.validate():
|
||||
if form.validate(flash_invalid=False):
|
||||
task_order = None
|
||||
if task_order_id:
|
||||
task_order = TaskOrders.update(task_order_id, **form.data)
|
||||
|
@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from flask import url_for
|
||||
from flask import url_for, get_flashed_messages
|
||||
from datetime import timedelta, date
|
||||
|
||||
from atst.domain.task_orders import TaskOrders
|
||||
@ -342,9 +342,10 @@ def test_cancel_can_create_new_to(client, user_session, portfolio):
|
||||
def test_cancel_edit_does_not_save_invalid_form_input(client, user_session, session):
|
||||
task_order = TaskOrderFactory.create()
|
||||
user_session(task_order.portfolio.owner)
|
||||
bad_data = {"clins-0-jedi_clin_type": "foo"}
|
||||
response = client.post(
|
||||
url_for("task_orders.cancel_edit", task_order_id=task_order.id, save=True),
|
||||
data={"clins": "not really clins"},
|
||||
data=bad_data,
|
||||
)
|
||||
assert response.status_code == 302
|
||||
|
||||
@ -353,6 +354,22 @@ def test_cancel_edit_does_not_save_invalid_form_input(client, user_session, sess
|
||||
assert updated_task_order.clins == task_order.clins
|
||||
|
||||
|
||||
def test_cancel_edit_on_invalid_input_does_not_flash(
|
||||
app, client, user_session, session
|
||||
):
|
||||
task_order = TaskOrderFactory.create()
|
||||
user_session(task_order.portfolio.owner)
|
||||
|
||||
bad_data = {"clins-0-jedi_clin_type": "foo"}
|
||||
|
||||
response = client.post(
|
||||
url_for("task_orders.cancel_edit", task_order_id=task_order.id, save=True),
|
||||
data=bad_data,
|
||||
)
|
||||
|
||||
assert len(get_flashed_messages()) == 0
|
||||
|
||||
|
||||
def test_cancel_edit_without_saving(client, user_session, session):
|
||||
task_order = TaskOrderFactory.create(number=None)
|
||||
user_session(task_order.portfolio.owner)
|
||||
|
Loading…
x
Reference in New Issue
Block a user