diff --git a/app/main/views/dashboard.py b/app/main/views/dashboard.py
index 03938f4fd..1b904730b 100644
--- a/app/main/views/dashboard.py
+++ b/app/main/views/dashboard.py
@@ -49,6 +49,7 @@ def service_dashboard(service_id):
return render_template(
'views/dashboard/dashboard.html',
templates=service_api_client.get_service_templates(service_id)['data'],
+ updates_url=url_for(".service_dashboard_updates", service_id=service_id),
**get_dashboard_statistics_for_service(service_id)
)
diff --git a/app/main/views/jobs.py b/app/main/views/jobs.py
index 931e03324..2cb602f4b 100644
--- a/app/main/views/jobs.py
+++ b/app/main/views/jobs.py
@@ -97,7 +97,13 @@ def view_job(service_id, job_id):
prefix=current_service['name']
),
counts=_get_job_counts(job, request.args.get('help', 0)),
- status=request.args.get('status', '')
+ status=request.args.get('status', ''),
+ updates_url=url_for(
+ ".view_job_updates",
+ service_id=service_id,
+ job_id=job['id'],
+ status=request.args.get('status', '')
+ )
)
diff --git a/app/templates/components/ajax-block.html b/app/templates/components/ajax-block.html
new file mode 100644
index 000000000..6a60014db
--- /dev/null
+++ b/app/templates/components/ajax-block.html
@@ -0,0 +1,15 @@
+{% macro ajax_block(url, key, interval=2, finished=False) %}
+ {% if not finished %}
+
+ {% endif %}
+ {{ caller() }}
+ {% if not finished %}
+
+ {% endif %}
+{% endmacro %}
diff --git a/app/templates/partials/jobs/notifications.html b/app/templates/partials/jobs/notifications.html
index e20a37342..0ba32b741 100644
--- a/app/templates/partials/jobs/notifications.html
+++ b/app/templates/partials/jobs/notifications.html
@@ -1,6 +1,9 @@
{% from "components/table.html" import list_table, field, right_aligned_field_heading, date_field, row_heading %}
-
+{% if notifications %}
+
+{% endif %}
+
{% if notifications %}
Download as a CSV file
@@ -34,4 +37,7 @@
{{ item.status|format_notification_status(item.template.template_type) }}
{% endcall %}
{% endcall %}
-
+
+{% if notifications %}
+
+{% endif %}
diff --git a/app/templates/partials/jobs/status.html b/app/templates/partials/jobs/status.html
index 92e51a37d..6c46bbaf2 100644
--- a/app/templates/partials/jobs/status.html
+++ b/app/templates/partials/jobs/status.html
@@ -1,3 +1,5 @@
-
- Uploaded by {{ job.created_by.name }} on {{ job.created_at|format_datetime_short }}
-
+
+
+ Uploaded by {{ job.created_by.name }} on {{ job.created_at|format_datetime_short }}
+
+
diff --git a/app/templates/views/dashboard/dashboard.html b/app/templates/views/dashboard/dashboard.html
index 70de92640..6bf37dacf 100644
--- a/app/templates/views/dashboard/dashboard.html
+++ b/app/templates/views/dashboard/dashboard.html
@@ -4,6 +4,7 @@
{% from "components/show-more.html" import show_more %}
{% from "components/message-count-label.html" import message_count_label %}
{% from "components/table.html" import list_table, field, right_aligned_field_heading, hidden_field_heading %}
+{% from "components/ajax-block.html" import ajax_block %}
{% block page_title %}
{{ current_service.name }} – GOV.UK Notify
@@ -29,30 +30,18 @@
In the last 7 days
-
+ {% call ajax_block(updates_url, 'totals') %}
{% include 'views/dashboard/_totals.html' %}
-
+ {% endcall %}
{{ show_more(
url_for('.weekly', service_id=current_service.id),
'Compare to previous weeks'
) }}
{% if template_statistics|length %}
-
+ {% call ajax_block(updates_url, 'template-statistics') %}
{% include 'views/dashboard/template-statistics.html' %}
-
+ {% endcall %}
{{ show_more(
url_for('.template_history', service_id=current_service.id),
'See all templates used this year'
@@ -60,14 +49,9 @@
{% endif %}
{% if jobs %}
-
- {% include 'views/dashboard/_jobs.html' %}
+ {% call ajax_block(updates_url, 'jobs') %}
+ {% include 'views/dashboard/_jobs.html' %}
+ {% endcall %}
{{ show_more(
url_for('.view_jobs', service_id=current_service.id),
'See all uploaded files'
@@ -76,15 +60,9 @@
{% if current_user.has_permissions(['manage_settings'], admin_override=True) %}
This year
-
+ {% call ajax_block(updates_url, 'usage') %}
{% include 'views/dashboard/_usage.html' %}
-
+ {% endcall %}
{{ show_more(
url_for(".usage", service_id=current_service['id']),
'See usage breakdown'
diff --git a/app/templates/views/jobs/job.html b/app/templates/views/jobs/job.html
index 74e01624e..663b81752 100644
--- a/app/templates/views/jobs/job.html
+++ b/app/templates/views/jobs/job.html
@@ -2,6 +2,7 @@
{% from "components/banner.html" import banner %}
{% from "components/sms-message.html" import sms_message %}
{% from "components/email-message.html" import email_message %}
+{% from "components/ajax-block.html" import ajax_block %}
{% block page_title %}
{{ uploaded_file_name }} – GOV.UK Notify
@@ -28,40 +29,16 @@
)}}
{% endif %}
-
+ {% call ajax_block(updates_url, 'status', finished=finished) %}
{% include 'partials/jobs/status.html' %}
-
+ {% endcall %}
-
+ {% call ajax_block(updates_url, 'counts', finished=finished) %}
{% include 'partials/jobs/count.html' %}
-
+ {% endcall %}
-
+ {% call ajax_block(updates_url, 'notifications', finished=finished) %}
{% include 'partials/jobs/notifications.html' %}
-
+ {% endcall %}
{% endblock %}