touch up review page and add route for submitting task order invites
This commit is contained in:
parent
c516f0f74c
commit
c024d12e3b
@ -4,3 +4,4 @@ task_orders_bp = Blueprint("task_orders", __name__)
|
|||||||
|
|
||||||
from . import new
|
from . import new
|
||||||
from . import index
|
from . import index
|
||||||
|
from . import invite
|
||||||
|
15
atst/routes/task_orders/invite.py
Normal file
15
atst/routes/task_orders/invite.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
from flask import redirect, url_for
|
||||||
|
|
||||||
|
from . import task_orders_bp
|
||||||
|
from atst.domain.task_orders import TaskOrders
|
||||||
|
from atst.utils.flash import formatted_flash as flash
|
||||||
|
|
||||||
|
|
||||||
|
# TODO: add a real implementation for this
|
||||||
|
@task_orders_bp.route("/task_orders/invite/<task_order_id>", methods=["POST"])
|
||||||
|
def invite(task_order_id):
|
||||||
|
task_order = TaskOrders.get(task_order_id)
|
||||||
|
flash("task_order_complete", task_order=task_order)
|
||||||
|
return redirect(
|
||||||
|
url_for("workspaces.workspace_members", workspace_id=task_order.workspace.id)
|
||||||
|
)
|
@ -101,6 +101,13 @@ MESSAGES = {
|
|||||||
"message_template": "",
|
"message_template": "",
|
||||||
"category": "success",
|
"category": "success",
|
||||||
},
|
},
|
||||||
|
"task_order_complete": {
|
||||||
|
"title_template": "Task Order Complete",
|
||||||
|
"message_template": """
|
||||||
|
Invitations for {{ task_order.portfolio_name }} have been sent.
|
||||||
|
""",
|
||||||
|
"category": "success",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -18,120 +18,134 @@
|
|||||||
{% set edit_link = EditLink(url_for("task_orders.new", screen=1)) %}
|
{% set edit_link = EditLink(url_for("task_orders.new", screen=1)) %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<h3>Scope (Statement of Work) {{ edit_link }}</h3>
|
<section>
|
||||||
<p>
|
<h3>Scope (Statement of Work) {{ edit_link }}</h3>
|
||||||
|
<p>
|
||||||
{{ task_order.scope or RequiredLabel() }}
|
{{ task_order.scope or RequiredLabel() }}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col col--grow">
|
<div class="col col--grow">
|
||||||
<h3>Period of Performance length {{ edit_link }}</h3>
|
<h3>Period of Performance length {{ edit_link }}</h3>
|
||||||
<p>
|
{{ task_order.period or RequiredLabel() }}
|
||||||
{{ task_order.scope or RequiredLabel() }}
|
</div>
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col col--grow">
|
<div class="col col--grow">
|
||||||
<h3>Total funding requested {{ edit_link }}</h3>
|
<h3>Total funding requested {{ edit_link }}</h3>
|
||||||
<p>
|
{{ task_order.budget }}
|
||||||
{{ task_order.budget }}
|
</div>
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</section>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<h2>Generated Documents</h2>
|
<section>
|
||||||
|
<h2>Generated Documents</h2>
|
||||||
|
|
||||||
<p>
|
<ul class="usa-unstyled-list">
|
||||||
<a href="#" download>
|
<li>
|
||||||
{{ Icon('download') }}
|
<a href="#" download>
|
||||||
Cover Sheet
|
{{ Icon('download') }}
|
||||||
</a>
|
Cover Sheet
|
||||||
</p>
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
<p>
|
<li>
|
||||||
<a href="#" download>
|
<a href="#" download>
|
||||||
{{ Icon('download') }}
|
{{ Icon('download') }}
|
||||||
Market Research
|
Market Research
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</li>
|
||||||
|
|
||||||
{% if task_order %}
|
{% if task_order %}
|
||||||
<p>
|
<li>
|
||||||
<a href="{{ url_for('task_orders.download_summary', task_order_id=task_order.id) }}" download>
|
<a href="{{ url_for('task_orders.download_summary', task_order_id=task_order.id) }}" download>
|
||||||
{{ Icon('download') }}
|
{{ Icon('download') }}
|
||||||
Task Order Draft
|
Task Order Draft
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<p>
|
<li>
|
||||||
<a href="#" download>
|
<a href="#" download>
|
||||||
{{ Icon('download') }}
|
{{ Icon('download') }}
|
||||||
DD 254
|
DD 254
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<h2>Invite Signatories/Collaborators</h2>
|
<section>
|
||||||
|
<h2>Invite Signatories/Collaborators</h2>
|
||||||
|
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<div class="form-col">
|
<div class="form-col">
|
||||||
<div class="usa-input">
|
<div class="usa-input">
|
||||||
<fieldset class="usa-input__choices">
|
<fieldset class="usa-input__choices">
|
||||||
<legend>Financial Oversight</legend>
|
<legend>Financial Oversight</legend>
|
||||||
<p>
|
<p>
|
||||||
{% if task_order.ko_first_name %}
|
{% if task_order.ko_first_name %}
|
||||||
{{ task_order.ko_first_name }}
|
{{ task_order.ko_first_name }}
|
||||||
{{ task_order.ko_last_name }}
|
{{ task_order.ko_last_name }}
|
||||||
{% else %}
|
{% else %}
|
||||||
{{ RequiredLabel() }}
|
{{ RequiredLabel() }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
(Contracting Officer)
|
(Contracting Officer)
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
{% if task_order.ko_first_name %}
|
{% if task_order.ko_first_name %}
|
||||||
{{ task_order.cor_first_name }}
|
{{ task_order.cor_first_name }}
|
||||||
{{ task_order.cor_last_name }}
|
{{ task_order.cor_last_name }}
|
||||||
{% else %}
|
{% else %}
|
||||||
{{ RequiredLabel() }}
|
{{ RequiredLabel() }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
(Contracting Officer Representative)
|
(Contracting Officer Representative)
|
||||||
</p>
|
</p>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-col">
|
||||||
|
<div class="usa-input">
|
||||||
|
<fieldset class="usa-input__choices">
|
||||||
|
<legend>Invite?</legend>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-col">
|
<div class="form-row">
|
||||||
<div class="usa-input">
|
<div class="form-col">
|
||||||
<fieldset class="usa-input__choices">
|
<div class="usa-input">
|
||||||
<legend>Invite?</legend>
|
<fieldset class="usa-input__choices">
|
||||||
</fieldset>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</section>
|
||||||
<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>
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block next %}
|
||||||
|
<div class='action-group'>
|
||||||
|
<input type='submit' class='usa-button usa-button-primary' value='Send Invitations' />
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block form_action %}
|
||||||
|
<form method='POST' action="{{ url_for('task_orders.invite', task_order_id=task_order_id) }}" autocomplete="off">
|
||||||
|
{% endblock %}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user