diff --git a/atst/forms/task_order.py b/atst/forms/task_order.py index 1e2ce9b4..ff16f0a7 100644 --- a/atst/forms/task_order.py +++ b/atst/forms/task_order.py @@ -42,8 +42,7 @@ class UnclassifiedCLINForm(CLINForm): class TaskOrderForm(BaseForm): number = StringField( - label=translate("forms.task_order.number_description"), - validators=[Required()], + label=translate("forms.task_order.number_description"), validators=[Required()] ) pdf = FileField( None, diff --git a/atst/routes/task_orders/new.py b/atst/routes/task_orders/new.py index bfce2c26..fd3ce160 100644 --- a/atst/routes/task_orders/new.py +++ b/atst/routes/task_orders/new.py @@ -8,11 +8,12 @@ from atst.models.permissions import Permissions from atst.utils.flash import formatted_flash as flash -def render_task_orders_edit(portfolio_id, task_order_id=None, form=None): +def render_task_orders_edit(portfolio_id=None, task_order_id=None, form=None): render_args = {} if task_order_id: task_order = TaskOrders.get(task_order_id) + portfolio_id = task_order.portfolio_id render_args["form"] = form or TaskOrderForm(**task_order.to_dictionary()) render_args["task_order_id"] = task_order_id else: @@ -28,18 +29,16 @@ def render_task_orders_edit(portfolio_id, task_order_id=None, form=None): @task_orders_bp.route("/portfolios//task_orders/new") -@task_orders_bp.route("/portfolios//task_orders//edit") +@task_orders_bp.route("/task_orders//edit") @user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form") -def edit(portfolio_id, task_order_id=None): +def edit(portfolio_id=None, task_order_id=None): return render_task_orders_edit(portfolio_id, task_order_id) @task_orders_bp.route("/portfolios//task_orders/new", methods=["POST"]) -@task_orders_bp.route( - "/portfolios//task_orders/", methods=["POST"] -) +@task_orders_bp.route("/task_orders/", methods=["POST"]) @user_can(Permissions.CREATE_TASK_ORDER, message="create new task order") -def update(portfolio_id, task_order_id=None): +def update(portfolio_id=None, task_order_id=None): form_data = {**http_request.form, **http_request.files} form = None @@ -53,18 +52,13 @@ def update(portfolio_id, task_order_id=None): task_order = None if task_order_id: task_order = TaskOrders.update(task_order_id, **form.data) + portfolio_id = task_order.portfolio_id else: task_order = TaskOrders.create(g.current_user, portfolio_id, **form.data) flash("task_order_draft") - return redirect( - url_for( - "task_orders.edit", - portfolio_id=portfolio_id, - task_order_id=task_order.id, - ) - ) + return redirect(url_for("task_orders.edit", task_order_id=task_order.id)) else: flash("form_errors") return render_task_orders_edit(portfolio_id, task_order_id, form), 400 diff --git a/styles/components/_sticky_cta.scss b/styles/components/_sticky_cta.scss index 2916018f..514383fa 100644 --- a/styles/components/_sticky_cta.scss +++ b/styles/components/_sticky_cta.scss @@ -42,7 +42,6 @@ a.action-group__action.icon-link { width: auto; - } input { diff --git a/templates/portfolios/task_orders/review.html b/templates/portfolios/task_orders/review.html index e12fe615..478fbaed 100644 --- a/templates/portfolios/task_orders/review.html +++ b/templates/portfolios/task_orders/review.html @@ -22,7 +22,7 @@ {% endcall %} {% call StickyCTA(text="Review Funding") %} - Edit + Edit Submit task order {% endcall %} diff --git a/templates/task_orders/edit.html b/templates/task_orders/edit.html index 1110643c..bbfdac81 100644 --- a/templates/task_orders/edit.html +++ b/templates/task_orders/edit.html @@ -100,7 +100,7 @@
{% include "fragments/flash.html" %} {% if task_order_id %} - {% set action = url_for("task_orders.update", portfolio_id=portfolio.id, task_order_id=task_order_id) %} + {% set action = url_for("task_orders.update", task_order_id=task_order_id) %} {% else %} {% set action = url_for("task_orders.update", portfolio_id=portfolio.id) %} {% endif %} diff --git a/tests/routes/task_orders/test_new.py b/tests/routes/task_orders/test_new.py index fbda7141..7dbad2c4 100644 --- a/tests/routes/task_orders/test_new.py +++ b/tests/routes/task_orders/test_new.py @@ -68,13 +68,7 @@ def test_task_orders_update(client, user_session, portfolio): def test_task_orders_edit_existing_to(client, user_session, task_order): user_session(task_order.creator) - response = client.get( - url_for( - "task_orders.edit", - portfolio_id=task_order.portfolio_id, - task_order_id=task_order.id, - ) - ) + response = client.get(url_for("task_orders.edit", task_order_id=task_order.id)) assert response.status_code == 200 @@ -90,12 +84,7 @@ def test_task_orders_update_existing_to(client, user_session, task_order): "clins-0-loas-0": "123123123123", } response = client.post( - url_for( - "task_orders.update", - portfolio_id=task_order.portfolio_id, - task_order_id=task_order.id, - ), - data=form_data, + url_for("task_orders.update", task_order_id=task_order.id), data=form_data ) assert response.status_code == 302 assert task_order.number == "0123456789" @@ -115,12 +104,9 @@ def test_task_orders_update_invalid_data(client, user_session, portfolio): def test_task_orders_update(client, user_session, portfolio, pdf_upload): user_session(portfolio.owner) data = {"number": "0123456789", "pdf": pdf_upload} - task_order = TaskOrderFactory.create(number="0987654321") + task_order = TaskOrderFactory.create(number="0987654321", portfolio=portfolio) response = client.post( - url_for( - "task_orders.update", portfolio_id=portfolio.id, task_order_id=task_order.id - ), - data=data, + url_for("task_orders.update", task_order_id=task_order.id), data=data ) assert response.status_code == 302 assert task_order.number == data["number"] @@ -130,13 +116,10 @@ def test_task_orders_update_pdf( client, user_session, portfolio, pdf_upload, pdf_upload2 ): user_session(portfolio.owner) - task_order = TaskOrderFactory.create(pdf=pdf_upload) + task_order = TaskOrderFactory.create(pdf=pdf_upload, portfolio=portfolio) data = {"number": "0123456789", "pdf": pdf_upload2} response = client.post( - url_for( - "task_orders.update", portfolio_id=portfolio.id, task_order_id=task_order.id - ), - data=data, + url_for("task_orders.update", task_order_id=task_order.id), data=data ) assert response.status_code == 302 assert task_order.pdf.filename == pdf_upload2.filename @@ -144,13 +127,10 @@ def test_task_orders_update_pdf( def test_task_orders_update_delete_pdf(client, user_session, portfolio, pdf_upload): user_session(portfolio.owner) - task_order = TaskOrderFactory.create(pdf=pdf_upload) + task_order = TaskOrderFactory.create(pdf=pdf_upload, portfolio=portfolio) data = {"number": "0123456789", "pdf": ""} response = client.post( - url_for( - "task_orders.update", portfolio_id=portfolio.id, task_order_id=task_order.id - ), - data=data, + url_for("task_orders.update", task_order_id=task_order.id), data=data ) assert response.status_code == 302 assert task_order.pdf is None @@ -167,9 +147,7 @@ def test_task_order_form_shows_errors(client, user_session, task_order): funding_data.update({"clin_01": "one milllllion dollars"}) response = client.post( - url_for( - "task_orders.update", portfolio_id=portfolio.id, task_order_id=task_order.id - ), + url_for("task_orders.update", task_order_id=task_order.id), data=funding_data, follow_redirects=False, ) diff --git a/tests/test_access.py b/tests/test_access.py index 6841a09b..22519c05 100644 --- a/tests/test_access.py +++ b/tests/test_access.py @@ -515,9 +515,7 @@ def test_task_orders_update_access(post_url_assert_status): task_order = TaskOrderFactory.create(portfolio=portfolio) - url = url_for( - "task_orders.update", portfolio_id=portfolio.id, task_order_id=task_order.id - ) + url = url_for("task_orders.update", task_order_id=task_order.id) post_url_assert_status(owner, url, 302) post_url_assert_status(ccpo, url, 302) post_url_assert_status(rando, url, 404)