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 @@ {{ forloop.counter }} + {{ item.user__username }} + {% if show_real_name %} ({{ item.user__real_name }}) {% endif %} diff --git a/template/src/oj/contest/submissions_list.html b/template/src/oj/contest/submissions_list.html index 1bdfdebf..c5c37b59 100644 --- a/template/src/oj/contest/submissions_list.html +++ b/template/src/oj/contest/submissions_list.html @@ -39,10 +39,10 @@ 语言 @@ -54,14 +54,14 @@ 结果 @@ -106,14 +106,18 @@ From ee0b076b552da149aca9e02e2f0bcf61cceac30c Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Thu, 8 Oct 2015 14:03:50 +0800 Subject: [PATCH 04/39] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E6=AF=94?= =?UTF-8?q?=E8=B5=9B=E6=8E=92=E5=90=8D=E9=A1=B5=E9=9D=A2=E7=9A=84=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contest/views.py | 19 +++++++- template/src/oj/contest/contest_index.html | 2 +- .../src/oj/contest/contest_problems_list.html | 2 +- template/src/oj/contest/contest_rank.html | 23 ++++++++-- .../src/oj/contest/no_contest_permission.html | 2 +- template/src/oj/contest/submissions_list.html | 2 +- utils/shortcuts.py | 46 ++++++++++--------- 7 files changed, 66 insertions(+), 30 deletions(-) diff --git a/contest/views.py b/contest/views.py index 162b9b8a..de03d5da 100644 --- a/contest/views.py +++ b/contest/views.py @@ -14,7 +14,7 @@ from django.conf import settings from rest_framework.views import APIView from utils.shortcuts import (serializer_invalid_response, error_response, - success_response, paginate, error_page) + success_response, paginate, error_page, paginate_data) from account.models import SUPER_ADMIN, User from account.decorators import login_required from group.models import Group @@ -398,9 +398,26 @@ def contest_rank_page(request, contest_id): r.set(cache_key, json.dumps([dict(item) for item in rank])) else: rank = json.loads(rank) + + try: + paging_rank = paginate_data(request, rank, None) + if request.GET.get("paging", None): + rank = paging_rank["results"] + else: + rank = paging_rank + except Exception as e: + return error_page(request, e.message) + + if request.GET.get("paging", None): + paging_info = paging_rank + paging_info["offset"] = paging_rank["page_size"] * (int(paging_rank["current_page"]) - 1) + else: + paging_info = {"previous_page": None, "next_page": None, "count": 0, "total_page": 0, "offset": 0} + return render(request, "oj/contest/contest_rank.html", {"rank": rank, "contest": contest, "contest_problems": contest_problems, + "paging_info": paging_info, "auto_refresh": request.GET.get("auto_refresh", None) == "true", "show_real_name": request.GET.get("show_real_name", None) == "true",}) diff --git a/template/src/oj/contest/contest_index.html b/template/src/oj/contest/contest_index.html index 786a21ea..c9d35329 100644 --- a/template/src/oj/contest/contest_index.html +++ b/template/src/oj/contest/contest_index.html @@ -15,7 +15,7 @@ 提交
  • - 排名 + 排名
  • {% include "oj/contest/_contest_header.html" %} diff --git a/template/src/oj/contest/contest_problems_list.html b/template/src/oj/contest/contest_problems_list.html index c0cb58a1..cc918c1b 100644 --- a/template/src/oj/contest/contest_problems_list.html +++ b/template/src/oj/contest/contest_problems_list.html @@ -21,7 +21,7 @@ 提交
  • - 排名 + 排名
  • diff --git a/template/src/oj/contest/contest_rank.html b/template/src/oj/contest/contest_rank.html index 1d7b6d4d..09f77c1f 100644 --- a/template/src/oj/contest/contest_rank.html +++ b/template/src/oj/contest/contest_rank.html @@ -17,7 +17,7 @@ 提交 @@ -48,7 +48,7 @@ {% for item in rank %} - {{ forloop.counter }} + {{ forloop.counter|add:paging_info.offset}} {{ item.user__username }} @@ -69,8 +69,25 @@ + onchange="if(this.checked){location.href=location.href + '&auto_refresh=true'}else{location.href=location.href=location.href.replace('&auto_refresh=true', '')}"> 自动刷新 + {% else %}

    还没有结果

    {% 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 @@ 提交
  • - 排名 + 排名
  • {% endif %} diff --git a/template/src/oj/contest/submissions_list.html b/template/src/oj/contest/submissions_list.html index c5c37b59..04b2f195 100644 --- a/template/src/oj/contest/submissions_list.html +++ b/template/src/oj/contest/submissions_list.html @@ -19,7 +19,7 @@ 提交
  • - 排名 + 排名
  • diff --git a/utils/shortcuts.py b/utils/shortcuts.py index af1d82f0..f650e521 100644 --- a/utils/shortcuts.py +++ b/utils/shortcuts.py @@ -26,7 +26,7 @@ def success_response(data): return Response(data={"code": 0, "data": data}) -def paginate(request, query_set, object_serializer): +def paginate_data(request, query_set, object_serializer): """ 用于分页的函数 如果 url 里面不含有paging=true,那么将返回全部数据。类似 @@ -39,38 +39,26 @@ def paginate(request, query_set, object_serializer): 如果 url 中有 paging=true 的参数, 然后还需要读取其余的两个参数,page=[int],需要的页码,p age_size=[int],一页的数据条数 - 参数错误的时候,返回{"code": 1, "data": u"参数错误"} - 返回的数据格式 - { - "code": 0, - "data": { - "previous_page": null, - "results": [ - { - "username": "1111111", - "password": "123456" - } - ], - "next_page": 2 - } - } + :param query_set 数据库查询结果 :param object_serializer: 序列化单个object的serializer - :return response """ need_paginate = request.GET.get("paging", None) # 如果请求的参数里面没有paging=true的话 就返回全部数据 if need_paginate != "true": - return success_response(data=object_serializer(query_set, many=True).data) + if object_serializer: + return object_serializer(query_set, many=True).data + else: + return query_set page_size = request.GET.get("page_size", None) if not page_size: - return error_response(u"参数错误") + raise ValueError("Error parameter page_size") try: page_size = int(page_size) except Exception: - return error_response(u"参数错误") + raise ValueError("Error parameter page_size") paginator = Paginator(query_set, page_size) page = request.GET.get("page", None) @@ -78,11 +66,17 @@ def paginate(request, query_set, object_serializer): try: current_page = paginator.page(page) except Exception: - return error_response(u"参数错误") + raise ValueError("Error parameter current_page") + if object_serializer: + results = object_serializer(current_page, many=True).data + else: + results = current_page - data = {"results": object_serializer(current_page, many=True).data, + data = {"results": results, "previous_page": None, "next_page": None, + "page_size": page_size, + "current_page": page, "count": paginator.count, "total_page": paginator.num_pages} @@ -96,6 +90,14 @@ def paginate(request, query_set, object_serializer): except Exception: pass + return data + + +def paginate(request, query_set, object_serializer=None): + try: + data= paginate_data(request, query_set, object_serializer) + except Exception: + return error_response(u"参数错误") return success_response(data) From d6ece85c98efd56163c5e9e60398ab9679a74188 Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Thu, 8 Oct 2015 14:12:38 +0800 Subject: [PATCH 05/39] =?UTF-8?q?=E9=83=A8=E5=88=86=E9=87=8D=E8=A6=81?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E5=A2=9E=E5=8A=A0=20ajax=20error=20=E5=9B=9E?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- static/src/js/app/oj/account/changePassword.js | 3 +++ static/src/js/app/oj/account/login.js | 3 +++ static/src/js/app/oj/account/register.js | 3 +++ static/src/js/app/oj/contest/contestPassword.js | 5 ++++- static/src/js/app/oj/problem/problem.js | 3 +++ 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/static/src/js/app/oj/account/changePassword.js b/static/src/js/app/oj/account/changePassword.js index 37c3ec37..fe7d908a 100644 --- a/static/src/js/app/oj/account/changePassword.js +++ b/static/src/js/app/oj/account/changePassword.js @@ -27,6 +27,9 @@ require(["jquery", "bsAlert", "csrfToken", "validator"], function ($, bsAlert, c refresh_captcha(); bsAlert(data.data); } + }, + error: function(){ + bsAlert("额 好像出错了,请刷新页面重试。如还有问题,请填写页面导航栏上的反馈。") } }); return false; diff --git a/static/src/js/app/oj/account/login.js b/static/src/js/app/oj/account/login.js index 22d47593..8baf0182 100644 --- a/static/src/js/app/oj/account/login.js +++ b/static/src/js/app/oj/account/login.js @@ -38,6 +38,9 @@ require(["jquery", "bsAlert", "csrfToken", "validator"], function ($, bsAlert, c } bsAlert(data.data); } + }, + error: function(){ + bsAlert("额 好像出错了,请刷新页面重试。如还有问题,请填写页面导航栏上的反馈。") } }); diff --git a/static/src/js/app/oj/account/register.js b/static/src/js/app/oj/account/register.js index e5d22d5b..46402b10 100644 --- a/static/src/js/app/oj/account/register.js +++ b/static/src/js/app/oj/account/register.js @@ -20,6 +20,9 @@ require(["jquery", "bsAlert", "csrfToken", "validator"], function ($, bsAlert, c refresh_captcha(); bsAlert(data.data); } + }, + error: function(){ + bsAlert("额 好像出错了,请刷新页面重试。如还有问题,请填写页面导航栏上的反馈。") } }); return false; diff --git a/static/src/js/app/oj/contest/contestPassword.js b/static/src/js/app/oj/contest/contestPassword.js index 24d785fc..a98f7032 100644 --- a/static/src/js/app/oj/contest/contestPassword.js +++ b/static/src/js/app/oj/contest/contestPassword.js @@ -18,7 +18,10 @@ require(["jquery", "bsAlert", "csrfToken"], function($, bsAlert, csrfTokenHeader else{ bsAlert(data.data); } - } + }, + error: function(){ + bsAlert("额 好像出错了,请刷新页面重试。如还有问题,请填写页面导航栏上的反馈。") + } }) }) }); \ No newline at end of file diff --git a/static/src/js/app/oj/problem/problem.js b/static/src/js/app/oj/problem/problem.js index 4b5e639b..cdb14609 100644 --- a/static/src/js/app/oj/problem/problem.js +++ b/static/src/js/app/oj/problem/problem.js @@ -111,6 +111,9 @@ require(["jquery", "codeMirror", "csrfToken", "bsAlert", "ZeroClipboard"], bsAlert(data.data); hideLoading(); } + }, + error: function(){ + bsAlert("额 好像出错了,请刷新页面重试。如还有问题,请填写页面导航栏上的反馈。") } }) } From 06a5fcfcf646db71ac43d0e3d08a4058feedbb57 Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Thu, 8 Oct 2015 18:16:34 +0800 Subject: [PATCH 06/39] fix typo --- template/src/oj/contest/contest_rank.html | 4 ++-- template/src/utils/about.html | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/template/src/oj/contest/contest_rank.html b/template/src/oj/contest/contest_rank.html index 09f77c1f..f4a5494f 100644 --- a/template/src/oj/contest/contest_rank.html +++ b/template/src/oj/contest/contest_rank.html @@ -75,14 +75,14 @@