]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/middleware/request_utils.py
Fix wrong arg in user_report url reverse
[osqa.git] / forum / middleware / request_utils.py
index a96f372adea4b1e6b7248c24e89578b638f2f087..e7fd7403a8ed3697e1563000aa1916d655276822 100644 (file)
@@ -1,28 +1,28 @@
-\r
-class RequestUtils(object):\r
-    def __init__(self):\r
-        self.request = None\r
-\r
-    def set_sort_method(self, sort):\r
-        self.request.session['questions_sort_method'] = sort\r
-\r
-    def sort_method(self, default):\r
-        sort = self.request.REQUEST.get('sort', None)\r
-        if sort is None:\r
-            return self.request.session.get('questions_sort_method', default)\r
-        else:\r
-            self.set_sort_method(sort)\r
-            return sort\r
-\r
-    def page_size(self, default):\r
-        pagesize = self.request.REQUEST.get('pagesize', None)\r
-        if pagesize is None:\r
-            return int(self.request.session.get('questions_pagesize', default))\r
-        else:\r
-            self.request.session['questions_pagesize'] = pagesize\r
-            return int(pagesize)\r
-\r
-    def process_request(self, request):\r
-        self.request = request\r
-        request.utils = self\r
-        return None
\ No newline at end of file
+import forum
+
+from forum.settings import MAINTAINANCE_MODE, APP_LOGO, APP_TITLE
+
+from forum.http_responses import HttpResponseServiceUnavailable
+
+
+
+class RequestUtils(object):
+    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 HttpResponseServiceUnavailable(MAINTAINANCE_MODE.value.get('message', ''))
+
+        if request.session.get('redirect_POST_data', None):
+            request.POST = request.session.pop('redirect_POST_data')
+            request.META['REQUEST_METHOD'] = "POST"
+
+        self.request = request
+        forum.REQUEST_HOLDER.request = request
+        return None
+
+    def process_response(self, request, response):
+        forum.REQUEST_HOLDER.request = None
+        return response
+