apply languages

This commit is contained in:
Egor Matveev
2022-02-16 17:40:46 +03:00
parent 1e455346ff
commit 2948c8252e
39 changed files with 758 additions and 12 deletions

View File

@@ -0,0 +1,24 @@
import datetime
from typing import Optional
import pytz
from django.utils import timezone
from Checker.models import Checker
from Main.models import SetTask, Set
from SprintLib.BaseView import BaseView, AccessError
from SprintLib.language import languages
class CheckersView(BaseView):
required_login = True
view_file = "checkers.html"
endpoint = "admin/checkers"
def pre_handle(self):
self.current_set = self.entities.set
if (
self.request.user != self.current_set.creator
and self.request.user.username not in self.current_set.editors
):
raise AccessError()

View File

@@ -4,6 +4,7 @@ from typing import Optional
import pytz
from django.utils import timezone
from Checker.models import Checker
from Main.models import SetTask, Set
from SprintLib.BaseView import BaseView, AccessError
from SprintLib.language import languages
@@ -114,3 +115,11 @@ class SetSettingsView(BaseView):
self.entities.set.languages.remove(t)
self.entities.set.save()
return "/admin/set?set_id=" + str(self.entities.set.id)
def post_new_checker(self):
Checker.objects.create(name=self.request.POST['name'], set=self.entities.set, last_request=timezone.now() - datetime.timedelta(days=1))
return '/admin/set?set_id=' + str(self.entities.set.id)
def post_delete_checker(self):
Checker.objects.get(id=self.request.POST['checker_id']).delete()
return '/admin/set?set_id=' + str(self.entities.set.id)

View File

@@ -37,6 +37,7 @@ class TaskView(BaseView):
task=self.entities.task,
user=self.request.user,
language_id=int(self.request.POST["language"]),
set=self.entities.set if hasattr(self.entities, 'setTask') else None
)
def post_0(self):
@@ -47,8 +48,8 @@ class TaskView(BaseView):
solution=self.solution,
fs_id=fs_id,
)
send_testing(self.solution.id)
return "task?task_id=" + str(self.entities.task.id)
send_testing(self.solution)
return ("/task?setTask_id=" + str(self.entities.setTask.id)) if hasattr(self.entities, 'setTask') else ("/task?task_id=" + str(self.entities.task.id))
def post_1(self):
# отправка решения через файл
@@ -73,5 +74,5 @@ class TaskView(BaseView):
solution=self.solution,
fs_id=fs_id,
)
send_testing(self.solution.id)
return "task?task_id=" + str(self.entities.task.id)
send_testing(self.solution)
return ("/task?setTask_id=" + str(self.entities.setTask.id)) if hasattr(self.entities, 'setTask') else ("/task?task_id=" + str(self.entities.task.id))

View File

@@ -20,3 +20,4 @@ from Main.views.ChatWithView import ChatWithView
from Main.views.MessagesView import MessagesView
from Main.views.SetView import SetView
from Main.views.GroupView import GroupView
from Main.views.CheckersView import CheckersView