Replace ko_review template with new task order review

- deletes ko_review vue component
This commit is contained in:
Montana 2019-06-03 13:41:06 -04:00
parent 14a179a239
commit 67be7d99a4
5 changed files with 48 additions and 212 deletions

View File

@ -23,6 +23,13 @@ def view_task_order(task_order_id):
)
@task_orders_bp.route("/task_orders/<task_order_id>/review")
@user_can(Permissions.VIEW_TASK_ORDER_DETAILS, message="review task order details")
def review_task_order(task_order_id):
task_order = TaskOrders.get(task_order_id)
return render_template("portfolios/task_orders/review.html", task_order=task_order)
def serialize_task_order(task_order):
return {
key: getattr(task_order, key)

View File

@ -1,52 +0,0 @@
import textinput from '../text_input'
import DateSelector from '../date_selector'
import uploadinput from '../upload_input'
import inputValidations from '../../lib/input_validations'
import FormMixin from '../../mixins/form'
const createLOA = number => ({ number })
export default {
name: 'ko-review',
mixins: [FormMixin],
components: {
textinput,
DateSelector,
uploadinput,
},
props: {
initialData: {
type: Object,
default: () => ({}),
},
modalName: String,
},
data: function() {
const loa_list = this.initialData['loas']
const loas = (loa_list.length > 0 ? loa_list : ['']).map(createLOA)
return {
loas,
}
},
mounted: function() {
this.$root.$on('onLOAAdded', this.addLOA)
},
methods: {
addLOA: function(event) {
this.loas.push(createLOA(''))
},
removeLOA: function(index) {
if (this.loas.length > 1) {
this.loas.splice(index, 1)
}
},
},
}

View File

@ -35,7 +35,6 @@ import ConfirmationPopover from './components/confirmation_popover'
import { isNotInVerticalViewport } from './lib/viewport'
import DateSelector from './components/date_selector'
import SidenavToggler from './components/sidenav_toggler'
import KoReview from './components/forms/ko_review'
import BaseForm from './components/forms/base_form'
import DeleteConfirmation from './components/delete_confirmation'
import NewEnvironment from './components/forms/new_environment'
@ -77,7 +76,6 @@ const app = new Vue({
DateSelector,
EditOfficerForm,
SidenavToggler,
KoReview,
BaseForm,
DeleteConfirmation,
nestedcheckboxinput,

View File

@ -1,113 +1,54 @@
{% extends "base.html" %}
{% extends 'portfolios/base.html' %}
{% set secondary_breadcrumb = "navigation.portfolio_navigation.breadcrumbs.funding" | translate %}
{% from "components/edit_link.html" import EditLink %}
{% from "components/required_label.html" import RequiredLabel %}
{% from "components/icon.html" import Icon %}
{% from "components/date_picker.html" import DatePicker %}
{% from "components/text_input.html" import TextInput %}
{% from "components/alert.html" import Alert %}
{% from "components/review_field.html" import ReviewField %}
{% from "components/upload_input.html" import UploadInput %}
{% from 'components/save_button.html' import SaveButton %}
{% block content %}
<ko-review inline-template v-bind:initial-data='{{ form.data|tojson }}'>
<div class="col task-order-form">
{% include "fragments/flash.html" %}
{% block form_action %}
<form method='POST' action="{{ url_for('task_orders.submit_ko_review', task_order_id=task_order.id, form=form) }}" autocomplete="off" enctype="multipart/form-data">
{% endblock %}
{{ form.csrf_token }}
{% block form %}
<div class="top-message panel">
<h1 class="subheading title">
{{ "task_orders.ko_review.title" | translate }}
</h1>
{% include "fragments/ko_review_message.html" %}
</div>
<div class="panel">
<div class="panel__content">
<div class="h2">
{{ "task_orders.new.review.app_info"| translate }}
</div>
{% include "fragments/task_order_review/app_info.html" %}
<hr>
<div class="h2">
{{ "task_orders.new.review.reporting"| translate }}
{{ EditLink(url_for("task_orders.new", screen=1, task_order_id=task_order.id, _anchor="reporting", ko_edit=True)) }}
</div>
{% include "fragments/task_order_review/reporting.html" %}
<hr>
<div class="h2">
{{ "task_orders.new.review.funding"| translate }}
{{ EditLink(url_for("task_orders.new", screen=2, task_order_id=task_order.id, ko_edit=True)) }}
</div>
{% include "fragments/task_order_review/funding.html" %}
<div class="form__sub-fields">
{{ DatePicker(form.start_date) }}
{{ DatePicker(form.end_date) }}
</div>
<hr>
<div class="h2">
{{ "task_orders.new.review.oversight"| translate }}
{{ EditLink(url_for("task_orders.new", screen=3, task_order_id=task_order.id, ko_edit=True)) }}
</div>
{% include "fragments/task_order_review/oversight.html" %}
<hr>
<div class="h2">{{ "task_orders.ko_review.task_order_information"| translate }}</div>
<div class="form__sub-fields">
{{ UploadInput(form.pdf, show_label=True) }}
{{ TextInput(form.number, placeholder='1234567890') }}
<div class="task-order__loa-list">
<ul>
<li v-for="(loa, i) in loas" class="task-order__loa-list-item">
<div class="usa-input usa-input--validation--anything">
<label :for="'loas-' + i">
<div class="usa-input__title" v-html="'Line of Accounting (LOA) #' + (i + 1)"></div>
</label>
<input type="text" v-model='loa.number' :id="'loas-' + i" placeholder="1234567890"/>
<input type="hidden" :name="'loas-' + i" v-model='loa.number'/>
</div>
<button v-on:click="removeLOA(i)" v-if="loas.length > 1" type="button" class='loa-list-item__remover'>
{{ Icon('trash') }}
<span>Remove</span>
</button>
</li>
</ul>
<div class="task-order__loa-add-item">
<button v-on:click="addLOA" class="icon-link" tabindex="0" type="button">{{ Icon('plus') }} Add another LOA</button>
</div>
</div>
{{ TextInput(form.custom_clauses, paragraph=True) }}
</div>
<div class="task-order-summary">
<div class="h2">Portfolio Name</div>
<semi-collapsible-text inline-template>
<div>
<div v-bind:class="{ 'semi-collapsed' : !open }">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<a v-on:click='toggle' v-show="!open" class="right">More{{ Icon('caret_down') }}</a>
<a v-on:click='toggle' v-show="open" class="right">Less{{ Icon('caret_up') }}</a>
</div>
{% endblock %}
</semi-collapsible-text>
<div class='action-group'>
{{ SaveButton(text="Continue", element="input") }}
</div>
<hr>
</form>
<div class="row">
<div class="col">
<div class="h1">Review your task order</div>
<div class="h4">Task order number - 10 digit found in your system of record</div>
<div>{{task_order.number}}</div>
<hr>
<div class="h3">Funding summary</div>
<div>CLIN 1</div>
<div>CLIN 2</div>
<hr>
<div class="h3">Supporting document</div>
<div class="h4">{{ Icon('ok',classes="icon-validation") }}document</div>
</div>
<div class="col to-sidebar">
<div class="h4">Total obligated funds</div>
<div class="h3">$500,000</div>
<div>reprehenderit in voluptate velit</div>
<hr>
<div class="h4">Total contract amount</div>
<div class="h3">$800,000</div>
</div>
</div>
</div>
</ko-review>
{% endblock %}

View File

@ -1,58 +0,0 @@
{% extends 'portfolios/base.html' %}
{% from "components/icon.html" import Icon %}
{% from "components/text_input.html" import TextInput %}
{% from "components/multi_checkbox_input.html" import MultiCheckboxInput %}
{% from 'components/save_button.html' import SaveButton %}
{% block content %}
{% include "fragments/flash.html" %}
<div class="task-order-summary">
<div class="h2">Portfolio Name</div>
<semi-collapsible-text inline-template>
<div>
<div v-bind:class="{ 'semi-collapsed' : !open }">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<a v-on:click='toggle' v-show="!open" class="right">More{{ Icon('caret_down') }}</a>
<a v-on:click='toggle' v-show="open" class="right">Less{{ Icon('caret_up') }}</a>
</div>
</semi-collapsible-text>
<hr>
<div class="row">
<div class="col">
<div class="h1">Review your task order</div>
<div class="h4">Task order number - 10 digit found in your system of record</div>
<div>0123456789</div>
<hr>
<div class="h3">Funding summary</div>
<div>CLIN 1</div>
<div>CLIN 2</div>
<hr>
<div class="h3">Supporting document</div>
<div class="h4">{{ Icon('ok',classes="icon-validation") }}document</div>
</div>
<div class="col to-sidebar">
<div class="h4">Total obligated funds</div>
<div class="h3">$500,000</div>
<div>reprehenderit in voluptate velit</div>
<hr>
<div class="h4">Total contract amount</div>
<div class="h3">$800,000</div>
</div>
</div>
</div>
{% endblock %}