Display flash message on review page that TO is a draft
This commit is contained in:
parent
e969c393fa
commit
7d4e14dff2
@ -12,6 +12,7 @@ from flask import (
|
||||
from . import task_orders_bp
|
||||
from atst.domain.task_orders import TaskOrders
|
||||
from atst.domain.portfolios import Portfolios
|
||||
from atst.utils.flash import formatted_flash as flash
|
||||
import atst.forms.task_order as task_order_form
|
||||
|
||||
|
||||
@ -200,6 +201,12 @@ def get_started():
|
||||
@task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/new/<int:screen>")
|
||||
def new(screen, task_order_id=None, portfolio_id=None):
|
||||
workflow = ShowTaskOrderWorkflow(g.current_user, screen, task_order_id)
|
||||
|
||||
if task_order_id and screen is 4:
|
||||
task_order = TaskOrders.get(g.current_user, task_order_id)
|
||||
if not TaskOrders.all_sections_complete(task_order):
|
||||
flash("task_order_draft")
|
||||
|
||||
return render_template(
|
||||
workflow.template,
|
||||
current=screen,
|
||||
|
@ -1,6 +1,14 @@
|
||||
from flask import flash, render_template_string
|
||||
from atst.utils.localization import translate
|
||||
|
||||
MESSAGES = {
|
||||
"task_order_draft": {
|
||||
"title_template": translate("task_orders.form.draft_alert_title"),
|
||||
"message_template": """
|
||||
<p>Please complete your Task Order before submitting it for approval.</p>
|
||||
""",
|
||||
"category": "warning",
|
||||
},
|
||||
"task_order_signed": {
|
||||
"title_template": "Task Order Signed",
|
||||
"message_template": """
|
||||
|
@ -4,6 +4,7 @@ from flask import url_for
|
||||
from atst.domain.task_orders import TaskOrders
|
||||
from atst.models.attachment import Attachment
|
||||
from atst.routes.task_orders.new import ShowTaskOrderWorkflow, UpdateTaskOrderWorkflow
|
||||
from atst.utils.localization import translate
|
||||
|
||||
from tests.factories import UserFactory, TaskOrderFactory, PortfolioFactory
|
||||
|
||||
@ -142,6 +143,27 @@ def test_task_order_validates_email_address(client, user_session):
|
||||
assert "Invalid email" in body
|
||||
|
||||
|
||||
def test_review_screen_when_all_sections_complete(client, user_session):
|
||||
to = task_order()
|
||||
user_session(to.creator)
|
||||
response = client.get(url_for("task_orders.new", screen=4, task_order_id=to.id))
|
||||
|
||||
body = response.data.decode()
|
||||
assert translate("task_orders.form.draft_alert_title") not in body
|
||||
assert response.status_code == 200
|
||||
|
||||
|
||||
def test_review_screen_when_not_all_sections_complete(client, user_session):
|
||||
to = task_order()
|
||||
TaskOrders.update(to.creator, to, clin_01=None)
|
||||
user_session(to.creator)
|
||||
response = client.get(url_for("task_orders.new", screen=4, task_order_id=to.id))
|
||||
|
||||
body = response.data.decode()
|
||||
assert translate("task_orders.form.draft_alert_title") in body
|
||||
assert response.status_code == 200
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def task_order():
|
||||
user = UserFactory.create()
|
||||
@ -242,4 +264,5 @@ def test_review_task_order_form(client, user_session, task_order):
|
||||
response = client.get(
|
||||
url_for("task_orders.new", screen=idx + 1, task_order_id=task_order.id)
|
||||
)
|
||||
|
||||
assert response.status_code == 200
|
||||
|
@ -403,6 +403,8 @@ requests:
|
||||
questions_title_text: Questions related to JEDI Cloud migration
|
||||
rationalization_software_systems_tooltip: Rationalization is the DoD process to determine whether the application should move to the cloud.
|
||||
task_orders:
|
||||
form:
|
||||
draft_alert_title: Your draft has been saved
|
||||
sign:
|
||||
digital_signature_description: I acknowledge that I have read and fully understand the DoD CCPO JEDI agreements and completed all the necessary steps, as detailed in the FAR (Federal Acquisition Regulation).
|
||||
digital_signature_label: Digital Signature
|
||||
|
Loading…
x
Reference in New Issue
Block a user