From 163ae0ae53a7c744bf1a6deb86e194e2e74b270f Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Thu, 8 Oct 2015 11:22:27 +0800 Subject: [PATCH 01/39] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=80=92=E8=AE=A1?= =?UTF-8?q?=E6=97=B6=20js=20=E6=89=93=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- static/src/js/build.js | 78 ++++++++++--------- static/src/js/config.js | 37 ++++----- template/src/oj/contest/contest_index.html | 2 +- .../src/oj/contest/no_contest_permission.html | 2 +- 4 files changed, 61 insertions(+), 58 deletions(-) diff --git a/static/src/js/build.js b/static/src/js/build.js index 6baa25cd..d1354819 100644 --- a/static/src/js/build.js +++ b/static/src/js/build.js @@ -6,6 +6,7 @@ jquery: "empty:", avalon: "empty:", editor: "utils/editor", + jcountdown: "lib/jcountdown/jcountdown", uploader: "utils/uploader", formValidation: "utils/formValidation", codeMirror: "utils/codeMirror", @@ -45,73 +46,71 @@ //"_datetimePicker": "lib/datetime_picker/bootstrap-datetimepicker", //以下都是页面 script 标签引用的js - addProblem_0_pack: "app/admin/problem/addProblem", - addContest_1_pack: "app/admin/contest/addContest", - problem_2_pack: "app/admin/problem/problem", - register_3_pack: "app/oj/account/register", - contestList_4_pack: "app/admin/contest/contestList", - group_5_pack: "app/oj/group/group", - editProblem_6_pack: "app/admin/problem/editProblem", - announcement_7_pack: "app/admin/announcement/announcement", - monitor_8_pack: "app/admin/monitor/monitor", - groupDetail_9_pack: "app/admin/group/groupDetail", - admin_10_pack: "app/admin/admin", - problem_11_pack: "app/oj/problem/problem", - submissionList_12_pack: "app/admin/problem/submissionList", + announcement_0_pack: "app/admin/announcement/announcement", + userList_1_pack: "app/admin/user/userList", + problem_2_pack: "app/oj/problem/problem", + submissionList_3_pack: "app/admin/problem/submissionList", + contestCountdown_4_pack: "app/oj/contest/contestCountdown", + addProblem_5_pack: "app/admin/problem/addProblem", + problem_6_pack: "app/admin/problem/problem", + contestList_7_pack: "app/admin/contest/contestList", + admin_8_pack: "app/admin/admin", + login_9_pack: "app/oj/account/login", + addContest_10_pack: "app/admin/contest/addContest", + changePassword_11_pack: "app/oj/account/changePassword", + monitor_12_pack: "app/admin/monitor/monitor", editProblem_13_pack: "app/admin/contest/editProblem", joinGroupRequestList_14_pack: "app/admin/group/joinGroupRequestList", - changePassword_15_pack: "app/oj/account/changePassword", - group_16_pack: "app/admin/group/group", - submissionList_17_pack: "app/admin/contest/submissionList", - login_18_pack: "app/oj/account/login", + group_15_pack: "app/oj/group/group", + editProblem_16_pack: "app/admin/problem/editProblem", + register_17_pack: "app/oj/account/register", + groupDetail_18_pack: "app/admin/group/groupDetail", contestPassword_19_pack: "app/oj/contest/contestPassword", - userList_20_pack: "app/admin/user/userList" + group_20_pack: "app/admin/group/group", + submissionList_21_pack: "app/admin/contest/submissionList" }, findNestedDependencies: true, appDir: "../", dir: "../../release/", modules: [ { - name: "bootstrap", + name: "announcement_0_pack" }, { - name: "addProblem_0_pack" - }, - { - name: "addContest_1_pack" + name: "userList_1_pack" }, { name: "problem_2_pack" }, { - name: "register_3_pack" + name: "submissionList_3_pack" }, { - name: "contestList_4_pack" + name: "contestCountdown_4_pack" }, { - name: "group_5_pack" + name: "addProblem_5_pack" }, { - name: "editProblem_6_pack" + name: "problem_6_pack" }, { - name: "announcement_7_pack" + name: "contestList_7_pack" }, { - name: "monitor_8_pack" + name: "admin_8_pack" }, { - name: "groupDetail_9_pack" + name: "login_9_pack" }, { - name: "admin_10_pack" + name: "addContest_10_pack" }, { - name: "problem_11_pack" + name: "changePassword_11_pack" }, { - name: "submissionList_12_pack" + name: "monitor_12_pack" }, { name: "editProblem_13_pack" @@ -120,22 +119,25 @@ name: "joinGroupRequestList_14_pack" }, { - name: "changePassword_15_pack" + name: "group_15_pack" }, { - name: "group_16_pack" + name: "editProblem_16_pack" }, { - name: "submissionList_17_pack" + name: "register_17_pack" }, { - name: "login_18_pack" + name: "groupDetail_18_pack" }, { name: "contestPassword_19_pack" }, { - name: "userList_20_pack" + name: "group_20_pack" + }, + { + name: "submissionList_21_pack" } ], optimizeCss: "standard", diff --git a/static/src/js/config.js b/static/src/js/config.js index eeae1341..c543f5f4 100644 --- a/static/src/js/config.js +++ b/static/src/js/config.js @@ -47,26 +47,27 @@ var require = { // "_datetimePicker": "lib/datetime_picker/bootstrap-datetimepicker", //以下都是页面 script 标签引用的js - addProblem_0_pack: "app/admin/problem/addProblem", - addContest_1_pack: "app/admin/contest/addContest", - problem_2_pack: "app/admin/problem/problem", - register_3_pack: "app/oj/account/register", - contestList_4_pack: "app/admin/contest/contestList", - group_5_pack: "app/oj/group/group", - editProblem_6_pack: "app/admin/problem/editProblem", - announcement_7_pack: "app/admin/announcement/announcement", - monitor_8_pack: "app/admin/monitor/monitor", - groupDetail_9_pack: "app/admin/group/groupDetail", - admin_10_pack: "app/admin/admin", - problem_11_pack: "app/oj/problem/problem", - submissionList_12_pack: "app/admin/problem/submissionList", + announcement_0_pack: "app/admin/announcement/announcement", + userList_1_pack: "app/admin/user/userList", + problem_2_pack: "app/oj/problem/problem", + submissionList_3_pack: "app/admin/problem/submissionList", + contestCountdown_4_pack: "app/oj/contest/contestCountdown", + addProblem_5_pack: "app/admin/problem/addProblem", + problem_6_pack: "app/admin/problem/problem", + contestList_7_pack: "app/admin/contest/contestList", + admin_8_pack: "app/admin/admin", + login_9_pack: "app/oj/account/login", + addContest_10_pack: "app/admin/contest/addContest", + changePassword_11_pack: "app/oj/account/changePassword", + monitor_12_pack: "app/admin/monitor/monitor", editProblem_13_pack: "app/admin/contest/editProblem", joinGroupRequestList_14_pack: "app/admin/group/joinGroupRequestList", - changePassword_15_pack: "app/oj/account/changePassword", - group_16_pack: "app/admin/group/group", - submissionList_17_pack: "app/admin/contest/submissionList", - login_18_pack: "app/oj/account/login", + group_15_pack: "app/oj/group/group", + editProblem_16_pack: "app/admin/problem/editProblem", + register_17_pack: "app/oj/account/register", + groupDetail_18_pack: "app/admin/group/groupDetail", contestPassword_19_pack: "app/oj/contest/contestPassword", - userList_20_pack: "app/admin/user/userList" + group_20_pack: "app/admin/group/group", + submissionList_21_pack: "app/admin/contest/submissionList" } }; \ No newline at end of file diff --git a/template/src/oj/contest/contest_index.html b/template/src/oj/contest/contest_index.html index 0c98523d..786a21ea 100644 --- a/template/src/oj/contest/contest_index.html +++ b/template/src/oj/contest/contest_index.html @@ -41,5 +41,5 @@ %s : %ts - + {% endblock %} diff --git a/template/src/oj/contest/no_contest_permission.html b/template/src/oj/contest/no_contest_permission.html index f7418894..f99d60ce 100644 --- a/template/src/oj/contest/no_contest_permission.html +++ b/template/src/oj/contest/no_contest_permission.html @@ -59,5 +59,5 @@ - + {% endblock %} \ No newline at end of file From 779a8e9e402ed3fb6a1dd8197ff260a81e3cfb92 Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Thu, 8 Oct 2015 11:25:35 +0800 Subject: [PATCH 02/39] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E8=A1=A8=E5=90=8D=20migration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- account/migrations/0007_auto_20150929_2320.py | 25 +++++++++++++++++++ contest/migrations/0012_auto_20151008_1124.py | 24 ++++++++++++++++++ problem/migrations/0009_auto_20151008_1125.py | 18 +++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 account/migrations/0007_auto_20150929_2320.py create mode 100644 contest/migrations/0012_auto_20151008_1124.py create mode 100644 problem/migrations/0009_auto_20151008_1125.py diff --git a/account/migrations/0007_auto_20150929_2320.py b/account/migrations/0007_auto_20150929_2320.py new file mode 100644 index 00000000..ceef75e6 --- /dev/null +++ b/account/migrations/0007_auto_20150929_2320.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import jsonfield.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('account', '0006_auto_20150924_1530'), + ] + + operations = [ + migrations.AddField( + model_name='user', + name='reset_password_token', + field=models.CharField(max_length=40, null=True, blank=True), + ), + migrations.AlterField( + model_name='user', + name='problems_status', + field=jsonfield.fields.JSONField(default={}), + ), + ] diff --git a/contest/migrations/0012_auto_20151008_1124.py b/contest/migrations/0012_auto_20151008_1124.py new file mode 100644 index 00000000..4bb09bfe --- /dev/null +++ b/contest/migrations/0012_auto_20151008_1124.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import jsonfield.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('contest', '0011_contestrank'), + ] + + operations = [ + migrations.AlterField( + model_name='contestrank', + name='submission_info', + field=jsonfield.fields.JSONField(default={}), + ), + migrations.AlterModelTable( + name='contestrank', + table='contest_rank', + ), + ] diff --git a/problem/migrations/0009_auto_20151008_1125.py b/problem/migrations/0009_auto_20151008_1125.py new file mode 100644 index 00000000..7a228e5d --- /dev/null +++ b/problem/migrations/0009_auto_20151008_1125.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('problem', '0008_auto_20150922_1702'), + ] + + operations = [ + migrations.AlterModelTable( + name='problem', + table='problem', + ), + ] From a8ba7f9326917965f9fd89309824dab9edf31798 Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Thu, 8 Oct 2015 12:19:04 +0800 Subject: [PATCH 03/39] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=AF=94=E8=B5=9B?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E6=9F=90=E4=BA=BA=E7=9A=84=E6=89=80=E6=9C=89?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contest_submission/views.py | 5 ++- template/src/oj/contest/contest_rank.html | 2 + template/src/oj/contest/submissions_list.html | 38 ++++++++++--------- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/contest_submission/views.py b/contest_submission/views.py index 2d35e79b..cdda8789 100644 --- a/contest_submission/views.py +++ b/contest_submission/views.py @@ -98,6 +98,9 @@ def contest_problem_submissions_list_page(request, contest_id, page=1): values("id", "contest_id", "problem_id", "result", "create_time", "accepted_answer_time", "language", "user_id").order_by("-create_time") + user_id = request.GET.get("user_id", None) + if user_id: + submissions = submissions.filter(user_id=request.GET.get("user_id")) # 封榜的时候只能看到自己的提交 if not contest.real_time_rank: @@ -148,7 +151,7 @@ def contest_problem_submissions_list_page(request, contest_id, page=1): return render(request, "oj/contest/submissions_list.html", {"submissions": current_page, "page": int(page), "previous_page": previous_page, "next_page": next_page, "start_id": int(page) * 20 - 20, - "contest": contest, "filter": filter}) + "contest": contest, "filter": filter, "user_id": user_id}) class ContestSubmissionAdminAPIView(APIView): diff --git a/template/src/oj/contest/contest_rank.html b/template/src/oj/contest/contest_rank.html index 99eda73b..1d7b6d4d 100644 --- a/template/src/oj/contest/contest_rank.html +++ b/template/src/oj/contest/contest_rank.html @@ -50,7 +50,9 @@
还没有结果
{% endif %} diff --git a/template/src/oj/contest/no_contest_permission.html b/template/src/oj/contest/no_contest_permission.html index f99d60ce..29a09448 100644 --- a/template/src/oj/contest/no_contest_permission.html +++ b/template/src/oj/contest/no_contest_permission.html @@ -16,7 +16,7 @@ 提交o&-+FUC5aRX@Kx(U|b2(KF{P7+O#7}CRSH$+H @$)k_j
zV-Pi_unbt|HqFKVxTc^`hR7uP!5m$jW8@F5ZH{CY^*mc6jPjnk!1qK_r SF_2WR^J(2KGIV2(=N?PkEmj*_VN9
zfqn2lR6FPkxuM}qq$U`&ab1hF^_&$O*A%QHRmw0(EOB|hMF{)xyyLm9z|MI*md_xi
zs8UB%9Qm~k;8@ptMX*sZu!pFJJ{-}g-CiR^r&G`rnUu2|(z-DPNjbfR)T&kyBP{3a
zF5t8f9JQrLO8D{kFuP)mUfW?v+O2e1pgRTpI}_BAwqtK(ic&r>Tcg()`3pLZMx<%&
zwx