X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/1a949f7c97dc2f34c135f5cdf088df2927d3d652..6b331a9ca697600e6ab8a8fbdc2a86a567402a61:/forum/middleware/request_utils.py diff --git a/forum/middleware/request_utils.py b/forum/middleware/request_utils.py index a96f372..46d56b7 100644 --- a/forum/middleware/request_utils.py +++ b/forum/middleware/request_utils.py @@ -1,3 +1,7 @@ +from forum.settings import MAINTAINANCE_MODE, APP_LOGO, APP_TITLE +from django.http import HttpResponseGone +from django.template.loader import render_to_string + class RequestUtils(object): def __init__(self): @@ -23,6 +27,20 @@ class RequestUtils(object): return int(pagesize) def process_request(self, request): + if MAINTAINANCE_MODE.value is not None and isinstance(MAINTAINANCE_MODE.value.get('allow_ips', None), list): + ip = request.META['REMOTE_ADDR'] + + if not ip in MAINTAINANCE_MODE.value['allow_ips']: + return HttpResponseGone(render_to_string('410.html', { + 'message': MAINTAINANCE_MODE.value.get('message', ''), + 'app_logo': APP_LOGO, + 'app_title': APP_TITLE + })) + + if request.session.get('redirect_POST_data', None): + request.POST = request.session.pop('redirect_POST_data') + request.META['REQUEST_METHOD'] = "POST" + self.request = request request.utils = self return None \ No newline at end of file