checkers
This commit is contained in:
parent
bc2ffc1f2b
commit
a1cfdfa49b
@ -9,30 +9,27 @@ class SolutionsTableView(BaseView):
|
|||||||
page_size = 20
|
page_size = 20
|
||||||
page = None
|
page = None
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
|
||||||
super().__init__(*args, **kwargs)
|
|
||||||
self.queryset = Solution.objects.all()
|
|
||||||
|
|
||||||
def pre_handle(self):
|
def pre_handle(self):
|
||||||
if 'page' not in self.request.GET:
|
if 'page' not in self.request.GET:
|
||||||
raise AccessError()
|
raise AccessError()
|
||||||
self.page = int(self.request.GET['page'])
|
self.page = int(self.request.GET['page'])
|
||||||
|
|
||||||
def get(self):
|
def get(self):
|
||||||
|
queryset = Solution.objects.all()
|
||||||
if 'teacher' in self.request.GET.keys():
|
if 'teacher' in self.request.GET.keys():
|
||||||
if 'set_id' in self.request.GET.keys():
|
if 'set_id' in self.request.GET.keys():
|
||||||
self.queryset = self.queryset.filter(set_id=self.request.GET['set_id'])
|
queryset = queryset.filter(set_id=self.request.GET['set_id'])
|
||||||
elif 'task_id' in self.request.GET.keys():
|
elif 'task_id' in self.request.GET.keys():
|
||||||
self.queryset = self.queryset.filter(task_id=self.request.GET['task_id'], set=None)
|
queryset = queryset.filter(task_id=self.request.GET['task_id'], set=None)
|
||||||
else:
|
else:
|
||||||
raise AccessError()
|
raise AccessError()
|
||||||
else:
|
else:
|
||||||
if hasattr(self.entities, 'setTask'):
|
if hasattr(self.entities, 'setTask'):
|
||||||
self.queryset = self.queryset.filter(user=self.request.user, task=self.entities.setTask.task, set=self.entities.setTask.set)
|
queryset = queryset.filter(user=self.request.user, task=self.entities.setTask.task, set=self.entities.setTask.set)
|
||||||
else:
|
else:
|
||||||
self.queryset = self.queryset.filter(user=self.request.user, task=self.entities.task, set=None)
|
queryset = queryset.filter(user=self.request.user, task=self.entities.task, set=None)
|
||||||
offset = self.page_size * (self.page - 1)
|
offset = self.page_size * (self.page - 1)
|
||||||
limit = self.page_size
|
limit = self.page_size
|
||||||
self.context["solutions"] = self.queryset.order_by("-id")[offset:offset + limit]
|
self.context["solutions"] = queryset.order_by("-id")[offset:offset + limit]
|
||||||
self.context["count_pages"] = range(1, (len(self.queryset) - 1) // self.page_size + 2)
|
self.context["count_pages"] = range(1, (len(queryset) - 1) // self.page_size + 2)
|
||||||
self.context["need_pagination"] = len(self.context["count_pages"]) > 1
|
self.context["need_pagination"] = len(self.context["count_pages"]) > 1
|
||||||
|
Loading…
Reference in New Issue
Block a user