Add query string args to control date/alternate date source
This commit is contained in:
parent
4982b80d9b
commit
5abd592f78
@ -1,3 +1,5 @@
|
|||||||
|
from datetime import date, timedelta
|
||||||
|
|
||||||
from flask import (
|
from flask import (
|
||||||
Blueprint,
|
Blueprint,
|
||||||
render_template,
|
render_template,
|
||||||
@ -73,10 +75,21 @@ def workspace_reports(workspace_id):
|
|||||||
):
|
):
|
||||||
raise UnauthorizedError(g.current_user, "view workspace reports")
|
raise UnauthorizedError(g.current_user, "view workspace reports")
|
||||||
|
|
||||||
|
alternate_reports = http_request.args.get('alternate')
|
||||||
|
month = http_request.args.get('month', 3)
|
||||||
|
year = http_request.args.get('year', 2019)
|
||||||
|
current_month = date(int(year), int(month), 15)
|
||||||
|
prev_month = current_month - timedelta(days=28)
|
||||||
|
two_months_ago = prev_month - timedelta(days=28)
|
||||||
|
|
||||||
|
|
||||||
return render_template(
|
return render_template(
|
||||||
"workspace_reports.html",
|
"workspace_reports.html",
|
||||||
workspace_totals=Reports.workspace_totals(workspace),
|
workspace_totals=Reports.workspace_totals(alternate_reports),
|
||||||
monthly_totals=Reports.monthly_totals(workspace),
|
monthly_totals=Reports.monthly_totals(alternate_reports),
|
||||||
|
current_month=current_month,
|
||||||
|
prev_month=prev_month,
|
||||||
|
two_months_ago=two_months_ago,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -89,37 +89,37 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% set current_month = '03/2019' %}
|
|
||||||
{% set prev_month = '02/2019' %}
|
|
||||||
{% set two_months_ago = '01/2019' %}
|
|
||||||
{% set workspace_totals = monthly_totals['workspace'] %}
|
{% set workspace_totals = monthly_totals['workspace'] %}
|
||||||
|
{% set current_month_index = current_month.strftime('%m/%Y') %}
|
||||||
|
{% set prev_month_index = prev_month.strftime('%m/%Y') %}
|
||||||
|
{% set two_months_ago_index = two_months_ago.strftime('%m/%Y') %}
|
||||||
|
|
||||||
<div class='spend-table responsive-table-wrapper'>
|
<div class='spend-table responsive-table-wrapper'>
|
||||||
<div class='spend-table__header'>
|
<div class='spend-table__header'>
|
||||||
<h2 class='spend-table__title'>Total spend per month</h2>
|
<h2 class='spend-table__title'>Total spend per month</h2>
|
||||||
|
|
||||||
<select name='month' id='month' class='spend-table__month-select'>
|
<select name='month' id='month' class='spend-table__month-select'>
|
||||||
<option value='03/2019'>March 2019</option>
|
<option value='03/2019'>{{ current_month.strftime('%B %Y') }}</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<th scope='col'><span class='usa-sr-only'>Spending scope</span></th>
|
<th scope='col'><span class='usa-sr-only'>Spending scope</span></th>
|
||||||
<th scope='col' class='table-cell--align-right previous-month'>January 2019</th>
|
<th scope='col' class='table-cell--align-right previous-month'>{{ two_months_ago.strftime('%B %Y') }}</th>
|
||||||
<th scope='col' class='table-cell--align-right previous-month'>February 2019</th>
|
<th scope='col' class='table-cell--align-right previous-month'>{{ prev_month.strftime('%B %Y') }}</th>
|
||||||
<th scope='col' class='table-cell--align-right current-month'>March 2019</th>
|
<th scope='col' class='table-cell--align-right current-month'>{{ current_month.strftime('%B %Y') }}</th>
|
||||||
<td class='current-month'></td>
|
<td class='current-month'></td>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
<tbody class='spend-table__workspace'>
|
<tbody class='spend-table__workspace'>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope='row'>Workspace Total</th>
|
<th scope='row'>Workspace Total</th>
|
||||||
<td class='table-cell--align-right previous-month'>{{ workspace_totals.get(two_months_ago, 0) | dollars }}</td>
|
<td class='table-cell--align-right previous-month'>{{ workspace_totals.get(two_months_ago_index, 0) | dollars }}</td>
|
||||||
<td class='table-cell--align-right previous-month'>{{ workspace_totals.get(prev_month, 0) | dollars }}</td>
|
<td class='table-cell--align-right previous-month'>{{ workspace_totals.get(prev_month_index, 0) | dollars }}</td>
|
||||||
<td class='table-cell--align-right current-month'>{{ workspace_totals.get(current_month, 0) | dollars }}</td>
|
<td class='table-cell--align-right current-month'>{{ workspace_totals.get(current_month_index, 0) | dollars }}</td>
|
||||||
<td class='table-cell--expand current-month meter-cell'>
|
<td class='table-cell--expand current-month meter-cell'>
|
||||||
<meter value='{{ workspace_totals.get(current_month, 0) }}' min='0' max='{{ workspace_totals.get(current_month, 0) }}'></meter>
|
<meter value='{{ workspace_totals.get(current_month_index, 0) }}' min='0' max='{{ workspace_totals.get(current_month_index, 0) }}'></meter>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -135,21 +135,21 @@
|
|||||||
{{ project_name }}
|
{{ project_name }}
|
||||||
</button>
|
</button>
|
||||||
</th>
|
</th>
|
||||||
<td class='table-cell--align-right previous-month'>{{ project_totals.get(two_months_ago, 0) | dollars }}</td>
|
<td class='table-cell--align-right previous-month'>{{ project_totals.get(two_months_ago_index, 0) | dollars }}</td>
|
||||||
<td class='table-cell--align-right previous-month'>{{ project_totals.get(prev_month, 0) | dollars }}</td>
|
<td class='table-cell--align-right previous-month'>{{ project_totals.get(prev_month_index, 0) | dollars }}</td>
|
||||||
<td class='table-cell--align-right current-month'>{{ project_totals.get(current_month, 0) | dollars }}</td>
|
<td class='table-cell--align-right current-month'>{{ project_totals.get(current_month_index, 0) | dollars }}</td>
|
||||||
<td class='table-cell--expand current-month meter-cell'>
|
<td class='table-cell--expand current-month meter-cell'>
|
||||||
<span class='spend-table__meter-value'>{{ (100 * (project_totals.get(current_month, 0) / workspace_totals.get(current_month, 1))) | round | int }}%</span>
|
<span class='spend-table__meter-value'>{{ (100 * (project_totals.get(current_month_index, 0) / workspace_totals.get(current_month_index, 1))) | round | int }}%</span>
|
||||||
<meter value='{{ project_totals.get(current_month, 0) }}' min='0' max='{{ workspace_totals.get(current_month, 0) }}'></meter>
|
<meter value='{{ project_totals.get(current_month_index, 0) }}' min='0' max='{{ workspace_totals.get(current_month_index, 0) }}'></meter>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
{% for env_name, env_totals in monthly_totals['environments'][project_name].items() %}
|
{% for env_name, env_totals in monthly_totals['environments'][project_name].items() %}
|
||||||
<tr v-show='isVisible'>
|
<tr v-show='isVisible'>
|
||||||
<th scope='rowgroup'><a href='#' class='icon-link spend-table__project__env'>{{ Icon('link') }} {{ env_name }}</a></th>
|
<th scope='rowgroup'><a href='#' class='icon-link spend-table__project__env'>{{ Icon('link') }} {{ env_name }}</a></th>
|
||||||
<td class='table-cell--align-right previous-month'>{{ env_totals.get(two_months_ago, 0) | dollars }}</td>
|
<td class='table-cell--align-right previous-month'>{{ env_totals.get(two_months_ago_index, 0) | dollars }}</td>
|
||||||
<td class='table-cell--align-right previous-month'>{{ env_totals.get(prev_month, 0) | dollars }}</td>
|
<td class='table-cell--align-right previous-month'>{{ env_totals.get(prev_month_index, 0) | dollars }}</td>
|
||||||
<td class='table-cell--align-right current-month'>{{ env_totals.get(current_month, 0) | dollars }}</td>
|
<td class='table-cell--align-right current-month'>{{ env_totals.get(current_month_index, 0) | dollars }}</td>
|
||||||
<td class='table-cell--expand current-month'></td>
|
<td class='table-cell--expand current-month'></td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user