Remove old task order edit and update routes

This commit is contained in:
leigh-mil
2019-07-16 15:33:17 -04:00
parent b9e14f8719
commit e3c6b08d34
6 changed files with 71 additions and 596 deletions

View File

@@ -5,7 +5,6 @@ from atst.domain.authz.decorator import user_can_access_decorator as user_can
from atst.domain.task_orders import TaskOrders
from atst.forms.task_order import TaskOrderForm, SignatureForm
from atst.models.permissions import Permissions
from atst.utils.flash import formatted_flash as flash
def render_task_orders_edit(template, portfolio_id=None, task_order_id=None, form=None):
@@ -137,60 +136,3 @@ def confirm_signature(task_order_id):
return render_task_orders_edit(
"task_orders/step_5.html", task_order_id=task_order_id, form=SignatureForm()
)
@task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/new")
@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=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("/task_orders/<task_order_id>", methods=["POST"])
@user_can(Permissions.CREATE_TASK_ORDER, message="create new task order")
def update(portfolio_id=None, task_order_id=None):
# TODO: I think saving and incomplete TO and saving a finished one should
# be different routes. It would make the route functions more readable.
form_data = {**http_request.form, **http_request.files}
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)
# TO is finished and user can review and submit
if task_order.is_completed and http_request.args.get("review"):
return redirect(
url_for("task_orders.review_task_order", task_order_id=task_order.id)
)
# User is trying to review and submit but the TO is not finished
elif http_request.args.get("review"):
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(
"task_orders/step_1.html", portfolio_id, task_order_id, form
),
400,
)