Refactor task order route to check for request args instead of request.referrer

This commit is contained in:
Montana 2019-02-21 10:59:33 -05:00
parent 6628a1441e
commit 12706c3d45
5 changed files with 29 additions and 55 deletions

View File

@ -200,50 +200,32 @@ def get_started():
@task_orders_bp.route("/task_orders/new/<int:screen>/<task_order_id>")
@task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/new/<int:screen>")
def new(screen, task_order_id=None, portfolio_id=None):
workflow = ShowTaskOrderWorkflow(g.current_user, screen, task_order_id)
if task_order_id and screen is 4:
task_order = TaskOrders.get(g.current_user, task_order_id)
if not TaskOrders.all_sections_complete(task_order):
flash("task_order_draft")
workflow = ShowTaskOrderWorkflow(g.current_user, screen, task_order_id)
template_args = {
"current": screen,
"task_order_id": task_order_id,
"portfolio_id": portfolio_id,
"screens": workflow.display_screens,
"form": workflow.form,
"complete": workflow.is_complete,
}
if workflow.task_order:
ko_review_url = url_for(
"portfolios.ko_review",
portfolio_id=workflow.task_order.portfolio.id,
task_order_id=task_order_id,
_external=True,
)
redirect_url = url_for(
template_args["task_order"] = workflow.task_order
if http_request.args.get("ko_edit"):
template_args["ko_edit"] = True
template_args["next"] = url_for(
"portfolios.ko_review",
portfolio_id=workflow.task_order.portfolio.id,
task_order_id=task_order_id,
)
if http_request.referrer == ko_review_url:
return render_template(
workflow.template,
current=screen,
task_order_id=task_order_id,
task_order=workflow.task_order,
portfolio_id=portfolio_id,
screens=workflow.display_screens,
form=workflow.form,
complete=workflow.is_complete,
from_ko_review=True,
next=redirect_url,
)
return render_template(
workflow.template,
current=screen,
task_order_id=task_order_id,
task_order=workflow.task_order,
portfolio_id=portfolio_id,
screens=workflow.display_screens,
form=workflow.form,
complete=workflow.is_complete,
)
return render_template(workflow.template, **template_args)
@task_orders_bp.route("/task_orders/new/<int:screen>", methods=["POST"])

View File

@ -1,9 +0,0 @@
{% from "components/edit_link.html" import EditLink %}
{% macro TOEditLink(task_order=None, screen=1, anchor=None) %}
{% if task_order %}
{{ EditLink(url_for("task_orders.new", screen=screen, task_order_id=task_order.id, _anchor=anchor)) }}
{% else %}
{{ EditLink(url_for("task_orders.new", screen=screen, _anchor=anchor)) }}
{% endif %}
{% endmacro %}

View File

@ -2,7 +2,7 @@
{% set secondary_breadcrumb = "navigation.portfolio_navigation.breadcrumbs.funding" | translate %}
{% from "components/to_edit_link.html" import TOEditLink %}
{% from "components/edit_link.html" import EditLink %}
{% from "components/required_label.html" import RequiredLabel %}
{% from "components/icon.html" import Icon %}
{% from "components/date_picker.html" import DatePicker %}
@ -50,14 +50,14 @@
<div class="h2">
{{ "task_orders.new.review.reporting"| translate }}
{{ TOEditLink(task_order=task_order, screen=1, anchor="reporting") }}
{{ EditLink(url_for("task_orders.new", screen=1, task_order_id=task_order.id, _anchor="reporting", ko_edit=True)) }}
</div>
{% include "fragments/task_order_review/reporting.html" %}
<hr>
<div class="h2">
{{ "task_orders.new.review.funding"| translate }}
{{ TOEditLink(task_order=task_order, screen=2) }}
{{ EditLink(url_for("task_orders.new", screen=2, task_order_id=task_order.id, _anchor="reporting", ko_edit=True)) }}
</div>
{% include "fragments/task_order_review/funding.html" %}
@ -69,7 +69,7 @@
<div class="h2">
{{ "task_orders.new.review.oversight"| translate }}
{{ TOEditLink(task_order=task_order, screen=3) }}
{{ EditLink(url_for("task_orders.new", screen=3, task_order_id=task_order.id, _anchor="reporting", ko_edit=True)) }}
</div>
{% include "fragments/task_order_review/oversight.html" %}
<hr>

View File

@ -9,7 +9,7 @@
{% include "fragments/flash.html" %}
{% block form_action %}
{% if from_ko_review %}
{% if ko_edit %}
<form method='POST' action="{{ url_for('task_orders.update', screen=current, task_order_id=task_order_id, next=next) }}" autocomplete="off" enctype="multipart/form-data">
{% endif %}
@ -43,7 +43,7 @@
{% block next %}
<div class='action-group'>
<input type='submit' class='usa-button usa-button-primary' value='{{ "Save" if from_ko_review else "Save & Continue" }}' />
<input type='submit' class='usa-button usa-button-primary' value='{{ "Save" if ko_edit else "Save & Continue" }}' />
</div>
{% endblock %}

View File

@ -1,6 +1,6 @@
{% extends 'task_orders/_new.html' %}
{% from "components/to_edit_link.html" import TOEditLink %}
{% from "components/edit_link.html" import EditLink %}
{% from "components/required_label.html" import RequiredLabel %}
{% from "components/icon.html" import Icon %}
{% from "components/review_field.html" import ReviewField %}
@ -11,11 +11,12 @@
{% block form %}
<h3 class="subheading">{{ "task_orders.new.review.app_info"| translate }} {{ TOEditLink(task_order=task_order, screen=1) }}</h3>
<h3 class="subheading">{{ "task_orders.new.review.app_info"| translate }} {{ EditLink(url_for("task_orders.new", screen=1, task_order_id=task_order.id)) }}
</h3>
{% include "fragments/task_order_review/app_info.html" %}
<hr>
<h3 class="subheading">{{ "task_orders.new.review.reporting"| translate }} {{ TOEditLink(task_order=task_order, screen=1, anchor="reporting") }}</h3>
<h3 class="subheading">{{ "task_orders.new.review.reporting"| translate }} {{ EditLink(url_for("task_orders.new", screen=1, task_order_id=task_order.id, anchor="reporting")) }}</h3>
<div class="row">
{{
@ -83,11 +84,11 @@
<hr>
<h3 class="subheading">{{ "task_orders.new.review.funding"| translate }} {{ TOEditLink(task_order=task_order, screen=2) }}</h3>
<h3 class="subheading">{{ "task_orders.new.review.funding"| translate }} {{ EditLink(url_for("task_orders.new", screen=2, task_order_id=task_order.id)) }}</h3>
{% include "fragments/task_order_review/funding.html" %}
<hr>
<h3 class="subheading">{{ "task_orders.new.review.oversight"| translate }} {{ TOEditLink(task_order=task_order, screen=3) }}</h3>
<h3 class="subheading">{{ "task_orders.new.review.oversight"| translate }} {{ EditLink(url_for("task_orders.new", screen=3, task_order_id=task_order.id)) }}</h3>
{% include "fragments/task_order_review/oversight.html" %}
{% endblock %}