1 from forum.settings import MAINTAINANCE_MODE, APP_LOGO, APP_TITLE
\r
2 from django.http import HttpResponseGone
\r
3 from django.template.loader import render_to_string
\r
6 class RequestUtils(object):
\r
10 def set_sort_method(self, sort):
\r
11 self.request.session['questions_sort_method'] = sort
\r
13 def sort_method(self, default):
\r
14 sort = self.request.REQUEST.get('sort', None)
\r
16 return self.request.session.get('questions_sort_method', default)
\r
18 self.set_sort_method(sort)
\r
21 def page_size(self, default):
\r
22 pagesize = self.request.REQUEST.get('pagesize', None)
\r
23 if pagesize is None:
\r
24 return int(self.request.session.get('questions_pagesize', default))
\r
26 self.request.session['questions_pagesize'] = pagesize
\r
27 return int(pagesize)
\r
29 def process_request(self, request):
\r
30 if MAINTAINANCE_MODE.value is not None and isinstance(MAINTAINANCE_MODE.value.get('allow_ips', None), list):
\r
31 ip = request.META['REMOTE_ADDR']
\r
33 if not ip in MAINTAINANCE_MODE.value['allow_ips']:
\r
34 return HttpResponseGone(render_to_string('410.html', {
\r
35 'message': MAINTAINANCE_MODE.value.get('message', ''),
\r
36 'app_logo': APP_LOGO,
\r
37 'app_title': APP_TITLE
\r
40 if request.session.get('redirect_POST_data', None):
\r
41 request.POST = request.session.pop('redirect_POST_data')
\r
42 request.META['REQUEST_METHOD'] = "POST"
\r
44 self.request = request
\r
45 request.utils = self
\r