display security officer info as defaults for dd 254 form

This commit is contained in:
dandds 2019-02-18 16:16:18 -05:00
parent 99ef82e78b
commit 139e31b9a4
2 changed files with 36 additions and 11 deletions

View File

@ -157,10 +157,28 @@ def edit_task_order_invitations(portfolio_id, task_order_id):
)
def so_review_form(task_order):
if task_order.dd_254:
dd_254 = task_order.dd_254
form = DD254Form(obj=dd_254)
form.required_distribution.data = dd_254.required_distribution
return form
else:
so = task_order.officer_dictionary("security_officer")
form_data = {
"certifying_official": "{} {}".format(
so.get("first_name"), so.get("last_name")
),
"co_phone": so["phone_number"],
}
return DD254Form(data=form_data)
@portfolios_bp.route("/portfolios/<portfolio_id>/task_order/<task_order_id>/dd254")
def so_review(portfolio_id, task_order_id):
task_order = TaskOrders.get(g.current_user, task_order_id)
form = DD254Form()
Authorization.check_is_so(g.current_user, task_order)
form = so_review_form(task_order)
return render_template("portfolios/task_orders/so_review.html", form=form)

View File

@ -316,7 +316,7 @@ def test_submit_completed_ko_review_page(client, user_session, pdf_upload):
)
def test_so_can_view_so_review_page(client, user_session):
def test_so_review_page(app, client, user_session):
portfolio = PortfolioFactory.create()
so = UserFactory.create()
PortfolioRoleFactory.create(
@ -337,12 +337,19 @@ def test_so_can_view_so_review_page(client, user_session):
)
assert owner_response.status_code == 404
user_session(so)
so_response = client.get(
url_for(
"portfolios.so_review",
portfolio_id=portfolio.id,
task_order_id=task_order.id,
with captured_templates(app) as templates:
user_session(so)
so_response = app.test_client().get(
url_for(
"portfolios.so_review",
portfolio_id=portfolio.id,
task_order_id=task_order.id,
)
)
_, context = templates[0]
form = context["form"]
co_name = form.certifying_official.data
assert so_response.status_code == 200
assert (
task_order.so_first_name in co_name and task_order.so_last_name in co_name
)
)
assert so_response.status_code == 200