Remove nesting from route when not needed
This commit is contained in:
parent
61de7a5adf
commit
4e46827335
@ -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,
|
||||
|
@ -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/<portfolio_id>/task_orders/new")
|
||||
@task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/<task_order_id>/edit")
|
||||
@task_orders_bp.route("/task_orders/<task_order_id>/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/<portfolio_id>/task_orders/new", methods=["POST"])
|
||||
@task_orders_bp.route(
|
||||
"/portfolios/<portfolio_id>/task_orders/<task_order_id>", methods=["POST"]
|
||||
)
|
||||
@task_orders_bp.route("/task_orders/<task_order_id>", 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
|
||||
|
@ -42,7 +42,6 @@
|
||||
|
||||
a.action-group__action.icon-link {
|
||||
width: auto;
|
||||
|
||||
}
|
||||
|
||||
input {
|
||||
|
@ -22,7 +22,7 @@
|
||||
{% endcall %}
|
||||
|
||||
{% call StickyCTA(text="Review Funding") %}
|
||||
<a href="{{ url_for("task_orders.edit", portfolio_id=portfolio.id, task_order_id=task_order.id) }}" class="usa-button usa-button-secondary" type="submit">Edit</a>
|
||||
<a href="{{ url_for("task_orders.edit", task_order_id=task_order.id) }}" class="usa-button usa-button-secondary" type="submit">Edit</a>
|
||||
<a v-on:click="openModal('submit-to-1')" class="usa-button usa-button-primary" type="submit">Submit task order</a>
|
||||
{% endcall %}
|
||||
|
||||
|
@ -100,7 +100,7 @@
|
||||
<div class="task-order">
|
||||
{% 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 %}
|
||||
|
@ -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,
|
||||
)
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user