Merge pull request #9 from dod-ccpo/request_screens
Add backend support for a multi-page form
This commit is contained in:
commit
a675b9c0f0
@ -1,5 +1,6 @@
|
||||
import tornado.web
|
||||
from atst.handlers.main import MainHandler
|
||||
from atst.handlers.request import Request
|
||||
from atst.home import home
|
||||
from tornado.web import url
|
||||
|
||||
@ -7,7 +8,8 @@ def make_app(**kwargs):
|
||||
app = tornado.web.Application([
|
||||
url( r"/", MainHandler, {'page': 'login'}, name='login' ),
|
||||
url( r"/home", MainHandler, {'page': 'home'}, name='home' ),
|
||||
url( r"/requests", MainHandler, {'page': 'requests'}, name='requests' ),
|
||||
url( r"/requests", Request, {'page': 'requests'}, name='requests' ),
|
||||
url( r"/requests/([0-9])", Request, {'page': 'requests'}, name='request_form' ),
|
||||
url( r"/users", MainHandler, {'page': 'users'}, name='users' ),
|
||||
url( r"/reports", MainHandler, {'page': 'reports'}, name='reports' ),
|
||||
url( r"/calculator", MainHandler, {'page': 'calculator'}, name='calculator' ),
|
||||
|
@ -2,7 +2,7 @@ from atst.handler import BaseHandler
|
||||
|
||||
class MainHandler(BaseHandler):
|
||||
|
||||
def initialize(self,page):
|
||||
def initialize(self, page):
|
||||
self.page = page
|
||||
|
||||
def get(self):
|
||||
|
31
atst/handlers/request.py
Normal file
31
atst/handlers/request.py
Normal file
@ -0,0 +1,31 @@
|
||||
from atst.handler import BaseHandler
|
||||
|
||||
class Request(BaseHandler):
|
||||
screens = [
|
||||
{ 'title' : 'Details of Use',
|
||||
'subitems' : [
|
||||
{'title' : 'Application Details',
|
||||
'id' : 'application-details'},
|
||||
{'title' : 'Computation',
|
||||
'id' : 'computation' },
|
||||
{'title' : 'Storage',
|
||||
'id' : 'storage' },
|
||||
{'title' : 'Usage',
|
||||
'id' : 'usage' },
|
||||
]},
|
||||
{ 'title' : 'Organizational Info', },
|
||||
{ 'title' : 'Funding/Contracting', },
|
||||
{ 'title' : 'Readiness Survey', },
|
||||
{ 'title' : 'Review & Submit', }
|
||||
]
|
||||
|
||||
def initialize(self, page):
|
||||
self.page = page
|
||||
|
||||
def get(self, screen = 1):
|
||||
self.render( 'requests/screen-%d.html.to' % int(screen),
|
||||
page = self.page,
|
||||
screens = self.screens,
|
||||
current = int(screen),
|
||||
next_screen = int(screen) + 1 )
|
||||
|
@ -4,8 +4,18 @@
|
||||
|
||||
<main class="usa-grid usa-section usa-content usa-layout-docs" id="main-content">
|
||||
|
||||
jedi requests
|
||||
<aside class="usa-width-one-fourth usa-layout-docs-sidenav">
|
||||
{% include 'requests/sidebar.html.to' %}
|
||||
</aside>
|
||||
<div class="usa-width-three-fourths usa-layout-docs-main_content">
|
||||
|
||||
{% block form %}
|
||||
form goes here
|
||||
{% end %}
|
||||
{% block next %}
|
||||
<a class='usa-button usa-button-secondary' href='{{ reverse_url('request_form',next_screen) }}'>next page</a>
|
||||
{% end %}
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{% end %}
|
||||
|
7
templates/requests/screen-1.html.to
Normal file
7
templates/requests/screen-1.html.to
Normal file
@ -0,0 +1,7 @@
|
||||
{% extends '../requests.html.to' %}
|
||||
|
||||
{% block form %}
|
||||
<h3>What is your name?</h3>
|
||||
<input type='textbox'>
|
||||
{% end %}
|
||||
|
7
templates/requests/screen-2.html.to
Normal file
7
templates/requests/screen-2.html.to
Normal file
@ -0,0 +1,7 @@
|
||||
{% extends '../requests.html.to' %}
|
||||
|
||||
{% block form %}
|
||||
<h3>What is your quest?</h3>
|
||||
<input type='textbox'>
|
||||
{% end %}
|
||||
|
7
templates/requests/screen-3.html.to
Normal file
7
templates/requests/screen-3.html.to
Normal file
@ -0,0 +1,7 @@
|
||||
{% extends '../requests.html.to' %}
|
||||
|
||||
{% block form %}
|
||||
<h3>What is your quest?</h3>
|
||||
<input type='textbox'>
|
||||
{% end %}
|
||||
|
7
templates/requests/screen-4.html.to
Normal file
7
templates/requests/screen-4.html.to
Normal file
@ -0,0 +1,7 @@
|
||||
{% extends '../requests.html.to' %}
|
||||
|
||||
{% block form %}
|
||||
<h3>What is your quest?</h3>
|
||||
<input type='textbox'>
|
||||
{% end %}
|
||||
|
10
templates/requests/screen-5.html.to
Normal file
10
templates/requests/screen-5.html.to
Normal file
@ -0,0 +1,10 @@
|
||||
{% extends '../requests.html.to' %}
|
||||
|
||||
{% block form %}
|
||||
<h3>What is your favorite color?</h3>
|
||||
<input type='textbox'>
|
||||
{% end %}
|
||||
|
||||
{% block next %}
|
||||
<b class='usa-button'>MAKE THE REQUEST</b>
|
||||
{% end %}
|
23
templates/requests/sidebar.html.to
Normal file
23
templates/requests/sidebar.html.to
Normal file
@ -0,0 +1,23 @@
|
||||
<ul class="usa-sidenav-list">
|
||||
{% for i,s in enumerate(screens) %}
|
||||
<li>
|
||||
{% if i+1==current %}
|
||||
<a class="usa-current" href="{{ reverse_url('request_form',i+1) }}">
|
||||
{{ i+1 }}. {{ s['title'] }}
|
||||
</a>
|
||||
{% if s.get('subitems') %}
|
||||
<ul class="usa-sidenav-sub_list">
|
||||
{% for j,t in enumerate(s['subitems']) %}
|
||||
<li><a href="#{{ t['id'] }}">{{ t['title'] }}</a></li>
|
||||
{% end %}
|
||||
</ul>
|
||||
{% end %}
|
||||
|
||||
{% else %}
|
||||
<a href='{{ reverse_url('request_form',i+1) }}'>
|
||||
{{ i+1 }}. {{ s['title'] }}
|
||||
</a>
|
||||
{% end %}
|
||||
</li>
|
||||
{% end %}
|
||||
</ul>
|
Loading…
x
Reference in New Issue
Block a user