96 lines
3.1 KiB
HTML
96 lines
3.1 KiB
HTML
{% from "components/empty_state.html" import EmptyState %}
|
||
{% from "components/icon.html" import Icon %}
|
||
{% from "components/sticky_cta.html" import StickyCTA %}
|
||
|
||
{% extends "portfolios/base.html" %}
|
||
|
||
{% block portfolio_content %}
|
||
|
||
{% macro ViewLink(task_order, text="Edit") %}
|
||
<a href="{{ url_for('task_orders.view_task_order', task_order_id=task_order.id) }}" class="usa-button">
|
||
{{ text }}
|
||
</a>
|
||
{% endmacro %}
|
||
|
||
{% macro TaskOrderDateTime(dt, className="") %}
|
||
<local-datetime timestamp="{{ dt }}" format="MMMM D, YYYY" class="{{ className }}"></local-datetime>
|
||
{% endmacro %}
|
||
|
||
{% macro TaskOrderDate(task_order) %}
|
||
<span class="datetime">
|
||
{% if task_order.is_active %}
|
||
Began {{ TaskOrderDateTime(task_order.start_date) }} | Ends {{ TaskOrderDateTime(task_order.end_date) }}
|
||
{% elif task_order.is_expired %}
|
||
Started {{ TaskOrderDateTime(task_order.start_date) }} | Ended {{ TaskOrderDateTime(task_order.end_date) }}
|
||
{% else %}
|
||
Started {{ TaskOrderDateTime(task_order.start_date) }}
|
||
{% endif %}
|
||
</span>
|
||
{% endmacro %}
|
||
|
||
{% macro TaskOrderActions(task_order) %}
|
||
<div class="task-order-card__buttons">
|
||
{% if task_order.is_pending %}
|
||
{{ ViewLink(task_order, text="Edit") }}
|
||
{% elif task_order.is_active %}
|
||
{{ ViewLink(task_order, text="Modify") }}
|
||
{% else %}
|
||
{{ ViewLink(task_order, text="View") }}
|
||
{% endif %}
|
||
</div>
|
||
{% endmacro %}
|
||
|
||
{% macro TaskOrderList(task_orders, label='success') %}
|
||
<div class="task-order-list">
|
||
{% for task_order in task_orders %}
|
||
<div class="card task-order-card">
|
||
<div class="card__status">
|
||
<span class='label label--{{ label }}'>{{ task_order.display_status }}</span>
|
||
{{ TaskOrderDate(task_order) }}
|
||
<span class="card__status-spacer"></span>
|
||
<span class="card__button">
|
||
{{ TaskOrderActions(task_order) }}
|
||
</span>
|
||
</div>
|
||
<div class="card__header">
|
||
<h3>Task Order #{{ task_order.number }}</h3>
|
||
</div>
|
||
<div class="card__body">
|
||
<b>Obligated amount: </b>${{ task_order.total_obligated_funds }}
|
||
</div>
|
||
</div>
|
||
{% endfor %}
|
||
</div>
|
||
{% endmacro %}
|
||
|
||
|
||
{% call StickyCTA(text="Funding") %}
|
||
<a href="{{ url_for("task_orders.edit", portfolio_id=portfolio.id) }}" class="usa-button usa-button-primary" type="submit">Start a new task order</a>
|
||
{% endcall %}
|
||
|
||
<div class="portfolio-funding">
|
||
|
||
{% if not active_task_orders and not pending_task_orders %}
|
||
{{ EmptyState(
|
||
'This portfolio doesn’t have any active or pending task orders.',
|
||
action_label='Add a New Task Order',
|
||
action_href=url_for('task_orders.edit', portfolio_id=portfolio.id),
|
||
icon='cloud',
|
||
) }}
|
||
{% endif %}
|
||
|
||
{% if pending_task_orders %}
|
||
{{ TaskOrderList(pending_task_orders, label='warning') }}
|
||
{% endif %}
|
||
|
||
{% if active_task_orders %}
|
||
{{ TaskOrderList(active_task_orders, label='success') }}
|
||
{% endif %}
|
||
|
||
{% if expired_task_orders %}
|
||
{{ TaskOrderList(expired_task_orders, label='error') }}
|
||
{% endif %}
|
||
</div>
|
||
|
||
{% endblock %}
|