ensure correct forms display when financial verification changes requested

This commit is contained in:
dandds 2018-09-13 11:12:18 -04:00
parent 636f5b3315
commit a84e18d888
3 changed files with 28 additions and 15 deletions

View File

@ -153,7 +153,9 @@ class Requests(object):
@classmethod @classmethod
def is_pending_ccpo_action(cls, request): def is_pending_ccpo_action(cls, request):
return Requests.is_pending_ccpo_acceptance(request) or Requests.is_pending_ccpo_approval(request) return Requests.is_pending_ccpo_acceptance(
request
) or Requests.is_pending_ccpo_approval(request)
@classmethod @classmethod
def is_approved(cls, request): def is_approved(cls, request):

View File

@ -13,8 +13,14 @@ def task_order_data(task_order):
return data return data
def financial_form(data): def is_extended(request):
if http_request.args.get("extended"): return http_request.args.get(
"extended"
) or Requests.is_pending_financial_verification_changes(request)
def financial_form(request, data):
if is_extended(request):
return ExtendedFinancialForm(data=data) return ExtendedFinancialForm(data=data)
else: else:
return FinancialForm(data=data) return FinancialForm(data=data)
@ -27,12 +33,12 @@ def financial_verification(request_id=None):
if request.task_order: if request.task_order:
form_data.update(task_order_data(request.task_order)) form_data.update(task_order_data(request.task_order))
form = financial_form(form_data) form = financial_form(request, form_data)
return render_template( return render_template(
"requests/financial_verification.html", "requests/financial_verification.html",
f=form, f=form,
request_id=request_id, request_id=request_id,
extended=http_request.args.get("extended"), extended=is_extended(request),
) )
@ -40,9 +46,9 @@ def financial_verification(request_id=None):
def update_financial_verification(request_id): def update_financial_verification(request_id):
post_data = http_request.form post_data = http_request.form
existing_request = Requests.get(g.current_user, request_id) existing_request = Requests.get(g.current_user, request_id)
form = financial_form(post_data) form = financial_form(existing_request, post_data)
rerender_args = dict( rerender_args = dict(
request_id=request_id, f=form, extended=http_request.args.get("extended") request_id=request_id, f=form, extended=is_extended(existing_request)
) )
if form.validate(): if form.validate():

View File

@ -127,18 +127,23 @@ def requests_submit(request_id=None):
@requests_bp.route("/requests/details/<string:request_id>", methods=["GET"]) @requests_bp.route("/requests/details/<string:request_id>", methods=["GET"])
def view_request_details(request_id=None): def view_request_details(request_id=None):
request = Requests.get(g.current_user, request_id) request = Requests.get(g.current_user, request_id)
financial_review=Requests.is_pending_ccpo_approval(request) or Requests.is_approved(request) financial_review = (
Requests.is_pending_ccpo_approval(request)
or Requests.is_approved(request)
or Requests.is_pending_financial_verification_changes(request)
)
data = request.body data = request.body
if financial_review and request.task_order: if financial_review and request.task_order:
data["task_order"] = request.task_order.to_dictionary() data["task_order"] = request.task_order.to_dictionary()
return render_template( return render_template(
"requests/view_pending.html", "requests/view_pending.html",
data=data, data=data,
request_id=request.id, request_id=request.id,
status=request.status_displayname, status=request.status_displayname,
pending_review=Requests.is_pending_ccpo_action(request), pending_review=Requests.is_pending_ccpo_action(request),
financial_verification=Requests.is_pending_financial_verification(request), financial_verification=Requests.is_pending_financial_verification(request)
financial_review=financial_review, or Requests.is_pending_financial_verification_changes(request),
financial_review=financial_review,
) )