186 lines
6.6 KiB
HTML
186 lines
6.6 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% from "components/icon.html" import Icon %}
|
|
{% from "components/alert.html" import Alert %}
|
|
{% from "components/text_input.html" import TextInput %}
|
|
|
|
{% block content %}
|
|
|
|
<article class='col col--grow request-approval'>
|
|
|
|
{% if f.errors %}
|
|
{{ Alert('There were some errors',
|
|
message="<p>Please see below.</p>",
|
|
level='error'
|
|
) }}
|
|
{% endif %}
|
|
|
|
<section class='panel'>
|
|
<header class='panel__heading request-approval__heading'>
|
|
<h1 class='h2'>Request #{{ request.id }}</h1>
|
|
<span class='label label--info'>{{ current_status }}</span>
|
|
</header>
|
|
|
|
<div class='panel__content'>
|
|
|
|
{% with data=data, request_id=request.id %}
|
|
{% include "requests/_review.html" %}
|
|
{% endwith %}
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
{% if pending_review %}
|
|
<form method="POST" action="{{ url_for("requests.submit_approval", request_id=request.id) }}" autocomplete="off">
|
|
{{ f.csrf_token }}
|
|
<section class='panel'>
|
|
<header class='panel__heading'>
|
|
<h2 class='h3'>Approval Notes</h2>
|
|
</header>
|
|
|
|
<div class='panel__content'>
|
|
|
|
<div class="form__sub-fields">
|
|
|
|
<h3>Instructions for the Requestor</h3>
|
|
|
|
Provide instructions or notes for additional information that is necessary to approve the request here. The requestor may then re-submit the updated request or initiate contact outside of AT-AT if further discussion is required. <b>These notes will be visible to the person making the JEDI Cloud request</b>.
|
|
|
|
{{ TextInput(f.comment, paragraph=True, placeholder="Add notes or comments explaining what changes are being requested or why further discussion is needed about this request.") }}
|
|
|
|
</div>
|
|
|
|
<div class="form-row">
|
|
<div class="form-col">
|
|
<h3>Authorizing Officials</h3>
|
|
<p>This section is not visible to the person making the request. It is only viewable by CCPO staff.</p>
|
|
<p>Provide the name of the key officials for both parties that have authorized this request to move forward.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h4 class="h3">Mission Authorizing Official</h4>
|
|
|
|
|
|
<div class='form-row'>
|
|
|
|
<div class='form-col form-col--half'>
|
|
{{ TextInput(f.fname_mao, placeholder="First name of mission authorizing official") }}
|
|
</div>
|
|
|
|
<div class='form-col form-col--half'>
|
|
{{ TextInput(f.lname_mao, placeholder="Last name of mission authorizing official") }}
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class='form-row'>
|
|
|
|
<div class='form-col form-col--half'>
|
|
{{ TextInput(f.email_mao, placeholder="name@mail.mil") }}
|
|
</div>
|
|
|
|
|
|
<div class='form-col form-col--half'>
|
|
{{ TextInput(f.phone_mao, placeholder="(123) 456-7890", validation='usPhone') }}
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<h4 class="h3">CCPO Authorizing Official</h4>
|
|
|
|
<div class='form-row'>
|
|
|
|
<div class='form-col form-col--half'>
|
|
{{ TextInput(f.fname_ccpo, placeholder="First name of CCPO authorizing official") }}
|
|
</div>
|
|
|
|
<div class='form-col form-col--half'>
|
|
{{ TextInput(f.lname_ccpo, placeholder="Last name of CCPO authorizing official") }}
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</section>
|
|
|
|
<section class='action-group'>
|
|
<input type="submit" name="approved" class='usa-button usa-button-big' value='Approve Request'>
|
|
<input type="submit" name="denied" class='usa-button usa-button-big usa-button-secondary' value='Mark as Changes Requested'>
|
|
<a href='{{ url_for("requests.requests_index") }}' class='icon-link'>
|
|
{{ Icon('x') }}
|
|
<span>Cancel</span>
|
|
</a>
|
|
</section>
|
|
</form>
|
|
{% endif %}
|
|
|
|
<section class='panel'>
|
|
<h4 class="h3">CCPO Internal Notes</h4>
|
|
<p>You may add additional comments and notes for internal CCPO reference and follow-up here.</p>
|
|
<div class='form-row'>
|
|
<div class='form-col'>
|
|
<form method="POST" action="{{ url_for('requests.create_internal_comment', request_id=request.id) }}">
|
|
{{ internal_comment_form.csrf_token }}
|
|
{{ TextInput(internal_comment_form.text, paragraph=True) }}
|
|
<button type="submit">Leave comment</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class='panel'>
|
|
<header class='panel__heading'>
|
|
<h2 class='h3 request-approval__columns__heading'>Approval Log</h2>
|
|
</header>
|
|
<div>
|
|
<div class='approval-log'>
|
|
<ol>
|
|
|
|
{% for status_event in status_events %}
|
|
{% if status_event.review %}
|
|
<li>
|
|
<article class='approval-log__log-item'>
|
|
<div>
|
|
<h3 class='approval-log__log-item__header'>{{ status_event.log_name }} by {{ status_event.review.full_name_reviewer }}</h3>
|
|
{% if status_event.review.comment %}
|
|
<p>{{ status_event.review.comment }}</p>
|
|
{% endif %}
|
|
|
|
<div class='approval-log__behalfs'>
|
|
{% if status_event.review.lname_mao %}
|
|
<div class='approval-log__behalf'>
|
|
<h3 class='approval-log__log-item__header'>Mission Owner approval on behalf of:</h3>
|
|
<span>{{ status_event.review.full_name_mao }}</span>
|
|
<span>{{ status_event.review.email_mao }}</span>
|
|
<span>{{ status_event.review.phone_mao }}</span>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if status_event.review.lname_ccpo %}
|
|
<div class='approval-log__behalf'>
|
|
<h3 class='approval-log__log-item__header'>CCPO approval on behalf of:</h3>
|
|
<span>{{ status_event.review.full_name_ccpo }}</span>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% set timestamp=status_event.time_created | formattedDate("%Y-%m-%d %H:%M:%S %Z") %}
|
|
<footer class='approval-log__log-item__timestamp'><time datetime='{{ timestamp }}'>{{ timestamp }}</time></footer>
|
|
</article>
|
|
</li>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</article>
|
|
|
|
{% endblock %}
|
|
|