Limit months shown to current and past

Matches what we do on the usage page. No need to see months in the
future because there’s no way you’ll have sent any messages in those
months, unless you’re Marty McFly.
This commit is contained in:
Chris Hill-Scott
2017-02-08 11:16:11 +00:00
parent ac9d4f2daf
commit 3c7b41aace
2 changed files with 29 additions and 22 deletions

View File

@@ -215,12 +215,17 @@ def format_monthly_stats_to_list(historical_stats):
return sorted((
dict(
date=key,
name=datetime(int(key[0:4]), int(key[5:7]), 1).strftime('%B'),
future=YYYY_MM_to_datetime(key) > datetime.utcnow(),
name=YYYY_MM_to_datetime(key).strftime('%B'),
**aggregate_status_types(value)
) for key, value in historical_stats.items()
), key=lambda x: x['date'])
def YYYY_MM_to_datetime(string):
return datetime(int(string[0:4]), int(string[5:7]), 1)
def aggregate_status_types(counts_dict):
return get_dashboard_totals({
'{}_counts'.format(message_type): {

View File

@@ -36,28 +36,30 @@
],
field_headings_visible=False
) %}
{% call row_heading() %}
{{ month.name }}
{% endcall %}
{% for counts, template_type in [
(month.email_counts, 'email'),
(month.sms_counts, 'sms')
] %}
{% call field(align='left') %}
{{ big_number(
counts.requested,
message_count_label(counts.requested, template_type, suffix=''),
smallest=True,
) }}
{% if counts.requested %}
<span class="{{ 'failure-highlight' if counts.show_warning else '' }}">
{{ counts.failed }} failed
</span>
{% else %}
{% endif %}
{% if not month.future %}
{% call row_heading() %}
{{ month.name }}
{% endcall %}
{% endfor %}
{% for counts, template_type in [
(month.email_counts, 'email'),
(month.sms_counts, 'sms')
] %}
{% call field(align='left') %}
{{ big_number(
counts.requested,
message_count_label(counts.requested, template_type, suffix=''),
smallest=True,
) }}
{% if counts.requested %}
<span class="{{ 'failure-highlight' if counts.show_warning else '' }}">
{{ counts.failed }} failed
</span>
{% else %}
{% endif %}
{% endcall %}
{% endfor %}
{% endif %}
{% endcall %}
</div>
{% endif %}