From 5b208d9e8dd5110d8803aa429100ac168fc364cb Mon Sep 17 00:00:00 2001 From: leigh-mil Date: Tue, 16 Jul 2019 16:34:58 -0400 Subject: [PATCH] Create TO builder base file and use it to simplify step templates --- js/components/forms/base_form.js | 14 +- js/components/forms/to_form.js | 10 -- templates/task_orders/builder_base.html | 40 +++++ templates/task_orders/step_1.html | 61 ++------ templates/task_orders/step_2.html | 50 ++----- templates/task_orders/step_3.html | 42 +----- templates/task_orders/step_4.html | 187 +++++++++++------------- templates/task_orders/step_5.html | 55 ++----- 8 files changed, 183 insertions(+), 276 deletions(-) create mode 100644 templates/task_orders/builder_base.html diff --git a/js/components/forms/base_form.js b/js/components/forms/base_form.js index ecb47bc4..938eb3cc 100644 --- a/js/components/forms/base_form.js +++ b/js/components/forms/base_form.js @@ -1,4 +1,5 @@ import ally from 'ally.js' +import stickybits from 'stickybits' import DateSelector from '../date_selector' import FormMixin from '../../mixins/form' @@ -8,9 +9,11 @@ import checkboxinput from '../checkbox_input' import levelofwarrant from '../levelofwarrant' import multicheckboxinput from '../multi_checkbox_input' import optionsinput from '../options_input' +import SemiCollapsibleText from '../semi_collapsible_text' import textinput from '../text_input' -import uploadinput from '../upload_input' +import ToForm from './to_form.js' import toggler from '../toggler' +import uploadinput from '../upload_input' export default { name: 'base-form', @@ -22,9 +25,18 @@ export default { levelofwarrant, multicheckboxinput, optionsinput, + SemiCollapsibleText, textinput, + ToForm, toggler, uploadinput, }, mixins: [FormMixin], + directives: { + sticky: { + inserted: el => { + stickybits(el) + }, + }, + }, } diff --git a/js/components/forms/to_form.js b/js/components/forms/to_form.js index adf063ca..2493d123 100644 --- a/js/components/forms/to_form.js +++ b/js/components/forms/to_form.js @@ -1,5 +1,3 @@ -import stickybits from 'stickybits' - import ClinFields from '../clin_fields' import DateSelector from '../date_selector' import FormMixin from '../../mixins/form' @@ -71,12 +69,4 @@ export default { this.obligated = newObligated }, }, - - directives: { - sticky: { - inserted: el => { - stickybits(el) - }, - }, - }, } diff --git a/templates/task_orders/builder_base.html b/templates/task_orders/builder_base.html new file mode 100644 index 00000000..2ad587fe --- /dev/null +++ b/templates/task_orders/builder_base.html @@ -0,0 +1,40 @@ +{% extends "portfolios/base.html" %} + +{% from "components/sticky_cta.html" import StickyCTA %} + +{% block portfolio_content %} + +
+ {{ form.csrf_token }} + + {% call StickyCTA(text=('task_orders.form.sticky_header_text' | translate )) %} + + {% block next_button %} + + {% endblock %} + + + Previous + + + + {{ "common.cancel" | translate }} + + + {% endcall %} + + {% include "fragments/flash.html" %} + + {% block to_builder_form_field %}{% endblock %} + +
+
+{% endblock %} diff --git a/templates/task_orders/step_1.html b/templates/task_orders/step_1.html index bf499fb5..a9199961 100644 --- a/templates/task_orders/step_1.html +++ b/templates/task_orders/step_1.html @@ -1,56 +1,27 @@ -{% extends "portfolios/base.html" %} +{% extends "task_orders/builder_base.html" %} {% from 'components/icon.html' import Icon %} {% from "components/sticky_cta.html" import StickyCTA %} {% from 'components/upload_input.html' import UploadInput %} -{% block portfolio_content %} - {% if task_order_id %} - {% set action = url_for("task_orders.upload_pdf", task_order_id=task_order_id) %} - {% else %} - {% set action = url_for("task_orders.upload_pdf", portfolio_id=portfolio.id) %} - {% endif %} +{% if task_order_id %} + {% set action = url_for("task_orders.upload_pdf", task_order_id=task_order_id) %} +{% else %} + {% set action = url_for("task_orders.upload_pdf", portfolio_id=portfolio.id) %} +{% endif %} - -
- {{ form.csrf_token }} +{% set next_button_text = "Next: Add TO Number" %} +{% set previous_button_link = cancel_url %} - {% call StickyCTA(text=('task_orders.form.sticky_header_text' | translate )) %} - - - - - {{ "common.cancel" | translate }} - - - {% endcall %} - {% include "fragments/flash.html" %} +{% block to_builder_form_field %} +
+ {{ 'task_orders.form.supporting_docs_header' | translate }} +
-
- {{ 'task_orders.form.supporting_docs_header' | translate }} -
+
+ {{ 'task_orders.form.supporting_docs_text' | translate }} {{ Icon('question')}} +
-
- {{ 'task_orders.form.supporting_docs_text' | translate }} {{ Icon('question')}} -
- - {{ UploadInput(form.pdf, watch=True) }} - -
-
+ {{ UploadInput(form.pdf, watch=True) }} {% endblock %} diff --git a/templates/task_orders/step_2.html b/templates/task_orders/step_2.html index 414bdbaa..c388e9c2 100644 --- a/templates/task_orders/step_2.html +++ b/templates/task_orders/step_2.html @@ -1,47 +1,15 @@ -{% extends "portfolios/base.html" %} +{% extends "task_orders/builder_base.html" %} -{% from "components/sticky_cta.html" import StickyCTA %} {% from 'components/text_input.html' import TextInput %} -{% block portfolio_content %} - {% set action = url_for("task_orders.update_number", task_order_id=task_order_id) %} +{% set action = url_for("task_orders.update_number", task_order_id=task_order_id) %} +{% set next_button_text = "Next: Add Base CLIN" %} +{% set previous_button_link = url_for("task_orders.add_pdf", task_order_id=task_order_id) %} - -
- {{ form.csrf_token }} +{% block to_builder_form_field %} +
+ {{ 'task_orders.form.add_to_header' | translate }} +
- {% call StickyCTA(text=('task_orders.form.sticky_header_text' | translate )) %} - - - - - {{ "common.cancel" | translate }} - - - {% endcall %} - - {% include "fragments/flash.html" %} - -
- {{ 'task_orders.form.add_to_header' | translate }} -
- - {{ TextInput(form.number, validation='taskOrderNumber', optional=False) }} - -
-
+ {{ TextInput(form.number, validation='taskOrderNumber', optional=False) }} {% endblock %} diff --git a/templates/task_orders/step_3.html b/templates/task_orders/step_3.html index a893c110..91f9d73b 100644 --- a/templates/task_orders/step_3.html +++ b/templates/task_orders/step_3.html @@ -1,11 +1,14 @@ -{% extends "portfolios/base.html" %} +{% extends "task_orders/builder_base.html" %} {% from 'components/date_picker.html' import DatePicker %} {% from 'components/icon.html' import Icon %} {% from 'components/options_input.html' import OptionsInput %} -{% from "components/sticky_cta.html" import StickyCTA %} {% from 'components/text_input.html' import TextInput %} +{% set action = url_for("task_orders.update_clins", task_order_id=task_order_id) %} +{% set next_button_text = "Next: Review Funding" %} +{% set previous_button_link = url_for("task_orders.add_number", task_order_id=task_order_id) %} + {% macro LOAInput() %}
@@ -89,41 +92,12 @@ {% endmacro %} -{% block portfolio_content %} - {% set action = url_for("task_orders.update_clins", task_order_id=task_order_id) %} +{% block to_builder_form_field %} -
- {{ form.csrf_token }} - - {% call StickyCTA(text=('task_orders.form.sticky_header_text' | translate )) %} - - - - - {{ "common.cancel" | translate }} - - - {% endcall %} - - {% include "fragments/flash.html" %} - +
{{ 'task_orders.form.cloud_funding_header' | translate }}
@@ -375,6 +349,6 @@ {{ Icon('plus') }} {{ 'task_orders.form.add_clin' | translate }} - +
{% endblock %} diff --git a/templates/task_orders/step_4.html b/templates/task_orders/step_4.html index 8d923f8d..9acc87c6 100644 --- a/templates/task_orders/step_4.html +++ b/templates/task_orders/step_4.html @@ -1,119 +1,100 @@ -{% extends "portfolios/base.html" %} +{% extends "task_orders/builder_base.html" %} {% from "components/icon.html" import Icon %} {% from "components/semi_collapsible_text.html" import SemiCollapsibleText %} -{% from "components/sticky_cta.html" import StickyCTA %} {% from "components/totals_box.html" import TotalsBox %} -{% block portfolio_content %} - {% set action = url_for("task_orders.update_number", task_order_id=task_order_id) %} +{% set action = url_for('task_orders.confirm_signature', task_order_id=task_order_id) %} +{% set previous_button_link = url_for("task_orders.add_clins", task_order_id=task_order_id) %} -
- {{ form.csrf_token }} +{% block next_button %} + + Next: Submit Task Order + +{% endblock %} - {% call StickyCTA(text=('task_orders.form.sticky_header_text' | translate )) %} - - - Next: Submit Task Order - - - - {{ "common.cancel" | translate }} - - - {% endcall %} +{% block to_builder_form_field %} +
- {% include "fragments/flash.html" %} + {{ SemiCollapsibleText() }} -
+
- {{ SemiCollapsibleText() }} - -
- -
- {{ "task_orders.review.review_your_task_order" | translate }} -
-

- {{ "task_orders.review.check_paragraph" | translate }} -

-
-
-
- {{ "task_orders.review.task_order_number" | translate }} -
-
{{task_order.number}}
- -
- -
- {{ "task_orders.review.funding_summary" | translate }} -
- - {% for clin in task_order.clins %} -
- {{ "{}".format(clin.jedi_clin_type) | translate}} -
- - - - - - - - - - - - - - - - - - - - -
{{ "task_orders.review.clins.amount" | translate }}{{ "task_orders.review.clins.obligated" | translate }}{{ "task_orders.review.clins.pop_start" | translate }}{{ "task_orders.review.clins.pop_end" | translate }}{{ "task_orders.review.clins.loa" | translate }}
{{ clin.obligated_amount | dollars }} - {% if clin.is_obligated() %} - {{ "common.yes" | translate }} - {% else %} - {{ "common.no" | translate }} - {% endif %} - {{ clin.start_date | formattedDate }}{{ clin.end_date | formattedDate }} - {% for loa in clin.loas %} - - {{ loa }} - -
- {% endfor %} -
- {% endfor %} - -
- -
- {{ "task_orders.review.supporting_document.title" | translate }} -
- +
+ {{ "task_orders.review.review_your_task_order" | translate }} +
+

+ {{ "task_orders.review.check_paragraph" | translate }} +

+
+
+
+ {{ "task_orders.review.task_order_number" | translate }}
- {{ TotalsBox(task_order=task_order) }} +
{{task_order.number}}
+
+ +
+ {{ "task_orders.review.funding_summary" | translate }} +
+ + {% for clin in task_order.clins %} +
+ {{ "{}".format(clin.jedi_clin_type) | translate}} +
+ + + + + + + + + + + + + + + + + + + + +
{{ "task_orders.review.clins.amount" | translate }}{{ "task_orders.review.clins.obligated" | translate }}{{ "task_orders.review.clins.pop_start" | translate }}{{ "task_orders.review.clins.pop_end" | translate }}{{ "task_orders.review.clins.loa" | translate }}
{{ clin.obligated_amount | dollars }} + {% if clin.is_obligated() %} + {{ "common.yes" | translate }} + {% else %} + {{ "common.no" | translate }} + {% endif %} + {{ clin.start_date | formattedDate }}{{ clin.end_date | formattedDate }} + {% for loa in clin.loas %} + + {{ loa }} + +
+ {% endfor %} +
+ {% endfor %} + +
+ +
+ {{ "task_orders.review.supporting_document.title" | translate }} +
+
+ {{ TotalsBox(task_order=task_order) }} +
{% endblock %} diff --git a/templates/task_orders/step_5.html b/templates/task_orders/step_5.html index a0f768d5..e2b1820a 100644 --- a/templates/task_orders/step_5.html +++ b/templates/task_orders/step_5.html @@ -1,50 +1,21 @@ -{% extends "portfolios/base.html" %} +{% extends "task_orders/builder_base.html" %} {% from "components/alert.html" import Alert %} {% from "components/checkbox_input.html" import CheckboxInput %} -{% from "components/sticky_cta.html" import StickyCTA %} -{% block portfolio_content %} - {% set action = url_for("task_orders.submit_task_order", task_order_id=task_order_id) %} +{% set action = url_for("task_orders.submit_task_order", task_order_id=task_order_id) %} +{% set next_button_text = "Next: Confirm & Submit" %} +{% set previous_button_link = url_for("task_orders.review", task_order_id=task_order_id) %} - -
- {{ form.csrf_token }} +{% block to_builder_form_field %} +
+

Signature confirmation: Task Order #{{task_order.number}}

+
- {% call StickyCTA(text=('task_orders.form.sticky_header_text' | translate )) %} - - - - - {{ "common.cancel" | translate }} - - - {% endcall %} + {% call Alert('', + message="All task orders require a Contracting Officer signature." + ) %} -
-

Signature confirmation: Task Order #{{task_order.number}}

-
- - {% call Alert('', - message="All task orders require a Contracting Officer signature." - ) %} - - {{ CheckboxInput(form.signature) }} - {% endcall %} -
-
+ {{ CheckboxInput(form.signature) }} + {% endcall %} {% endblock %}