Merge pull request #543 from dod-ccpo/update-to-form-part-2
Update Task Order Form - Part 2
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="col">
|
||||
<div class="col task-order-form">
|
||||
|
||||
{% include 'task_orders/new/menu.html' %}
|
||||
|
||||
@@ -19,8 +19,10 @@
|
||||
<div class="panel">
|
||||
|
||||
<div class="panel__heading">
|
||||
<div class="subtitle h2">Task Order Builder</div>
|
||||
<h1>{% block heading %}{% endblock %}</h1>
|
||||
<h1 class="task-order-form__heading subheading">
|
||||
<div class="h2">Task Order Builder</div>
|
||||
{% block heading %}{% endblock %}
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div class="panel__content">
|
||||
|
@@ -12,7 +12,7 @@
|
||||
{% block form %}
|
||||
|
||||
<!-- App Info Section -->
|
||||
<h3>{{ "task_orders.new.app_info.basic_info_title"| translate }}</h3>
|
||||
<h3 class="task-order-form__heading subheading">{{ "task_orders.new.app_info.basic_info_title"| translate }}</h3>
|
||||
{{ TextInput(form.portfolio_name, placeholder="The name of your office or organization") }}
|
||||
{{ TextInput(form.scope, paragraph=True) }}
|
||||
<p><i>{{ "task_orders.new.app_info.sample_scope" | translate | safe }}</i></p>
|
||||
@@ -20,20 +20,20 @@
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>{{ "task_orders.new.app_info.project_title" | translate }}</h3>
|
||||
<h3 id="reporting" class="subheading">{{ "task_orders.new.app_info.project_title" | translate }}</h3>
|
||||
{{ OptionsInput(form.app_migration) }}
|
||||
{{ OptionsInput(form.native_apps) }}
|
||||
{{ MultiCheckboxInput(form.complexity, form.complexity_other) }}
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>{{ "task_orders.new.app_info.team_title" | translate }}</h3>
|
||||
<h3 class="subheading">{{ "task_orders.new.app_info.team_title" | translate }}</h3>
|
||||
{{ MultiCheckboxInput(form.dev_team, form.dev_team_other) }}
|
||||
{{ OptionsInput(form.team_experience) }}
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>{{ "task_orders.new.app_info.market_research_title" | translate }}</h3>
|
||||
<h3 class="subheading">{{ "task_orders.new.app_info.market_research_title" | translate }}</h3>
|
||||
<p>{{ "task_orders.new.app_info.market_research_paragraph" | translate | safe }}</p>
|
||||
|
||||
{% endblock %}
|
||||
|
@@ -15,14 +15,14 @@
|
||||
<funding inline-template v-bind:initial-data='{{ form.data|tojson }}'>
|
||||
<div>
|
||||
<!-- Get Funding Section -->
|
||||
<h3>{{ "task_orders.new.funding.performance_period_title" | translate }}</h3>
|
||||
<h3 class="subheading">{{ "task_orders.new.funding.performance_period_title" | translate }}</h3>
|
||||
<p>{{ "task_orders.new.funding.performance_period_description" | translate }}</p>
|
||||
<p>{{ "task_orders.new.funding.performance_period_paragraph" | translate }}</p>
|
||||
{{ OptionsInput(form.performance_length) }}
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>{{ "task_orders.new.funding.estimate_usage_title" | translate }}</h3>
|
||||
<h3 class="subheading">{{ "task_orders.new.funding.estimate_usage_title" | translate }}</h3>
|
||||
<p>{{ "task_orders.new.funding.estimate_usage_description" | translate }}</p>
|
||||
<p><a class="icon-link" href="{{ url_for('atst.jedi_csp_calculator') }}">
|
||||
{{ Icon("link")}} Cloud Service Provider's estimate calculator
|
||||
@@ -36,15 +36,15 @@
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>{{ "task_orders.new.funding.cloud_calculations_title" | translate }}</h3>
|
||||
<h3 class="subheading">{{ "task_orders.new.funding.cloud_calculations_title" | translate }}</h3>
|
||||
<p>{{ "task_orders.new.funding.cloud_calculations_paragraph" | translate }}</p>
|
||||
|
||||
<h4>{{ "task_orders.new.funding.cloud_offerings_title" | translate }}</h4>
|
||||
<h4 class="task-order-form__heading">{{ "task_orders.new.funding.cloud_offerings_title" | translate }}</h4>
|
||||
<p>{{ "task_orders.new.funding.cloud_offerings_paragraph" | translate }}</p>
|
||||
{{ TextInput(form.clin_01, validation='dollars', placeholder="$0.00") }}
|
||||
{{ TextInput(form.clin_02, validation='dollars', disabled=(not config.CLASSIFIED)) }}
|
||||
|
||||
<h4>{{ "task_orders.new.funding.support_assistance_title" | translate }}</h4>
|
||||
<h4 class="task-order-form__heading">{{ "task_orders.new.funding.support_assistance_title" | translate }}</h4>
|
||||
<p>{{ "task_orders.new.funding.support_assistance_paragraph" | translate }}</p>
|
||||
{{ TextInput(form.clin_03, validation='dollars', tooltip='The cloud support and assistance packages cannot be used as a primary development resource.', placeholder="$0.00") }}
|
||||
{{ TextInput(form.clin_04, validation='dollars', tooltip='The cloud support and assistance packages cannot be used as a primary development resource.', disabled=(not config.CLASSIFIED)) }}
|
||||
@@ -56,7 +56,7 @@
|
||||
{% block next %}
|
||||
<div class="row">
|
||||
<div class="col col--grow">
|
||||
<p>{{ "task_orders.new.funding.total" | translate }}<br><span id="to-target"></span></p>
|
||||
<p><strong><span class="task-order-form__heading subheading">{{ "task_orders.new.funding.total" | translate }}</span><br><span id="to-target"></span></strong></p>
|
||||
</div>
|
||||
<div class="col col--grow">
|
||||
{{ super() }}
|
||||
|
@@ -11,7 +11,7 @@
|
||||
{% block form %}
|
||||
|
||||
<!-- Oversight Section -->
|
||||
<h3>{{ "task_orders.new.oversight.ko_info_title" | translate }}</h3>
|
||||
<h3 class="subheading">{{ "task_orders.new.oversight.ko_info_title" | translate }}</h3>
|
||||
<p>{{ "task_orders.new.oversight.ko_info_paragraph" | translate }}</p>
|
||||
{{ UserInfo(form.ko_first_name, form.ko_last_name, form.ko_email, form.ko_phone_number) }}
|
||||
{{ CheckboxInput(form.ko_invite) }}
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
<hr />
|
||||
|
||||
<h3>{{ "task_orders.new.oversight.cor_info_title" | translate }}</h3>
|
||||
<h3 class="subheading">{{ "task_orders.new.oversight.cor_info_title" | translate }}</h3>
|
||||
<p>{{ "task_orders.new.oversight.cor_info_paragraph" | translate }}</p>
|
||||
<div class='usa-input'>
|
||||
<fieldset class="usa-input__choices">
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
<hr />
|
||||
|
||||
<h3>{{ "task_orders.new.oversight.so_info_title" | translate }}</h3>
|
||||
<h3 class="subheading">{{ "task_orders.new.oversight.so_info_title" | translate }}</h3>
|
||||
<p>{{ "task_orders.new.oversight.so_info_paragraph" | translate }}</p>
|
||||
{{ UserInfo(form.so_first_name, form.so_last_name, form.so_email, form.so_phone_number) }}
|
||||
{{ CheckboxInput(form.so_invite) }}
|
||||
|
@@ -5,145 +5,219 @@
|
||||
{% from "components/icon.html" import Icon %}
|
||||
|
||||
{% block heading %}
|
||||
Review & Download
|
||||
{{ "task_orders.new.review.section_title"| translate }}
|
||||
{% endblock %}
|
||||
|
||||
{% block form %}
|
||||
|
||||
{% macro TOEditLink(screen=1) %}
|
||||
{% macro TOEditLink(screen=1, anchor=None) %}
|
||||
{% if task_order %}
|
||||
{{ EditLink(url_for("task_orders.new", screen=screen, task_order_id=task_order.id)) }}
|
||||
{{ EditLink(url_for("task_orders.new", screen=screen, task_order_id=task_order.id, _anchor=anchor)) }}
|
||||
{% else %}
|
||||
{{ EditLink(url_for("task_orders.new", screen=screen)) }}
|
||||
{{ EditLink(url_for("task_orders.new", screen=screen, _anchor=anchor)) }}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
<section>
|
||||
<h3>Scope (Statement of Work) {{ TOEditLink() }}</h3>
|
||||
<p>
|
||||
{{ task_order.scope or RequiredLabel() }}
|
||||
</p>
|
||||
{% if task_order.defense_component %}
|
||||
{% set defense_component_description = task_order.defense_component | normalizeOrder %}
|
||||
{% endif %}
|
||||
|
||||
<div class="row">
|
||||
<div class="col col--grow">
|
||||
<h3>Period of Performance length {{ TOEditLink(screen=2) }}</h3>
|
||||
{{ task_order.performance_length or RequiredLabel() }}
|
||||
</div>
|
||||
{% if task_order.app_migration %}
|
||||
{% set app_migration_description = "forms.task_order.app_migration.{}".format(task_order.app_migration) | translate | removeHtml %}
|
||||
{% endif %}
|
||||
|
||||
<div class="col col--grow">
|
||||
<h3>Total funding requested {{ TOEditLink(screen=2) }}</h3>
|
||||
{{ task_order.budget }}
|
||||
</div>
|
||||
{% if task_order.native_apps %}
|
||||
{% set native_apps_description = "task_orders.new.review.{}_native".format(task_order.native_apps) | translate %}
|
||||
{% endif %}
|
||||
|
||||
{% if task_order.team_experience %}
|
||||
{% set team_experience_description = "forms.task_order.team_experience.{}".format(task_order.team_experience) | translate %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
<h3 class="subheading">{{ "task_orders.new.review.app_info"| translate }} {{ TOEditLink(screen=1) }}</h3>
|
||||
|
||||
<div class="row">
|
||||
<div class="col col--grow">
|
||||
<h4 class='task-order-form__heading'>{{ "task_orders.new.review.portfolio"| translate }}</h4>
|
||||
<p>{{ task_order.portfolio_name or RequiredLabel() }}</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="col col--grow">
|
||||
<h4 class='task-order-form__heading'>{{ "task_orders.new.review.dod"| translate }}</h4>
|
||||
<p>{{ defense_component_description or RequiredLabel() }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h4 class='task-order-form__heading'>{{ "task_orders.new.review.scope"| translate }}</h4>
|
||||
<p>
|
||||
{{ task_order.scope or RequiredLabel() }}
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<section>
|
||||
<h2>Generated Documents</h2>
|
||||
<h3 class="subheading">{{ "task_orders.new.review.reporting"| translate }} {{ TOEditLink(screen=1, anchor="reporting") }}</h3>
|
||||
|
||||
<ul class="usa-unstyled-list">
|
||||
<div class="row">
|
||||
<div class="col col--grow">
|
||||
<h4 class='task-order-form__heading'>{{ "task_orders.new.review.migration"| translate }}</h4>
|
||||
<p>{{ app_migration_description or RequiredLabel() }}</p>
|
||||
</div>
|
||||
|
||||
<div class="col col--grow">
|
||||
<h4 class='task-order-form__heading'>{{ "task_orders.new.review.native_apps"| translate }}</h4>
|
||||
<p>{{ native_apps_description or RequiredLabel() }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h4 class='task-order-form__heading'>{{ "task_orders.new.review.complexity"| translate }}</h4>
|
||||
{% if task_order.complexity %}
|
||||
<ul class="checklist">
|
||||
{% for item in task_order.complexity %}
|
||||
<li>
|
||||
<a href="#" download>
|
||||
{{ Icon('download') }}
|
||||
Cover Sheet
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#" download>
|
||||
{{ Icon('download') }}
|
||||
Market Research
|
||||
</a>
|
||||
</li
|
||||
>
|
||||
|
||||
{% if task_order %}
|
||||
<li>
|
||||
<a href="{{ url_for('task_orders.download_summary', task_order_id=task_order.id) }}" download>
|
||||
{{ Icon('download') }}
|
||||
Task Order Draft
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
<li>
|
||||
<a href="#" download>
|
||||
{{ Icon('download') }}
|
||||
DD 254
|
||||
</a>
|
||||
{{ Icon('ok', classes='icon--gray icon--medium') }}{{ "forms.task_order.complexity.{}".format(item) | translate }}{% if item == 'other' %}: {{ task_order.complexity_other }}{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
||||
{% else %}
|
||||
<p>{{ RequiredLabel() }}</p>
|
||||
{% endif %}
|
||||
|
||||
<div class="row">
|
||||
<div class="col col--grow">
|
||||
<h4 class='task-order-form__heading'>{{ "task_orders.new.review.team"| translate }}</h4>
|
||||
{% if task_order.dev_team %}
|
||||
<ul class="checklist">
|
||||
{% for item in task_order.dev_team %}
|
||||
<li>
|
||||
{% if item == 'other' %}
|
||||
{{ Icon('ok', classes='icon--gray icon--medium') }}Other: {{ task_order.dev_team_other }}
|
||||
{% else %}
|
||||
{{ Icon('ok', classes='icon--gray icon--medium') }}{{ "forms.task_order.dev_team.{}".format(item) | translate }}
|
||||
{% endif %}
|
||||
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<p>{{ RequiredLabel() }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="col col--grow">
|
||||
<h4 class='task-order-form__heading'>{{ "task_orders.new.review.experience"| translate }}</h4>
|
||||
<p>{{ team_experience_description or RequiredLabel() }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<section>
|
||||
<h2>Invite Signatories/Collaborators</h2>
|
||||
<h3 class="subheading">{{ "task_orders.new.review.funding"| translate }} {{ TOEditLink(screen=2) }}</h3>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-col">
|
||||
<div class="usa-input">
|
||||
<fieldset class="usa-input__choices">
|
||||
<legend>Financial Oversight</legend>
|
||||
<p>
|
||||
{% if task_order.ko_first_name %}
|
||||
{{ task_order.ko_first_name }}
|
||||
{{ task_order.ko_last_name }}
|
||||
{% else %}
|
||||
{{ RequiredLabel() }}
|
||||
{% endif %}
|
||||
(Contracting Officer)
|
||||
</p>
|
||||
<p>
|
||||
{% if task_order.ko_first_name %}
|
||||
{{ task_order.cor_first_name }}
|
||||
{{ task_order.cor_last_name }}
|
||||
{% else %}
|
||||
{{ RequiredLabel() }}
|
||||
{% endif %}
|
||||
(Contracting Officer Representative)
|
||||
</p>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-col">
|
||||
<div class="usa-input">
|
||||
<fieldset class="usa-input__choices">
|
||||
<legend>Invite?</legend>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col col--grow">
|
||||
<h4 class='task-order-form__heading'>{{ "task_orders.new.review.performance_period"| translate }}</h4>
|
||||
{{ task_order.performance_length | translateDuration or RequiredLabel() }}
|
||||
<p><a href="#" class='icon-link icon-link--left' download>{{ Icon('download') }} {{ "task_orders.new.review.usage_est_link"| translate }}</a></p>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-col">
|
||||
<div class="usa-input">
|
||||
<fieldset class="usa-input__choices">
|
||||
<legend>Security Officer</legend>
|
||||
<p>
|
||||
{% if task_order.so_first_name %}
|
||||
{{ task_order.so_first_name }}
|
||||
{{ task_order.so_last_name }}
|
||||
{% else %}
|
||||
{{ RequiredLabel() }}
|
||||
{% endif %}
|
||||
(Security Officer)
|
||||
</p>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-col">
|
||||
<div class="usa-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col col--grow">
|
||||
<table class="funding-summary__table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><h4>{{ "task_orders.new.review.to_value"| translate }}</h4></td>
|
||||
<td class="table-cell--align-right">{{ '${:,.2f}'.format(task_order.budget) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><h4 class='task-order-form__heading funding-summary__td'>{{ "task_orders.new.review.clin_1"| translate }}</h4></td>
|
||||
<td class="table-cell--align-right">{{ '${:,.2f}'.format(task_order.clin_01) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><h4 class="task-order-form__heading funding-summary__td{% if not config.CLASSIFIED %} inactive{% endif %}">
|
||||
{{ "task_orders.new.review.clin_2"| translate }}
|
||||
{% if not config.CLASSIFIED %}
|
||||
<div>{{ "task_orders.new.review.classified_inactive"| translate }}</div>
|
||||
{% endif %}
|
||||
</h4></td>
|
||||
<td class="table-cell--align-right">
|
||||
{% if config.CLASSIFIED %}
|
||||
{{ '${:,.2f}'.format(task_order.clin_02) }}
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><h4 class='task-order-form__heading funding-summary__td'>{{ "task_orders.new.review.clin_3"| translate }}</h4></td>
|
||||
<td class="table-cell--align-right">{{ '${:,.2f}'.format(task_order.clin_03) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><h4 class="task-order-form__heading funding-summary__td{% if not config.CLASSIFIED %} inactive{% endif %}">
|
||||
{{ "task_orders.new.review.clin_4"| translate }}
|
||||
{% if not config.CLASSIFIED %}
|
||||
<div>{{ "task_orders.new.review.classified_inactive"| translate }}</div>
|
||||
{% endif %}
|
||||
</h4></td>
|
||||
<td class="table-cell--align-right">
|
||||
{% if config.CLASSIFIED %}
|
||||
{{ '${:,.2f}'.format(task_order.clin_04) }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3 class="subheading">{{ "task_orders.new.review.oversight"| translate }} {{ TOEditLink(screen=3) }}</h3>
|
||||
|
||||
<div class="row">
|
||||
<div class="col col--grow">
|
||||
<h4 class='task-order-form__heading'>{{ "task_orders.new.review.ko"| translate }}</h4>
|
||||
{{ task_order.ko_first_name }} {{ task_order.ko_last_name }}<br>
|
||||
{{ task_order.ko_email }}<br>
|
||||
{{ task_order.ko_phone_number | usPhone }}<br>
|
||||
{{ "task_orders.new.review.dod_id"| translate }} {{ task_order.ko_dod_id}}<br>
|
||||
{% if task_order.ko_invite %}
|
||||
{{ Icon('ok', classes='icon--green') }} <span class="task-order-invite-message sent">{{ "task_orders.new.review.invited"| translate }}</<span>
|
||||
{% else %}
|
||||
{{ Icon('alert', classes='icon--red') }} <span class="task-order-invite-message not-sent">{{ "task_orders.new.review.not_invited"| translate }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="col col--grow">
|
||||
<h4 class='task-order-form__heading'>{{ "task_orders.new.review.cor"| translate }}</h4>
|
||||
{{ task_order.cor_first_name }} {{ task_order.cor_last_name }}<br>
|
||||
{{ task_order.cor_email }}<br>
|
||||
{{ task_order.cor_phone_number | usPhone }}<br>
|
||||
{{ "task_orders.new.review.dod_id"| translate }} {{ task_order.cor_dod_id}}<br>
|
||||
{% if task_order.cor_invite %}
|
||||
{{ Icon('ok', classes='icon--green') }} <span class="task-order-invite-message sent">{{ "task_orders.new.review.invited"| translate }}</<span>
|
||||
{% else %}
|
||||
{{ Icon('alert', classes='icon--red') }} <span class="task-order-invite-message not-sent">{{ "task_orders.new.review.not_invited"| translate }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col col--grow">
|
||||
<h4 class='task-order-form__heading'>{{ "task_orders.new.review.so"| translate }}</h4>
|
||||
{{ task_order.so_first_name }} {{ task_order.so_last_name }}<br>
|
||||
{{ task_order.so_email }}<br>
|
||||
{{ task_order.so_phone_number | usPhone }}<br>
|
||||
{{ "task_orders.new.review.dod_id"| translate }} {{ task_order.so_dod_id}}<br>
|
||||
{% if task_order.so_invite %}
|
||||
{{ Icon('ok', classes='icon--green') }} <span class="task-order-invite-message sent">{{ "task_orders.new.review.invited"| translate }}</<span>
|
||||
{% else %}
|
||||
{{ Icon('alert', classes='icon--red') }} <span class="task-order-invite-message not-sent">{{ "task_orders.new.review.not_invited"| translate }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block next %}
|
||||
<div class='action-group'>
|
||||
<input type='submit' class='usa-button usa-button-primary' value='Send Invitations' />
|
||||
<input type='submit' class='usa-button usa-button-primary' value='Done' />
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
Reference in New Issue
Block a user