Add second step
This commit is contained in:
parent
45390835ed
commit
6ab3e24883
@ -27,21 +27,9 @@ def render_task_orders_edit(template, portfolio_id=None, task_order_id=None, for
|
|||||||
return render_template(template, **render_args)
|
return render_template(template, **render_args)
|
||||||
|
|
||||||
|
|
||||||
@task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/step_1")
|
def update_task_order(
|
||||||
@task_orders_bp.route("/task_orders/<task_order_id>/step_1")
|
form_data, next_page, current_template, portfolio_id=None, task_order_id=None
|
||||||
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
|
):
|
||||||
def add_to_pdf(portfolio_id=None, task_order_id=None):
|
|
||||||
return render_task_orders_edit(
|
|
||||||
"task_orders/step_1.html", portfolio_id, task_order_id
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/step-1", methods=["POST"])
|
|
||||||
@task_orders_bp.route("/task_orders/<task_order_id>/step_1", methods=["POST"])
|
|
||||||
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
|
|
||||||
def upload_to_pdf(portfolio_id=None, task_order_id=None):
|
|
||||||
form_data = {**http_request.form, **http_request.files}
|
|
||||||
# todo: pass in route for step 2
|
|
||||||
form = None
|
form = None
|
||||||
if task_order_id:
|
if task_order_id:
|
||||||
task_order = TaskOrders.get(task_order_id)
|
task_order = TaskOrders.get(task_order_id)
|
||||||
@ -57,20 +45,64 @@ def upload_to_pdf(portfolio_id=None, task_order_id=None):
|
|||||||
else:
|
else:
|
||||||
task_order = TaskOrders.create(g.current_user, portfolio_id, **form.data)
|
task_order = TaskOrders.create(g.current_user, portfolio_id, **form.data)
|
||||||
|
|
||||||
return redirect(
|
return redirect(url_for(next_page, task_order_id=task_order.id))
|
||||||
url_for(
|
|
||||||
"task_orders.portfolio_funding", portfolio_id=task_order.portfolio_id
|
|
||||||
)
|
|
||||||
)
|
|
||||||
else:
|
else:
|
||||||
return (
|
return (
|
||||||
render_task_orders_edit(
|
render_task_orders_edit(
|
||||||
"task_orders/step_1.html", portfolio_id, task_order_id, form
|
current_template, portfolio_id, task_order_id, form
|
||||||
),
|
),
|
||||||
400,
|
400,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/step_1")
|
||||||
|
@task_orders_bp.route("/task_orders/<task_order_id>/step_1")
|
||||||
|
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
|
||||||
|
def add_to_pdf(portfolio_id=None, task_order_id=None):
|
||||||
|
return render_task_orders_edit(
|
||||||
|
"task_orders/step_1.html",
|
||||||
|
portfolio_id=portfolio_id,
|
||||||
|
task_order_id=task_order_id,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/step-1", methods=["POST"])
|
||||||
|
@task_orders_bp.route("/task_orders/<task_order_id>/step_1", methods=["POST"])
|
||||||
|
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
|
||||||
|
def upload_to_pdf(portfolio_id=None, task_order_id=None):
|
||||||
|
form_data = {**http_request.form, **http_request.files}
|
||||||
|
next_page = "task_orders.add_to_number"
|
||||||
|
current_template = "task_orders/step_1.html"
|
||||||
|
|
||||||
|
return update_task_order(
|
||||||
|
form_data,
|
||||||
|
next_page,
|
||||||
|
current_template,
|
||||||
|
portfolio_id=portfolio_id,
|
||||||
|
task_order_id=task_order_id,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@task_orders_bp.route("/task_orders/<task_order_id>/step_2")
|
||||||
|
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
|
||||||
|
def add_to_number(task_order_id):
|
||||||
|
return render_task_orders_edit(
|
||||||
|
"task_orders/step_2.html", task_order_id=task_order_id
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@task_orders_bp.route("/task_orders/<task_order_id>/step_2", methods=["POST"])
|
||||||
|
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
|
||||||
|
def update_to_number(task_order_id):
|
||||||
|
form_data = {**http_request.form}
|
||||||
|
next_page = "task_orders.add_to_pdf"
|
||||||
|
current_template = "task_orders/step_2.html"
|
||||||
|
|
||||||
|
return update_task_order(
|
||||||
|
form_data, next_page, current_template, task_order_id=task_order_id
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/new")
|
@task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/new")
|
||||||
@task_orders_bp.route("/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")
|
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
|
||||||
|
45
templates/task_orders/step_2.html
Normal file
45
templates/task_orders/step_2.html
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{% extends "portfolios/base.html" %}
|
||||||
|
|
||||||
|
{% from "components/sticky_cta.html" import StickyCTA %}
|
||||||
|
{% from 'components/text_input.html' import TextInput %}
|
||||||
|
|
||||||
|
{% block portfolio_content %}
|
||||||
|
{% set action = url_for("task_orders.update_to_number", task_order_id=task_order_id) %}
|
||||||
|
|
||||||
|
<base-form inline-template>
|
||||||
|
<form id="upload-to-pdf" action='{{ action }}' method="POST" autocomplete="off" enctype="multipart/form-data">
|
||||||
|
{{ form.csrf_token }}
|
||||||
|
|
||||||
|
{% call StickyCTA(text=('task_orders.form.sticky_header_text' | translate )) %}
|
||||||
|
<span class="action-group">
|
||||||
|
<input
|
||||||
|
type="submit"
|
||||||
|
formaction="{{ action }}"
|
||||||
|
tabindex="0"
|
||||||
|
:disabled="!changed"
|
||||||
|
value="Next: Add Base CLIN"
|
||||||
|
form="upload-to-pdf"
|
||||||
|
class="usa-button usa-button-primary">
|
||||||
|
<input
|
||||||
|
type="button"
|
||||||
|
class="usa-button usa-button-secondary"
|
||||||
|
tabindex="0"
|
||||||
|
value="Previous"
|
||||||
|
form="upload-to-pdf"/>
|
||||||
|
<a
|
||||||
|
href="{{ cancel_url }}"
|
||||||
|
class="action-group__action icon-link">
|
||||||
|
{{ "common.cancel" | translate }}
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
{% endcall %}
|
||||||
|
|
||||||
|
<div class="h1">
|
||||||
|
{{ 'task_orders.form.add_to_header' | translate }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{ TextInput(form.number, validation='taskOrderNumber', optional=False) }}
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</base-form>
|
||||||
|
{% endblock %}
|
@ -53,6 +53,26 @@ def test_task_orders_upload_to_pdf(
|
|||||||
assert task_order.pdf.filename == pdf_upload.filename
|
assert task_order.pdf.filename == pdf_upload.filename
|
||||||
|
|
||||||
|
|
||||||
|
def test_task_orders_add_to_number(client, user_session, task_order):
|
||||||
|
user_session(task_order.creator)
|
||||||
|
response = client.get(
|
||||||
|
url_for("task_orders.add_to_number", task_order_id=task_order.id)
|
||||||
|
)
|
||||||
|
assert response.status_code == 200
|
||||||
|
|
||||||
|
|
||||||
|
def test_task_orders_update_to_number(client, user_session, task_order):
|
||||||
|
user_session(task_order.creator)
|
||||||
|
form_data = {"number": "1234567890"}
|
||||||
|
response = client.post(
|
||||||
|
url_for("task_orders.update_to_number", task_order_id=task_order.id),
|
||||||
|
data=form_data,
|
||||||
|
)
|
||||||
|
|
||||||
|
assert response.status_code == 302
|
||||||
|
assert task_order.number == "1234567890"
|
||||||
|
|
||||||
|
|
||||||
def test_task_orders_save_incomplete(client, user_session, portfolio):
|
def test_task_orders_save_incomplete(client, user_session, portfolio):
|
||||||
user_session(portfolio.owner)
|
user_session(portfolio.owner)
|
||||||
form_data = {
|
form_data = {
|
||||||
@ -92,6 +112,27 @@ def test_task_orders_upload_to_pdf_existing_to(
|
|||||||
assert task_order.pdf.filename == pdf_upload.filename
|
assert task_order.pdf.filename == pdf_upload.filename
|
||||||
|
|
||||||
|
|
||||||
|
def test_task_orders_add_to_number_existing_to(client, user_session, task_order):
|
||||||
|
user_session(task_order.creator)
|
||||||
|
response = client.get(
|
||||||
|
url_for("task_orders.add_to_number", task_order_id=task_order.id)
|
||||||
|
)
|
||||||
|
assert response.status_code == 200
|
||||||
|
|
||||||
|
|
||||||
|
def test_task_orders_update_to_number_existing_to(client, user_session, task_order):
|
||||||
|
user_session(task_order.creator)
|
||||||
|
form_data = {"number": "0000000000"}
|
||||||
|
original_number = task_order.number
|
||||||
|
response = client.post(
|
||||||
|
url_for("task_orders.upload_to_pdf", task_order_id=task_order.id),
|
||||||
|
data=form_data,
|
||||||
|
)
|
||||||
|
assert response.status_code == 302
|
||||||
|
assert task_order.number == "0000000000"
|
||||||
|
assert task_order.number != original_number
|
||||||
|
|
||||||
|
|
||||||
def test_task_orders_update_existing_to(client, user_session, task_order):
|
def test_task_orders_update_existing_to(client, user_session, task_order):
|
||||||
user_session(task_order.creator)
|
user_session(task_order.creator)
|
||||||
form_data = {
|
form_data = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user