Skip to content

Commit f93e5cb

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents e2d8229 + a362f8a commit f93e5cb

28 files changed

+229
-358
lines changed

account/models.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ class User(AbstractUser):
4141
'unique': "This email has already been used."
4242
})
4343
privilege = models.CharField(choices=PRIVILEGE_CHOICE, max_length=12, default=Privilege.REGULAR_USER)
44-
school = models.CharField('school', max_length=192, blank=True)
44+
school = models.CharField('school', max_length=64, blank=True)
4545
create_time = models.DateTimeField(auto_now_add=True)
46-
nickname = models.CharField('nickname', max_length=192, blank=True)
46+
nickname = models.CharField('nickname', max_length=30, blank=True)
4747
magic = models.CharField('magic', choices=MAGIC_CHOICE, max_length=18, blank=True)
4848
show_tags = models.BooleanField('show tags', default=True)
4949
preferred_lang = models.CharField('preferred language', choices=LANG_CHOICE, max_length=12, default='cpp')
@@ -55,9 +55,9 @@ class User(AbstractUser):
5555
format='JPEG',
5656
options={'quality': 60})
5757
avatar_large = ImageSpecField(source='avatar',
58-
processors=[ResizeToFill(500, 500)],
59-
format='JPEG',
60-
options={'quality': 60})
58+
processors=[ResizeToFill(500, 500)],
59+
format='JPEG',
60+
options={'quality': 60})
6161

6262
def __str__(self):
6363
return self.username

backstage/account/views.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ def get_context_data(self, **kwargs):
3232
data['admin'] = self.request.GET.get('admin')
3333
return data
3434

35-
class AccountPrivilegeSwitch(BaseBackstageMixin, View):
3635

37-
def get(self, request, pk):
36+
class AccountPrivilegeSwitch(BaseBackstageMixin, View):
37+
def post(self, request, pk):
3838
with transaction.atomic():
3939
user = User.objects.select_for_update().get(pk=pk)
4040
if self.request.user.privilege == Privilege.ROOT:

backstage/contest/views.py

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
import random
55

66
from django.shortcuts import render, HttpResponseRedirect, HttpResponse, reverse
7-
from django.views import static
7+
from django.views import static, View
8+
from django.views.generic import TemplateView
89
from django.contrib import messages
910
from django.views.generic.list import ListView
10-
from django.views import View
1111
from django.utils import timezone
1212
from django.db import IntegrityError, transaction
1313

@@ -26,11 +26,10 @@ def get_formatted_time():
2626
return timezone.now().strftime("%Y-%m-%d 00:00")
2727

2828

29-
class ContestManage(BaseBackstageMixin, View):
29+
class ContestManage(BaseBackstageMixin, TemplateView):
3030
template_name = 'backstage/contest/contest_manage.jinja2'
3131

32-
@staticmethod
33-
def get_context_data(**kwargs):
32+
def get_context_data(self, **kwargs):
3433
contest = Contest.objects.get(**kwargs)
3534
contest_problem_list = ContestProblem.objects.filter(contest=contest).all()
3635
profile = [('Title', contest.title), ('Description', contest.description),
@@ -44,9 +43,6 @@ def get_context_data(**kwargs):
4443
invitation_count=contest.contestinvitation_set.count(),
4544
participant_count=contest.contestparticipant_set.count())
4645

47-
def get(self, request, **kwargs):
48-
return render(request, self.template_name, self.get_context_data(**kwargs))
49-
5046

5147
class ContestCreate(BaseCreateView):
5248
initial = {'start_time': get_formatted_time(), 'end_time': get_formatted_time()}
@@ -112,7 +108,7 @@ def post(self, request, contest_pk):
112108

113109

114110
class ContestProblemDelete(BaseBackstageMixin, View):
115-
def get(self, request, contest_pk, contest_problem_pk):
111+
def post(self, request, contest_pk, contest_problem_pk):
116112
contest = Contest.objects.get(pk=contest_pk)
117113
contest.contestproblem_set.get(pk=contest_problem_pk).delete()
118114
update_contest(contest)
@@ -158,7 +154,7 @@ def post(self, request, pk):
158154

159155

160156
class ContestInvitationDelete(BaseBackstageMixin, View):
161-
def get(self, request, pk, invitation_pk):
157+
def post(self, request, pk, invitation_pk):
162158
contest = Contest.objects.get(pk=pk)
163159
contest.contestinvitation_set.get(pk=invitation_pk).delete()
164160
return HttpResponseRedirect(reverse('backstage:contest_invitation', kwargs={'pk': pk}))
@@ -204,7 +200,7 @@ def post(self, request, pk, participant_pk):
204200

205201

206202
class ContestParticipantStarToggle(BaseBackstageMixin, View):
207-
def get(self, request, pk, participant_pk):
203+
def post(self, request, pk, participant_pk):
208204
with transaction.atomic():
209205
participant = Contest.objects.get(pk=pk).contestparticipant_set.select_for_update().get(pk=participant_pk)
210206
participant.star = True if not participant.star else False

backstage/problem/views.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def get(self, request, pk):
8686

8787

8888
class FileDelete(BaseBackstageMixin, View):
89-
def get(self, request, pk, path):
89+
def post(self, request, pk, path):
9090
import os
9191
file_path = os.path.join(UPLOAD_DIR, str(pk), path)
9292
try:
@@ -169,7 +169,6 @@ class ProblemList(BaseBackstageMixin, ListView):
169169

170170

171171
class ProblemRejudge(BaseBackstageMixin, View):
172-
173172
def post(self, request):
174173
try:
175174
problem = request.POST['problem']
@@ -183,8 +182,7 @@ def post(self, request):
183182

184183

185184
class ProblemVisibleSwitch(BaseBackstageMixin, View):
186-
187-
def get(self, request, pk):
185+
def post(self, request, pk):
188186
with transaction.atomic():
189187
problem = Problem.objects.select_for_update().get(pk=pk)
190188
problem.visible = True if not problem.visible else False

backstage/server/views.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ class ServerList(BaseBackstageMixin, ListView):
3535

3636

3737
class ServerRefresh(BaseBackstageMixin, View):
38-
def get(self, request, pk):
38+
def post(self, request, pk):
3939
server = Server.objects.get(pk=pk)
4040
server.serverproblemstatus_set.all().delete()
4141
messages.success(request, "Server status has been refreshed.")
4242
return HttpResponseRedirect(reverse('backstage:server'))
4343

4444

4545
class ServerDelete(BaseBackstageMixin, View):
46-
def get(self, request, pk):
46+
def post(self, request, pk):
4747
server = Server.objects.get(pk=pk)
4848
server.delete()
4949
messages.success(request, "Server <strong>%s</strong> is successfully removed." % server.name)

eoj3/local_settings.example.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
EMAIL_HOST = ""
1717
EMAIL_HOST_USER = ""
1818
EMAIL_HOST_PASSWORD = ""
19-
DEFAULT_FROM_EMAIL = ""
19+
SERVER_EMAIL = DEFAULT_FROM_EMAIL = ""
2020
EMAIL_PORT = 25
2121
EMAIL_USE_TLS = True
2222
ADMINS = [('ultmaster', 'scottyugochang@hotmail.com'), ('zerol', 'zerolfx0@gmail.com')]

static/js/ace/ace.js

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

static/js/ace/mode-c_cpp.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

static/js/ace/mode-java.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)