diff --git a/atst/app.py b/atst/app.py index 094a61b1..a0b3e491 100644 --- a/atst/app.py +++ b/atst/app.py @@ -10,6 +10,7 @@ from atst.handlers.login import Login from atst.handlers.workspace import Workspace from atst.handlers.request import Request from atst.handlers.request_new import RequestNew +from atst.handlers.request_submit import RequestsSubmit from atst.handlers.dev import Dev from atst.home import home from atst.api_client import ApiClient @@ -71,6 +72,12 @@ def make_app(config, deps, **kwargs): {"page": "requests_new", "requests_client": deps["requests_client"]}, name="request_form_update", ), + url( + r"/requests/submit/(\S+)", + RequestsSubmit, + {"requests_client": deps["requests_client"]}, + name="requests_submit", + ), url(r"/users", MainHandler, {"page": "users"}, name="users"), url(r"/reports", MainHandler, {"page": "reports"}, name="reports"), url(r"/calculator", MainHandler, {"page": "calculator"}, name="calculator"), diff --git a/atst/handlers/request_submit.py b/atst/handlers/request_submit.py new file mode 100644 index 00000000..ed842449 --- /dev/null +++ b/atst/handlers/request_submit.py @@ -0,0 +1,17 @@ +import tornado + +from atst.handler import BaseHandler + + +class RequestsSubmit(BaseHandler): + def initialize(self, requests_client): + self.requests_client = requests_client + + @tornado.web.authenticated + @tornado.gen.coroutine + def post(self, request_id): + yield self.requests_client.post( + "/requests/{}/submit".format(request_id), + allow_nonstandard_methods=True + ) + self.redirect("/requests") diff --git a/templates/requests/screen-4.html.to b/templates/requests/screen-4.html.to index 469dff15..a23fb68b 100644 --- a/templates/requests/screen-4.html.to +++ b/templates/requests/screen-4.html.to @@ -1,5 +1,9 @@ {% extends '../requests_new.html.to' %} +{% block form_action %} +