New ui
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
from SprintLib.BaseView import BaseView
|
||||
|
||||
|
||||
class ChatsView(BaseView):
|
||||
view_file = "chats.html"
|
||||
required_login = True
|
||||
endpoint = "chats"
|
@@ -5,7 +5,7 @@ from SprintLib.BaseView import BaseView
|
||||
|
||||
class ExitView(BaseView):
|
||||
required_login = True
|
||||
endpoint = "exit"
|
||||
endpoint = "logout"
|
||||
|
||||
def get(self):
|
||||
logout(self.request)
|
||||
|
@@ -31,7 +31,7 @@ class MainView(BaseView):
|
||||
if len(self.context['top_tasks_today']) < 5:
|
||||
self.context['top_tasks_today'] = Task.objects.filter(public=True).order_by('name')[:5]
|
||||
for task in self.context['top_tasks_today']:
|
||||
setattr(task, 'solution', Solution.objects.filter(user=self.request.user, task=task).last())
|
||||
setattr(task, 'solution', Solution.objects.filter(user=self.request.user, task=task, set=None).last())
|
||||
self.context['top_users'] = UserInfo.objects.filter(verified=True).order_by('-rating')[:5]
|
||||
all_tasks = Task.objects.filter(solution__user=self.request.user).distinct()
|
||||
ok_tasks = all_tasks.filter(solution__result="OK").distinct()
|
||||
|
@@ -38,15 +38,18 @@ class SetSettingsView(BaseView):
|
||||
)
|
||||
self.context['languages'] = languages
|
||||
|
||||
def post(self):
|
||||
self.set.name = self.request.POST["name"]
|
||||
self.set.description = self.request.POST['description']
|
||||
self.set.save()
|
||||
return "/admin/set?set_id=" + str(self.set.id)
|
||||
|
||||
def post_save(self):
|
||||
for key, value in self.request.POST.items():
|
||||
if key.startswith("settask_"):
|
||||
st = SetTask.objects.get(id=key.split("_")[1])
|
||||
st.name = value
|
||||
st.save()
|
||||
self.set.name = self.request.POST["name"]
|
||||
self.set.description = self.request.POST['description']
|
||||
self.set.save()
|
||||
return "/admin/set?set_id=" + str(self.set.id)
|
||||
|
||||
def post_edit(self):
|
||||
|
@@ -59,4 +59,5 @@ class SolutionsTableView(BaseView):
|
||||
limit = self.page_size
|
||||
self.context["solutions"] = queryset.order_by("-id")[offset:offset + limit]
|
||||
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['pages'] = len(self.context['count_pages'])
|
||||
self.context["need_pagination"] = self.context['pages'] > 1
|
||||
|
@@ -3,6 +3,7 @@ import json
|
||||
from zipfile import ZipFile
|
||||
|
||||
from django.db import transaction
|
||||
from django.db.models import Q, Count
|
||||
|
||||
from Main.models import Task, ExtraFile
|
||||
from SprintLib.BaseView import BaseView
|
||||
@@ -14,6 +15,18 @@ class TasksView(BaseView):
|
||||
required_login = True
|
||||
endpoint = "tasks"
|
||||
|
||||
def get(self):
|
||||
fltr = self.request.GET.get('filter')
|
||||
self.context['tasks'] = self.request.user.userinfo.available_tasks
|
||||
if fltr == 'my':
|
||||
self.context['tasks'] = self.context['tasks'].filter(
|
||||
Q(editors__contains=[self.request.user.username]) | Q(creator=self.request.user))
|
||||
if fltr == 'new':
|
||||
self.context['tasks'] = self.context['tasks'].annotate(sol_count=Count('solution', filter=Q(solution__user=self.request.user))).filter(sol_count=0)
|
||||
if fltr == 'unsolved':
|
||||
self.context['tasks'] = self.context['tasks'].annotate(ok_count=Count('solution', filter=Q(solution__user=self.request.user, solution__result='OK'))).annotate(sol_count=Count('solution', filter=Q(solution__user=self.request.user))).filter(ok_count=0, sol_count__gt=0)
|
||||
self.context['tasks'] = self.context['tasks'].order_by('name')
|
||||
|
||||
def post(self):
|
||||
task_name = self.request.POST["name"]
|
||||
task = Task.objects.create(name=task_name, creator=self.request.user)
|
||||
|
@@ -17,6 +17,5 @@ from Main.views.SolutionsView import SolutionsView
|
||||
from Main.views.SetView import SetView
|
||||
from Main.views.GroupView import GroupView
|
||||
from Main.views.CheckersView import CheckersView
|
||||
from Main.views.ChatsView import ChatsView
|
||||
from Main.views.DownloadFileView import DownloadFileView
|
||||
from Main.views.social import *
|
||||
|
Reference in New Issue
Block a user