diff --git a/atst/domain/requests.py b/atst/domain/requests.py index 3986a849..23290085 100644 --- a/atst/domain/requests.py +++ b/atst/domain/requests.py @@ -150,3 +150,7 @@ class Requests(object): @classmethod def is_pending_financial_verification(cls, request): return request.status == RequestStatus.PENDING_FINANCIAL_VERIFICATION + + @classmethod + def is_pending_ccpo_approval(cls, request): + return request.status == RequestStatus.PENDING_CCPO_APPROVAL diff --git a/atst/routes/requests/index.py b/atst/routes/requests/index.py index f756836f..5b7984ee 100644 --- a/atst/routes/requests/index.py +++ b/atst/routes/requests/index.py @@ -9,8 +9,10 @@ def map_request(request): time_created = pendulum.instance(request.time_created) is_new = time_created.add(days=1) > pendulum.now() app_count = request.body.get("details_of_use", {}).get("num_software_systems", 0) - update_url = url_for('requests.requests_form_update', screen=1, request_id=request.id) - verify_url = url_for('requests.financial_verification', request_id=request.id) + update_url = url_for( + "requests.requests_form_update", screen=1, request_id=request.id + ) + verify_url = url_for("requests.financial_verification", request_id=request.id) return { "order_id": request.id, @@ -19,7 +21,9 @@ def map_request(request): "app_count": app_count, "date": time_created.format("M/DD/YYYY"), "full_name": request.creator.full_name, - "edit_link": verify_url if Requests.is_pending_financial_verification(request) else update_url + "edit_link": verify_url if Requests.is_pending_financial_verification( + request + ) else update_url, } @@ -34,5 +38,11 @@ def requests_index(): mapped_requests = [map_request(r) for r in requests] pending_fv = any(Requests.is_pending_financial_verification(r) for r in requests) + pending_ccpo = any(Requests.is_pending_ccpo_approval(r) for r in requests) - return render_template("requests.html", requests=mapped_requests, pending_financial_verification=pending_fv) + return render_template( + "requests.html", + requests=mapped_requests, + pending_financial_verification=pending_fv, + pending_ccpo_approval=pending_ccpo, + ) diff --git a/atst/routes/requests/requests_form.py b/atst/routes/requests/requests_form.py index e8b1d5b7..c027890c 100644 --- a/atst/routes/requests/requests_form.py +++ b/atst/routes/requests/requests_form.py @@ -105,7 +105,7 @@ def requests_submit(request_id=None): return redirect("/requests?modal=pendingFinancialVerification") else: - return redirect("/requests") + return redirect("/requests?modal=pendingCCPOApproval") # TODO: generalize this, along with other authorizations, into a policy-pattern diff --git a/js/index.js b/js/index.js index 07da8d42..b13d1a6a 100644 --- a/js/index.js +++ b/js/index.js @@ -21,6 +21,7 @@ const app = new Vue({ modals: { styleguideModal: false, pendingFinancialVerification: false, + pendingCCPOApproval: false, } } }, diff --git a/templates/fragments/pending_ccpo_approval_alert.html b/templates/fragments/pending_ccpo_approval_alert.html new file mode 100644 index 00000000..1d2e9255 --- /dev/null +++ b/templates/fragments/pending_ccpo_approval_alert.html @@ -0,0 +1,11 @@ +
+ We will review and respond to your request in 72 hours. You’ll be notified via email or phone. +
+ ++ While your request is being reviewed, your next step is to create a Task Order associated with JEDI Cloud. Please contact a Contracting Officer (KO), Contracting Officer Representative (COR), or a Financial Manager to help with this step. +
+ ++ Learn more about the JEDI Task Order and the Financial Verification process. +
diff --git a/templates/fragments/pending_ccpo_approval_modal.html b/templates/fragments/pending_ccpo_approval_modal.html new file mode 100644 index 00000000..68a48c2d --- /dev/null +++ b/templates/fragments/pending_ccpo_approval_modal.html @@ -0,0 +1,35 @@ ++ We will review and respond to your request in 72 hours. You’ll be notified via email or phone. +
+ ++ Your request is being reviewed because: +
+ While your request is being reviewed, your next step is to create a Task Order associated with JEDI Cloud. Please contact a Contracting Officer (KO), Contracting Officer Representative (COR), or a Financial Manager to help with this step. +
+ ++ Once the Task Order has been created, you will be asked to provide details about the task order in the Financial Verification step. +
+ ++ Learn more about the JEDI Task Order and the Financial Verification process. +
diff --git a/templates/requests.html b/templates/requests.html index df6999ca..4f8c5cc1 100644 --- a/templates/requests.html +++ b/templates/requests.html @@ -16,6 +16,15 @@ {% endcall %} + {% call Modal(name='pendingCCPOApproval', dismissable=True) %} + + {% include 'fragments/pending_ccpo_approval_modal.html' %} + +