diff --git a/app/assets/javascripts/chartDashboard.js b/app/assets/javascripts/chartDashboard.js index e4ac8ed8b..ef25839eb 100644 --- a/app/assets/javascripts/chartDashboard.js +++ b/app/assets/javascripts/chartDashboard.js @@ -5,9 +5,10 @@ document.addEventListener('DOMContentLoaded', function () { canvas.width = canvas.parentElement.clientWidth; canvas.height = 100; - var sentMessages = 80000; - var totalMessages = 250000; - var remainingMessages = totalMessages - sentMessages; + var chartContainer = document.getElementById('chartContainer'); + var sms_sent = parseInt(chartContainer.getAttribute('data-sms-sent')); + var sms_remaining_messages = parseInt(chartContainer.getAttribute('data-sms-allowance-remaining')); + var totalMessages = sms_sent + sms_remaining_messages; var myChart = new Chart(ctx, { type: 'bar', @@ -15,12 +16,12 @@ document.addEventListener('DOMContentLoaded', function () { labels: [''], datasets: [{ label: 'Messages Sent', - data: [sentMessages], + data: [sms_sent], backgroundColor: '#0076d6', }, { label: 'Remaining', - data: [remainingMessages], + data: [sms_remaining_messages], backgroundColor: '#fa9441', }] }, @@ -81,6 +82,6 @@ document.addEventListener('DOMContentLoaded', function () { }); // Update the message below the chart - document.getElementById('message').innerText = `${sentMessages.toLocaleString()} sent / ${remainingMessages.toLocaleString()} remaining`; + document.getElementById('message').innerText = `${sms_sent.toLocaleString()} sent / ${sms_remaining_messages.toLocaleString()} remaining`; }); diff --git a/app/main/views/dashboard.py b/app/main/views/dashboard.py index 3bbf432b3..30283b214 100644 --- a/app/main/views/dashboard.py +++ b/app/main/views/dashboard.py @@ -78,12 +78,25 @@ def service_dashboard(service_id): for job in job_response if aggregate_notifications_by_job.get(job["id"], []) ] + yearly_usage = billing_api_client.get_annual_usage_for_service( + service_id, + get_current_financial_year(), + ) + free_sms_allowance = billing_api_client.get_free_sms_fragment_limit_for_year( + current_service.id, + ) + usage_data = get_annual_usage_breakdown(yearly_usage, free_sms_allowance) + sms_sent=usage_data['sms_sent'], + sms_allowance_remaining=usage_data['sms_allowance_remaining'], + return render_template( "views/dashboard/dashboard.html", updates_url=url_for(".service_dashboard_updates", service_id=service_id), partials=get_dashboard_partials(service_id), job_and_notifications=job_and_notifications, service_data_retention_days=service_data_retention_days, + sms_sent=sms_sent[0], + sms_allowance_remaining=sms_allowance_remaining[0], ) diff --git a/app/templates/views/dashboard/dashboard.html b/app/templates/views/dashboard/dashboard.html index 92a31274a..fe5fe6f5d 100644 --- a/app/templates/views/dashboard/dashboard.html +++ b/app/templates/views/dashboard/dashboard.html @@ -22,18 +22,18 @@ Messages sent -
-

2024 Total Message Allowance

- -
-
- - {{ ajax_block(partials, updates_url, 'inbox') }} {{ ajax_block(partials, updates_url, 'totals') }} {{ ajax_block(partials, updates_url, 'template-statistics') }} + {% if current_user.has_permissions('manage_service') %} +
+

2024 Total Message Allowance

+ +
+
+ {% endif %}

Recent Batches