diff --git a/atst/domain/task_orders.py b/atst/domain/task_orders.py index c5e8e9f9..764cfdaa 100644 --- a/atst/domain/task_orders.py +++ b/atst/domain/task_orders.py @@ -187,6 +187,9 @@ class DD254s: # sign, and verify process for the DD 254 PDF @classmethod def complete(cls, dd254): + if dd254 is None: + return False + for col in DD254.__table__.columns: if getattr(dd254, col.name) is None: return False diff --git a/atst/routes/portfolios/task_orders.py b/atst/routes/portfolios/task_orders.py index e83353f3..f9692c6d 100644 --- a/atst/routes/portfolios/task_orders.py +++ b/atst/routes/portfolios/task_orders.py @@ -4,7 +4,7 @@ from flask import g, redirect, render_template, url_for, request as http_request from . import portfolios_bp from atst.database import db -from atst.domain.task_orders import TaskOrders +from atst.domain.task_orders import TaskOrders, DD254s from atst.domain.exceptions import NotFoundError from atst.domain.portfolios import Portfolios from atst.domain.authz import Authorization @@ -61,12 +61,14 @@ def portfolio_funding(portfolio_id): def view_task_order(portfolio_id, task_order_id): portfolio = Portfolios.get(g.current_user, portfolio_id) task_order = TaskOrders.get(g.current_user, task_order_id) - completed = TaskOrders.all_sections_complete(task_order) + to_form_complete = TaskOrders.all_sections_complete(task_order) + dd_254_complete = DD254s.complete(task_order.dd_254) return render_template( "portfolios/task_orders/show.html", portfolio=portfolio, task_order=task_order, - all_sections_complete=completed, + to_form_complete=to_form_complete, + dd_254_complete=dd_254_complete, user=g.current_user, ) diff --git a/templates/portfolios/task_orders/show.html b/templates/portfolios/task_orders/show.html index a8eb70ac..62b5a20f 100644 --- a/templates/portfolios/task_orders/show.html +++ b/templates/portfolios/task_orders/show.html @@ -130,7 +130,7 @@ })| safe, button_url=url_for("task_orders.new", screen=1, task_order_id=task_order.id), button_text='Edit', - complete=all_sections_complete) %} + complete=to_form_complete) %} {% endcall %} {% set is_so = user == task_order.security_officer %} {{ Step( @@ -139,7 +139,7 @@ }) | safe, button_url=is_so and url_for("portfolios.so_review", portfolio_id=portfolio.id, task_order_id=task_order.id), button_text=is_so and 'Edit', - complete=False) }} + complete=dd_254_complete) }} {% call Step( description="task_orders.view.steps.record" | translate({ "contracting_officer": officer_name(task_order.contracting_officer), @@ -182,7 +182,7 @@ {% else %} {{ DocumentLink( title="Task Order Draft", - link_url=all_sections_complete and url_for('task_orders.download_summary', task_order_id=task_order.id), + link_url=to_form_complete and url_for('task_orders.download_summary', task_order_id=task_order.id), description=description) }} {% endif %}