]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/middleware/request_utils.py
Resolves Jira OSQA-682, do not use the MAX_VOTES_PER_DAT setting, but the can_vote_co...
[osqa.git] / forum / middleware / request_utils.py
index a96f372adea4b1e6b7248c24e89578b638f2f087..bbccbf7462017ff8e44699c1fdbb776b18fa7a40 100644 (file)
@@ -1,28 +1,18 @@
+from forum.settings import MAINTAINANCE_MODE, APP_LOGO, APP_TITLE\r
 \r
 \r
-class RequestUtils(object):\r
-    def __init__(self):\r
-        self.request = None\r
+from forum.http_responses import HttpResponseServiceUnavailable\r
 \r
 \r
-    def set_sort_method(self, sort):\r
-        self.request.session['questions_sort_method'] = sort\r
+class RequestUtils(object):\r
+    def process_request(self, request):\r
+        if MAINTAINANCE_MODE.value is not None and isinstance(MAINTAINANCE_MODE.value.get('allow_ips', None), list):\r
+            ip = request.META['REMOTE_ADDR']\r
 \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
+            if not ip in MAINTAINANCE_MODE.value['allow_ips']:\r
+                return HttpResponseServiceUnavailable(MAINTAINANCE_MODE.value.get('message', ''))\r
 \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
+        if request.session.get('redirect_POST_data', None):\r
+            request.POST = request.session.pop('redirect_POST_data')\r
+            request.META['REQUEST_METHOD'] = "POST"\r
 \r
 \r
-    def process_request(self, request):\r
         self.request = request\r
         self.request = request\r
-        request.utils = self\r
         return None
\ No newline at end of file
         return None
\ No newline at end of file