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 @@
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 }}