mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-24 00:07:02 -04:00
save the organisation to the session after the user visits an org page
also remove the service/org from the session if the user is on a diff type page, to make sure the redirects from /services-or-dashboard plays nicely
This commit is contained in:
@@ -144,7 +144,7 @@ def create_app(application):
|
|||||||
|
|
||||||
def init_app(application):
|
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_or_org_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(load_organisation_before_request)
|
||||||
application.before_request(request_helper.check_proxy_header_before_request)
|
application.before_request(request_helper.check_proxy_header_before_request)
|
||||||
@@ -446,11 +446,17 @@ def load_organisation_before_request():
|
|||||||
raise
|
raise
|
||||||
|
|
||||||
|
|
||||||
def save_service_after_request(response):
|
def save_service_or_org_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
|
||||||
if response.status_code == 200 and service_id:
|
organisation_id = request.view_args.get('org_id', None) if request.view_args else None
|
||||||
session['service_id'] = service_id
|
if response.status_code == 200:
|
||||||
|
if service_id:
|
||||||
|
session['service_id'] = service_id
|
||||||
|
session['organisation_id'] = None
|
||||||
|
elif organisation_id:
|
||||||
|
session['service_id'] = None
|
||||||
|
session['organisation_id'] = organisation_id
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user