diff --git a/atst/app.py b/atst/app.py index d095a8bf..4a0f80c4 100644 --- a/atst/app.py +++ b/atst/app.py @@ -68,7 +68,7 @@ def make_flask_callbacks(app): ) g.dev = os.getenv("FLASK_ENV", "dev") == "dev" g.matchesPath = lambda href: re.match("^" + href, request.path) - g.modalOpen = request.args.get("modal", False) + g.modal = request.args.get("modal", None) g.current_user = { "id": "cce17030-4109-4719-b958-ed109dbb87c8", "first_name": "Amanda", diff --git a/atst/routes/requests/requests_form.py b/atst/routes/requests/requests_form.py index d384abdf..15033d47 100644 --- a/atst/routes/requests/requests_form.py +++ b/atst/routes/requests/requests_form.py @@ -4,6 +4,7 @@ from . import requests_bp from atst.domain.requests import Requests from atst.routes.requests.jedi_request_flow import JEDIRequestFlow from atst.models.permissions import Permissions +from atst.models.request_status_event import RequestStatus from atst.domain.exceptions import UnauthorizedError @@ -99,8 +100,8 @@ def requests_submit(request_id=None): request = Requests.get(request_id) Requests.submit(request) - if request.status == "approved": - return redirect("/requests?modal=True") + if request.status == RequestStatus.PENDING_FINANCIAL_VERIFICATION: + return redirect("/requests?modal=pendingFinancialVerification") else: return redirect("/requests") diff --git a/js/index.js b/js/index.js index 59883c65..07da8d42 100644 --- a/js/index.js +++ b/js/index.js @@ -20,7 +20,15 @@ const app = new Vue({ return { modals: { styleguideModal: false, + pendingFinancialVerification: false, } } + }, + mounted: function() { + const modalOpen = document.querySelector("#modalOpen"); + if (modalOpen) { + const modal = modalOpen.getAttribute("data-modal"); + this.modals[modal] = true; + } } }) diff --git a/templates/base.html b/templates/base.html index 8416032f..a29a6c04 100644 --- a/templates/base.html +++ b/templates/base.html @@ -35,6 +35,11 @@ {% include 'footer.html' %} {% block modal %}{% endblock %} + + {% if g.modal %} +
+
+ {% endif %} {% assets "js_all" %} diff --git a/templates/requests.html b/templates/requests.html index 25520ac2..4bb7509b 100644 --- a/templates/requests.html +++ b/templates/requests.html @@ -4,37 +4,32 @@ {% from "components/modal.html" import Modal %} {% from "components/empty_state.html" import EmptyState %} -{% block modal %} - {% if g.modalOpen %} - {% call Modal() %} -

Your request is now approved!

- -

- Your next step is to create a Task Order (T.O.) associated with - JEDI Cloud. Please consult a Contracting Officer (KO) or - Contracting Officer Representative (COR) to help with this step. -

- -

- Once the Task Order (T.O.) has been created, we will need the following - details to create your account. These details will help keep your cloud - usage in sync with your budget. -

- - {{ Alert("You'll need these details: ", - message="

Task Order Number

Contracting Officer: Name, E-mail and Office

" - ) }} - - -
- Close -
- {% endcall %} - {% endif %} -{% endblock %} - {% block content %} + {% call Modal(name='pendingFinancialVerification', dismissable=True) %} +

Your request is now approved!

+ +

+ Your next step is to create a Task Order (T.O.) associated with + JEDI Cloud. Please consult a Contracting Officer (KO) or + Contracting Officer Representative (COR) to help with this step. +

+ +

+ Once the Task Order (T.O.) has been created, we will need the following + details to create your account. These details will help keep your cloud + usage in sync with your budget. +

+ + {{ Alert("You'll need these details: ", + message="

Task Order Number

Contracting Officer: Name, E-mail and Office

" + ) }} + +
+ Close +
+ {% endcall %} + {% if not requests %} {{ EmptyState( diff --git a/tests/routes/test_request_submit.py b/tests/routes/test_request_submit.py index 428e056e..f8e61400 100644 --- a/tests/routes/test_request_submit.py +++ b/tests/routes/test_request_submit.py @@ -1,6 +1,7 @@ import pytest from tests.mocks import MOCK_USER from tests.factories import RequestFactory +from atst.models.request_status_event import RequestStatus def _mock_func(*args, **kwargs): @@ -27,12 +28,11 @@ def test_submit_autoapproved_reviewed_request(monkeypatch, client, user_session) user_session() monkeypatch.setattr("atst.domain.requests.Requests.get", _mock_func) monkeypatch.setattr("atst.domain.requests.Requests.submit", _mock_func) - monkeypatch.setattr("atst.models.request.Request.status", "approved") - # this just needs to send a known invalid form value + monkeypatch.setattr("atst.models.request.Request.status", RequestStatus.PENDING_FINANCIAL_VERIFICATION) response = client.post( "/requests/submit/1", headers={"Content-Type": "application/x-www-form-urlencoded"}, data="", follow_redirects=False, ) - assert "/requests?modal=True" in response.headers["Location"] + assert "/requests?modal=" in response.headers["Location"]