Add routes for first step of TO builder
This commit is contained in:
@@ -8,7 +8,7 @@ from atst.models.permissions import Permissions
|
||||
from atst.utils.flash import formatted_flash as flash
|
||||
|
||||
|
||||
def render_task_orders_edit(portfolio_id=None, task_order_id=None, form=None):
|
||||
def render_task_orders_edit(template, portfolio_id=None, task_order_id=None, form=None):
|
||||
render_args = {}
|
||||
|
||||
if task_order_id:
|
||||
@@ -24,7 +24,51 @@ def render_task_orders_edit(portfolio_id=None, task_order_id=None, form=None):
|
||||
"task_orders.portfolio_funding", portfolio_id=portfolio_id
|
||||
)
|
||||
|
||||
return render_template("task_orders/edit.html", **render_args)
|
||||
return render_template(template, **render_args)
|
||||
|
||||
|
||||
@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, 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
|
||||
if task_order_id:
|
||||
task_order = TaskOrders.get(task_order_id)
|
||||
form = TaskOrderForm(form_data, obj=task_order)
|
||||
else:
|
||||
form = TaskOrderForm(form_data)
|
||||
|
||||
if form.validate():
|
||||
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)
|
||||
|
||||
return redirect(
|
||||
url_for(
|
||||
"task_orders.portfolio_funding", portfolio_id=task_order.portfolio_id
|
||||
)
|
||||
)
|
||||
else:
|
||||
return (
|
||||
render_task_orders_edit(
|
||||
"task_orders/step_1.html", portfolio_id, task_order_id, form
|
||||
),
|
||||
400,
|
||||
)
|
||||
|
||||
|
||||
@task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/new")
|
||||
@@ -64,11 +108,21 @@ def update(portfolio_id=None, task_order_id=None):
|
||||
)
|
||||
# User is trying to review and submit but the TO is not finished
|
||||
elif http_request.args.get("review"):
|
||||
return render_task_orders_edit(portfolio_id, task_order_id, form), 400
|
||||
return (
|
||||
render_task_orders_edit(
|
||||
"task_orders/step_1.html", portfolio_id, task_order_id, form
|
||||
),
|
||||
400,
|
||||
)
|
||||
# User is saving valid but incomplete TO state
|
||||
else:
|
||||
flash("task_order_draft")
|
||||
return redirect(url_for("task_orders.edit", task_order_id=task_order.id))
|
||||
|
||||
else:
|
||||
return render_task_orders_edit(portfolio_id, task_order_id, form), 400
|
||||
return (
|
||||
render_task_orders_edit(
|
||||
"task_orders/step_1.html", portfolio_id, task_order_id, form
|
||||
),
|
||||
400,
|
||||
)
|
||||
|
Reference in New Issue
Block a user