diff --git a/atst/models/task_order.py b/atst/models/task_order.py index 846f1fbc..fdb59934 100644 --- a/atst/models/task_order.py +++ b/atst/models/task_order.py @@ -1,4 +1,5 @@ from enum import Enum +from datetime import date import pendulum from sqlalchemy import Column, Numeric, String, ForeignKey, Date, Integer @@ -111,6 +112,11 @@ class TaskOrder(Base, mixins.TimestampsMixin): def display_status(self): return self.status.value + @property + def days_to_expiration(self): + if self.end_date: + return (self.end_date - date.today()).days + @property def budget(self): return sum( diff --git a/atst/routes/portfolios/task_orders.py b/atst/routes/portfolios/task_orders.py index 8bcb4715..120108e5 100644 --- a/atst/routes/portfolios/task_orders.py +++ b/atst/routes/portfolios/task_orders.py @@ -22,6 +22,7 @@ def portfolio_funding(portfolio_id): "start_date", "end_date", "display_status", + "days_to_expiration", "balance", ] } diff --git a/js/components/tables/task_order_list.js b/js/components/tables/task_order_list.js index 04d32389..b511508f 100644 --- a/js/components/tables/task_order_list.js +++ b/js/components/tables/task_order_list.js @@ -46,8 +46,8 @@ export default { displayName: 'Period of Performance', attr: 'start_date', sortFunc: numericSort, - width: "50%", - class: "period-of-performance" + width: '50%', + class: 'period-of-performance', }, { displayName: 'Initial Value', diff --git a/styles/components/_portfolio_layout.scss b/styles/components/_portfolio_layout.scss index 16aa41c5..6b546805 100644 --- a/styles/components/_portfolio_layout.scss +++ b/styles/components/_portfolio_layout.scss @@ -126,5 +126,27 @@ .label--expired { background-color: $color-gray-light; } + + .to-expiring-soon { + font-weight: $font-bold; + font-size: 1.5rem; + margin-left: $gap; + + &.funded { + color: $color-blue; + + .icon { + @include icon-color($color-blue); + } + } + + &.unfunded { + color: $color-red; + + .icon { + @include icon-color($color-red); + } + } + } } } diff --git a/templates/portfolios/task_orders/index.html b/templates/portfolios/task_orders/index.html index 4b004e62..f3b2f765 100644 --- a/templates/portfolios/task_orders/index.html +++ b/templates/portfolios/task_orders/index.html @@ -44,15 +44,26 @@