mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-09 00:53:13 -04:00
Add load org before request to allow current_org to be accessible from request context
This commit is contained in:
@@ -142,6 +142,7 @@ def init_app(application):
|
|||||||
application.after_request(useful_headers_after_request)
|
application.after_request(useful_headers_after_request)
|
||||||
application.after_request(save_service_after_request)
|
application.after_request(save_service_after_request)
|
||||||
application.before_request(load_service_before_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(request_helper.check_proxy_header_before_request)
|
||||||
|
|
||||||
@application.before_request
|
@application.before_request
|
||||||
@@ -405,6 +406,29 @@ def load_service_before_request():
|
|||||||
raise
|
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):
|
def save_service_after_request(response):
|
||||||
# Only save the current session if the request is 200
|
# 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
|
service_id = request.view_args.get('service_id', None) if request.view_args else None
|
||||||
|
|||||||
@@ -23,12 +23,10 @@ def organisations():
|
|||||||
@login_required
|
@login_required
|
||||||
@user_has_permissions(admin_override=True)
|
@user_has_permissions(admin_override=True)
|
||||||
def organisation_dashboard(org_id):
|
def organisation_dashboard(org_id):
|
||||||
org = organisations_client.get_organisation(org_id)
|
|
||||||
organisation_services = organisations_client.get_organisation_services(org_id)
|
organisation_services = organisations_client.get_organisation_services(org_id)
|
||||||
|
|
||||||
return render_template(
|
return render_template(
|
||||||
'views/organisations/organisation-dashboard.html',
|
'views/organisations/organisation-dashboard.html',
|
||||||
organisation=org,
|
|
||||||
organisation_services=organisation_services
|
organisation_services=organisation_services
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,7 @@
|
|||||||
<div id="content">
|
<div id="content">
|
||||||
<div class="navigation-service">
|
<div class="navigation-service">
|
||||||
<div class="navigation-service-name">
|
<div class="navigation-service-name">
|
||||||
{{ current_service.name }}
|
{{ current_org.name }}
|
||||||
Hello
|
|
||||||
</div>
|
</div>
|
||||||
<a href="{{ url_for('main.choose_service') }}" class="navigation-service-switch">Switch service</a>
|
<a href="{{ url_for('main.choose_service') }}" class="navigation-service-switch">Switch service</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
{% extends "org_template.html" %}
|
{% extends "org_template.html" %}
|
||||||
|
|
||||||
{% block per_page_title %}
|
{% block per_page_title %}
|
||||||
{{ organisation['name'] }}
|
{{ current_org.name }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block service_page_title %}
|
{% block service_page_title %}
|
||||||
{{ organisation['name'] }}
|
{{ current_org.name }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block maincolumn_content %}
|
{% block maincolumn_content %}
|
||||||
|
|
||||||
<h1 class="heading-large">
|
<h1 class="heading-large">
|
||||||
{{ organisation['name'] }}
|
{{ current_org.name }}
|
||||||
</h1>
|
</h1>
|
||||||
<ul>
|
<ul>
|
||||||
{% for service in organisation_services %}
|
{% for service in organisation_services %}
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
<div class="navigation-service">
|
<div class="navigation-service">
|
||||||
<div class="navigation-service-name">
|
<div class="navigation-service-name">
|
||||||
{{ current_service.name }}
|
{{ current_service.name }}
|
||||||
Hello
|
|
||||||
</div>
|
</div>
|
||||||
<a href="{{ url_for('main.choose_service') }}" class="navigation-service-switch">Switch service</a>
|
<a href="{{ url_for('main.choose_service') }}" class="navigation-service-switch">Switch service</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user