diff --git a/app/__init__.py b/app/__init__.py
index a6c9162c2..7d601446e 100644
--- a/app/__init__.py
+++ b/app/__init__.py
@@ -142,6 +142,7 @@ def init_app(application):
application.after_request(useful_headers_after_request)
application.after_request(save_service_after_request)
application.before_request(load_service_before_request)
+ application.before_request(load_organisation_before_request)
application.before_request(request_helper.check_proxy_header_before_request)
@application.before_request
@@ -405,6 +406,29 @@ def load_service_before_request():
raise
+def load_organisation_before_request():
+ if '/static/' in request.url:
+ _request_ctx_stack.top.organisation = None
+ return
+ if _request_ctx_stack.top is not None:
+ _request_ctx_stack.top.organisation = None
+
+ if request.view_args:
+ org_id = request.view_args.get('org_id', session.get('org_id'))
+ else:
+ org_id = session.get('org_id')
+
+ if org_id:
+ try:
+ _request_ctx_stack.top.organisation = organisations_client.get_organisation(org_id)
+ except HTTPError as exc:
+ # if org id isn't real, then 404 rather than 500ing later because we expect org to be set
+ if exc.status_code == 404:
+ abort(404)
+ else:
+ raise
+
+
def save_service_after_request(response):
# Only save the current session if the request is 200
service_id = request.view_args.get('service_id', None) if request.view_args else None
diff --git a/app/main/views/organisations.py b/app/main/views/organisations.py
index c4b6f14f1..4724f9d57 100644
--- a/app/main/views/organisations.py
+++ b/app/main/views/organisations.py
@@ -23,12 +23,10 @@ def organisations():
@login_required
@user_has_permissions(admin_override=True)
def organisation_dashboard(org_id):
- org = organisations_client.get_organisation(org_id)
organisation_services = organisations_client.get_organisation_services(org_id)
return render_template(
'views/organisations/organisation-dashboard.html',
- organisation=org,
organisation_services=organisation_services
)
diff --git a/app/templates/org_template.html b/app/templates/org_template.html
index e542456cd..70afb7b77 100644
--- a/app/templates/org_template.html
+++ b/app/templates/org_template.html
@@ -8,8 +8,7 @@
- {{ current_service.name }}
- Hello
+ {{ current_org.name }}
Switch service
diff --git a/app/templates/views/organisations/organisation-dashboard.html b/app/templates/views/organisations/organisation-dashboard.html
index 5766ef223..0e4cf0024 100644
--- a/app/templates/views/organisations/organisation-dashboard.html
+++ b/app/templates/views/organisations/organisation-dashboard.html
@@ -1,17 +1,17 @@
{% extends "org_template.html" %}
{% block per_page_title %}
- {{ organisation['name'] }}
+ {{ current_org.name }}
{% endblock %}
{% block service_page_title %}
- {{ organisation['name'] }}
+ {{ current_org.name }}
{% endblock %}
{% block maincolumn_content %}
- {{ organisation['name'] }}
+ {{ current_org.name }}