Merge pull request #149 from dod-ccpo/request-stuff
Small request form fixes
This commit is contained in:
commit
c9363515be
@ -143,6 +143,10 @@ class Requests(object):
|
|||||||
"primary_poc",
|
"primary_poc",
|
||||||
]
|
]
|
||||||
existing_request_sections = request.body.keys()
|
existing_request_sections = request.body.keys()
|
||||||
return request.status == "incomplete" and all(
|
return request.status == RequestStatus.STARTED and all(
|
||||||
section in existing_request_sections for section in all_request_sections
|
section in existing_request_sections for section in all_request_sections
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def is_pending_financial_verification(cls, request):
|
||||||
|
return request.status == RequestStatus.PENDING_FINANCIAL_VERIFICATION
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import pendulum
|
import pendulum
|
||||||
from flask import render_template, g
|
from flask import render_template, g, url_for
|
||||||
|
|
||||||
from . import requests_bp
|
from . import requests_bp
|
||||||
from atst.domain.requests import Requests
|
from atst.domain.requests import Requests
|
||||||
@ -9,6 +9,8 @@ def map_request(request):
|
|||||||
time_created = pendulum.instance(request.time_created)
|
time_created = pendulum.instance(request.time_created)
|
||||||
is_new = time_created.add(days=1) > pendulum.now()
|
is_new = time_created.add(days=1) > pendulum.now()
|
||||||
app_count = request.body.get("details_of_use", {}).get("num_software_systems", 0)
|
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)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"order_id": request.id,
|
"order_id": request.id,
|
||||||
@ -17,6 +19,7 @@ def map_request(request):
|
|||||||
"app_count": app_count,
|
"app_count": app_count,
|
||||||
"date": time_created.format("M/DD/YYYY"),
|
"date": time_created.format("M/DD/YYYY"),
|
||||||
"full_name": request.creator.full_name,
|
"full_name": request.creator.full_name,
|
||||||
|
"edit_link": verify_url if Requests.is_pending_financial_verification(request) else update_url
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ class JEDIRequestFlow(object):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def can_submit(self):
|
def can_submit(self):
|
||||||
return self.request and self.request.status != "incomplete"
|
return self.request and Requests.should_allow_submission(self.request)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def next_screen(self):
|
def next_screen(self):
|
||||||
|
@ -88,7 +88,7 @@
|
|||||||
{% for r in requests %}
|
{% for r in requests %}
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<a class='icon-link icon-link--large' href="{{ url_for('requests.requests_form_update', screen=1, request_id=r['order_id']) if r["status"] != "approved" else url_for('requests.financial_verification', request_id=r['order_id']) }}">{{ r['order_id'] }}</a>
|
<a class='icon-link icon-link--large' href="{{ r['edit_link'] }}">{{ r['order_id'] }}</a>
|
||||||
{% if r['is_new'] %}<span class="usa-label">New</span>
|
{% if r['is_new'] %}<span class="usa-label">New</span>
|
||||||
</th>
|
</th>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -1,7 +1,15 @@
|
|||||||
<div class="progress-menu progress-menu--four">
|
<div class="progress-menu progress-menu--four">
|
||||||
<ul>
|
<ul>
|
||||||
{% for s in screens %}
|
{% for s in screens %}
|
||||||
<li class="progress-menu__item">
|
{% if loop.index < current %}
|
||||||
|
{% set step_indicator = 'complete' %}
|
||||||
|
{% elif loop.index == current %}
|
||||||
|
{% set step_indicator = 'active' %}
|
||||||
|
{% else %}
|
||||||
|
{% set step_indicator = 'incomplete' %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<li class="progress-menu__item progress-menu__item--{{ step_indicator }}">
|
||||||
<a href="{{ url_for('requests.requests_form_update', screen=loop.index, request_id=request_id) if request_id else url_for('requests.requests_form_new', screen=loop.index) }}"
|
<a href="{{ url_for('requests.requests_form_update', screen=loop.index, request_id=request_id) if request_id else url_for('requests.requests_form_new', screen=loop.index) }}"
|
||||||
{% if g.matchesPath('/requests/new/{{ loop.index + 1 }}') %}class="active"{% endif %}
|
{% if g.matchesPath('/requests/new/{{ loop.index + 1 }}') %}class="active"{% endif %}
|
||||||
>
|
>
|
||||||
|
@ -50,6 +50,13 @@ def test_dont_auto_approve_if_no_dollar_value_specified(new_request):
|
|||||||
assert request.status == RequestStatus.PENDING_CCPO_APPROVAL
|
assert request.status == RequestStatus.PENDING_CCPO_APPROVAL
|
||||||
|
|
||||||
|
|
||||||
|
def test_should_allow_submission(new_request):
|
||||||
|
assert Requests.should_allow_submission(new_request)
|
||||||
|
|
||||||
|
del new_request.body['details_of_use']
|
||||||
|
assert not Requests.should_allow_submission(new_request)
|
||||||
|
|
||||||
|
|
||||||
def test_exists(session):
|
def test_exists(session):
|
||||||
user_allowed = UserFactory.create()
|
user_allowed = UserFactory.create()
|
||||||
user_denied = UserFactory.create()
|
user_denied = UserFactory.create()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user