From cca4bb38524fb826594be23ea4dcfc864e3f19e2 Mon Sep 17 00:00:00 2001 From: esp Date: Sun, 23 Aug 2015 17:34:27 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=90=8E=E7=AB=AF]=E4=BF=AE=E6=94=B9GET?= =?UTF-8?q?=E6=AF=94=E8=B5=9B=E5=88=86=E9=A1=B5API,=E5=AF=B9=E6=99=AE?= =?UTF-8?q?=E9=80=9A=E7=AE=A1=E7=90=86=E5=91=98=E4=BB=85=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E8=87=AA=E5=B7=B1=E5=88=9B=E5=BB=BA=E7=9A=84=E6=AF=94=E8=B5=9B?= =?UTF-8?q?,=E4=BD=86=E5=9C=A8=E5=A4=9A=E7=94=A8=E6=88=B7=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E8=BF=87=E6=AF=94=E8=B5=9B=E6=98=AF(=E5=8F=AA?= =?UTF-8?q?=E8=A6=81=E5=BD=93=E5=89=8D=E7=94=A8=E6=88=B7=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=85=B6=E4=BB=96=E7=94=A8=E6=88=B7=E7=9A=84=E6=AF=94=E8=B5=9B?= =?UTF-8?q?=E6=98=AF=E5=B0=B1=E4=BC=9A=E4=BA=A7=E7=94=9F=E9=94=99=E8=AF=AF?= =?UTF-8?q?,=E8=BF=99=E6=98=AF=E5=8E=9F=E6=9D=A5=E5=B0=B1=E6=9C=89?= =?UTF-8?q?=E7=9A=84BUG),=E8=BF=98=E6=9C=AA=E5=86=99=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contest/views.py | 12 +++++++++++- static/src/css/contest/add_contest.css | 5 +++++ static/src/js/app/admin/contest/edit_problem.js | 0 template/admin/contest/edit_problem.html | 0 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 static/src/css/contest/add_contest.css create mode 100644 static/src/js/app/admin/contest/edit_problem.js create mode 100644 template/admin/contest/edit_problem.html diff --git a/contest/views.py b/contest/views.py index bc9eb35..7ad58b3 100644 --- a/contest/views.py +++ b/contest/views.py @@ -126,7 +126,10 @@ class ContestAdminAPIView(APIView): --- response_serializer: ContestSerializer """ - contest = Contest.objects.all().order_by("-last_updated_time") + if request.user.admin_type == SUPER_ADMIN: + contest = Contest.objects.all().order_by("-last_update_time") + else: + contest = Contest.objects.filter(created_by=request.user).order_by("-last_updated_time") visible = request.GET.get("visible", None) if visible: contest = contest.filter(visible=(visible == "true")) @@ -219,5 +222,12 @@ class ContestProblemAdminAPIView(APIView): if keyword: contest_problem = contest_problem.filter(Q(title__contains=keyword) | Q(description__contains=keyword)) + contest_id = request.GET.get("contest_id", None) + if contest_id: + try: + contest = Contest.objects.get(id=contest_id,created_by=request.user) + except Contest.DoesNotExist: + return error_response(u"非法的比赛ID") + contest_problem = contest_problem.filter(contest=contest).order_by("sort_index") return paginate(request, contest_problem, ContestProblemSerializer) \ No newline at end of file diff --git a/static/src/css/contest/add_contest.css b/static/src/css/contest/add_contest.css new file mode 100644 index 0000000..af9ee38 --- /dev/null +++ b/static/src/css/contest/add_contest.css @@ -0,0 +1,5 @@ +.group-tag { + padding-left: 5px; color: #46799b; background: #e0eaf1; white-space: nowrap; + overflow: hidden; cursor: pointer; border-radius: 2px 0 0 2px; + float: left; padding: 0 4px;box-sizing: border-box;list-style-type: none; margin: 5px; +} diff --git a/static/src/js/app/admin/contest/edit_problem.js b/static/src/js/app/admin/contest/edit_problem.js new file mode 100644 index 0000000..e69de29 diff --git a/template/admin/contest/edit_problem.html b/template/admin/contest/edit_problem.html new file mode 100644 index 0000000..e69de29