diff --git a/app/main/views/dashboard.py b/app/main/views/dashboard.py
index 230ff3c96..8de2ee003 100644
--- a/app/main/views/dashboard.py
+++ b/app/main/views/dashboard.py
@@ -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): {
diff --git a/app/templates/views/dashboard/monthly.html b/app/templates/views/dashboard/monthly.html
index 6b5d88d25..dd4e13fbc 100644
--- a/app/templates/views/dashboard/monthly.html
+++ b/app/templates/views/dashboard/monthly.html
@@ -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 %}
-
- {{ counts.failed }} failed
-
- {% 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 %}
+
+ {{ counts.failed }} failed
+
+ {% else %}
+ –
+ {% endif %}
+ {% endcall %}
+ {% endfor %}
+ {% endif %}
{% endcall %}
{% endif %}