blob: 7090a04c2c5497a0b844de29735c8791bd6efca5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# used in questions
QUESTIONS_PAGE_SIZE = 10
class QuestionsPageSizeMiddleware(object):
def process_request(self, request):
# Set flag to False by default. If it is equal to True, then need to be saved.
page_size_changed = False
# get page_size from session, if failed then get default value
user_page_size = request.session.get("page_size", QUESTIONS_PAGE_SIZE)
# set page_size equal to logon user specified value in database
if request.user.is_authenticated() and request.user.questions_per_page > 0:
user_page_size = request.user.questions_per_page
try:
# get new page_size from UI selection
page_size = int(request.GET.get('page_size', user_page_size))
if page_size <> user_page_size:
page_size_changed = True
except ValueError:
page_size = user_page_size
# save this page_size to user database
if page_size_changed:
if request.user.is_authenticated():
user = request.user
user.questions_per_page = page_size
user.save()
# put page_size into session
request.session["page_size"] = page_size
def process_exception(self,request,exception):
import logging
import traceback
logging.debug(repr(traceback.extract_tb(exc_traceback)))
|