重命名 sample -> samples

添加标签的逻辑变化
修改部分错误的测试用例
This commit is contained in:
virusdefender
2015-08-10 22:55:22 +08:00
parent 9d962a172f
commit cadb480573
5 changed files with 43 additions and 21 deletions

View File

@@ -34,6 +34,7 @@ class ProblemTagAdminAPIView(APIView):
return error_response(serializer)
def get(self, request):
return success_response(ProblemTagSerializer(ProblemTag.objects.all(), many=True).data)
keyword = request.GET.get("keyword", None)
if not keyword:
return error_response(u"参数错误")
@@ -44,11 +45,11 @@ class ProblemTagAdminAPIView(APIView):
def problem_page(request, problem_id):
# try:
# problem = Problem.objects.get(id=problem_id)
# except Problem.DoesNotExist:
# return render(request, "utils/error.html", {"error": u"题目不存在"})
return render(request, "oj/problem/problem.html", {"problem": {}})
try:
problem = Problem.objects.get(id=problem_id)
except Problem.DoesNotExist:
return render(request, "utils/error.html", {"error": u"题目不存在"})
return render(request, "oj/problem/problem.html", {"problem": problem, "samples": json.loads(problem.samples)})
def problem_my_solutions_list_page(request, problem_id):
@@ -75,15 +76,19 @@ class ProblemAdminAPIView(APIView):
description=data["description"],
test_case_id=data["test_case_id"],
source=data["source"],
sample=json.dumps(data["sample"]),
samples=json.dumps(data["samples"]),
time_limit=data["time_limit"],
memory_limit=data["memory_limit"],
difficulty=data["difficulty"],
created_by=request.user,
hint=data["hint"])
tags = ProblemTag.objects.filter(id__in=data["tags"])
problem.tags.add(*tags)
for tag in data["tags"]:
try:
tag = ProblemTag.objects.get(name=tag)
except ProblemTag.DoesNotExist:
tag = ProblemTag.objects.create(name=tag)
problem.tags.add(tag)
return success_response(ProblemSerializer(problem).data)
else:
return serializer_invalid_response(serializer)
@@ -110,7 +115,7 @@ class ProblemAdminAPIView(APIView):
problem.time_limit = data["time_limit"]
problem.memory_limit = data["memory_limit"]
problem.difficulty = data["difficulty"]
problem.sample = json.dumps(data["sample"])
problem.samples = json.dumps(data["samples"])
problem.hint = data["hint"]
problem.visible = data["visible"]