diff --git a/atst/domain/requests/requests.py b/atst/domain/requests/requests.py index bdb05dbc..bd5fd380 100644 --- a/atst/domain/requests/requests.py +++ b/atst/domain/requests/requests.py @@ -155,6 +155,10 @@ class Requests(object): def is_pending_ccpo_action(cls, request): return Requests.is_pending_ccpo_acceptance(request) or Requests.is_pending_ccpo_approval(request) + @classmethod + def is_approved(cls, request): + return request.status == RequestStatus.APPROVED + @classmethod def status_count(cls, status, creator=None): return RequestsQuery.status_count(status, creator) diff --git a/atst/filters.py b/atst/filters.py index b0ceda9c..0ee5f1cd 100644 --- a/atst/filters.py +++ b/atst/filters.py @@ -31,7 +31,7 @@ def readableInteger(value): def getOptionLabel(value, options): if hasattr(value, "value"): - value = value.value + value = value.name try: return next(tup[1] for tup in options if tup[0] == value) except StopIteration: diff --git a/atst/routes/requests/approval.py b/atst/routes/requests/approval.py index 55a4c967..e813f726 100644 --- a/atst/routes/requests/approval.py +++ b/atst/routes/requests/approval.py @@ -42,8 +42,7 @@ def render_approval(request, form=None): current_status=request.status.value, pending_review=pending_review, financial_review=pending_final_approval, - pdf_available=request.task_order and request.task_order.pdf, - f=form, + f=form or CCPOReviewForm(), internal_comment_form=internal_comment_form, ) diff --git a/atst/routes/requests/index.py b/atst/routes/requests/index.py index c55890dd..360668c0 100644 --- a/atst/routes/requests/index.py +++ b/atst/routes/requests/index.py @@ -66,7 +66,7 @@ class RequestsIndex(object): return url_for( "requests.financial_verification", request_id=request.id, extended=True ) - elif Requests.is_pending_ccpo_action(request): + elif Requests.is_pending_ccpo_action(request) or Requests.is_approved(request): return url_for("requests.view_request_details", request_id=request.id) else: return url_for( diff --git a/atst/routes/requests/requests_form.py b/atst/routes/requests/requests_form.py index 7a2b95c5..2b6fd5cf 100644 --- a/atst/routes/requests/requests_form.py +++ b/atst/routes/requests/requests_form.py @@ -127,9 +127,18 @@ def requests_submit(request_id=None): @requests_bp.route("/requests/details/", methods=["GET"]) def view_request_details(request_id=None): request = Requests.get(g.current_user, request_id) + financial_review=Requests.is_pending_ccpo_approval(request) or Requests.is_approved(request) + + data = request.body + if financial_review and request.task_order: + data["task_order"] = request.task_order.to_dictionary() + return render_template( "requests/view_pending.html", - data=request.body, + data=data, request_id=request.id, - pending_review=Requests.is_pending_ccpo_action(request) + status=request.status_displayname, + pending_review=Requests.is_pending_ccpo_action(request), + financial_verification=Requests.is_pending_financial_verification(request), + financial_review=financial_review, ) diff --git a/templates/requests/_review.html b/templates/requests/_review.html index 4caeaf53..d93a7ed2 100644 --- a/templates/requests/_review.html +++ b/templates/requests/_review.html @@ -139,13 +139,11 @@ Financial Verification - {% if pdf_available %} -
- - Download the Task Order PDF - -
- {% endif %} +
+ + Download the Task Order PDF + +
{{ DefinitionReviewField("Task Order Information Source", "task_order", "source", filter="getOptionLabel", filter_args=[task_order_sources]) }} diff --git a/templates/requests/view_pending.html b/templates/requests/view_pending.html index ddde2d55..e4520cfb 100644 --- a/templates/requests/view_pending.html +++ b/templates/requests/view_pending.html @@ -5,9 +5,11 @@ {% block content %}
- {% with complete=False %} - {% include 'requests/review_menu.html' %} - {% endwith %} + {% if financial_verification %} + {% with complete=False %} + {% include 'requests/review_menu.html' %} + {% endwith %} + {% endif %} {% if pending_review %} {{ Alert('Your request is being reviewed', @@ -18,7 +20,8 @@
-

View Pending Request

+

Request Details


+

#{{ request_id }} {{ status }}