From 139e31b9a4ca2d0f32beba9f0bc8f946d996b0d0 Mon Sep 17 00:00:00 2001 From: dandds Date: Mon, 18 Feb 2019 16:16:18 -0500 Subject: [PATCH] display security officer info as defaults for dd 254 form --- atst/routes/portfolios/task_orders.py | 22 ++++++++++++++++-- tests/routes/portfolios/test_task_orders.py | 25 +++++++++++++-------- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/atst/routes/portfolios/task_orders.py b/atst/routes/portfolios/task_orders.py index ab4f78fc..9a8c23a2 100644 --- a/atst/routes/portfolios/task_orders.py +++ b/atst/routes/portfolios/task_orders.py @@ -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//task_order//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) diff --git a/tests/routes/portfolios/test_task_orders.py b/tests/routes/portfolios/test_task_orders.py index e0dcbb94..8375d89f 100644 --- a/tests/routes/portfolios/test_task_orders.py +++ b/tests/routes/portfolios/test_task_orders.py @@ -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