Merge pull request #149 from dod-ccpo/request-stuff

Small request form fixes
This commit is contained in:
patricksmithdds 2018-08-09 10:51:44 -04:00 committed by GitHub
commit c9363515be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 33 additions and 11 deletions

View File

@ -143,6 +143,10 @@ class Requests(object):
"primary_poc",
]
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
)
@classmethod
def is_pending_financial_verification(cls, request):
return request.status == RequestStatus.PENDING_FINANCIAL_VERIFICATION

View File

@ -1,5 +1,5 @@
import pendulum
from flask import render_template, g
from flask import render_template, g, url_for
from . import requests_bp
from atst.domain.requests import Requests
@ -9,6 +9,8 @@ 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)
return {
"order_id": request.id,
@ -17,6 +19,7 @@ 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
}

View File

@ -76,7 +76,7 @@ class JEDIRequestFlow(object):
@property
def can_submit(self):
return self.request and self.request.status != "incomplete"
return self.request and Requests.should_allow_submission(self.request)
@property
def next_screen(self):

View File

@ -88,7 +88,7 @@
{% for r in requests %}
<tr>
<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>
</th>
{% endif %}

View File

@ -1,7 +1,15 @@
<div class="progress-menu progress-menu--four">
<ul>
{% 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) }}"
{% if g.matchesPath('/requests/new/{{ loop.index + 1 }}') %}class="active"{% endif %}
>

View File

@ -50,6 +50,13 @@ def test_dont_auto_approve_if_no_dollar_value_specified(new_request):
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):
user_allowed = UserFactory.create()
user_denied = UserFactory.create()