Merge branch 'hohoTT-dev' into dev

* hohoTT-dev:
  后端比赛与比赛题目部分已修改完成
  修改并完善比赛及其他部分的内容及测试
  CodeMirror自动更改高度的问题
  增加及修改account与announcement的测试
  修改比赛的views及部分问题
  后端修改比赛创建部分,同时在models中增加了几个字段
  后端比赛和比赛题目的部分,还有要增加和修改的地方
  修复一个点击错误

Conflicts:
	static/src/css/oj.css
This commit is contained in:
virusdefender
2015-08-22 14:12:14 +08:00
20 changed files with 1009 additions and 78 deletions

View File

@@ -32,8 +32,6 @@ class AbstractProblem(models.Model):
# last_update_time = models.DateTimeField(auto_now=True)
# 这个题是谁创建的
created_by = models.ForeignKey(User)
# 来源
source = models.CharField(max_length=30, blank=True, null=True)
# 时间限制 单位是毫秒
time_limit = models.IntegerField()
# 内存限制 单位是MB
@@ -54,3 +52,5 @@ class Problem(AbstractProblem):
difficulty = models.IntegerField()
# 标签
tags = models.ManyToManyField(ProblemTag)
# 来源
source = models.CharField(max_length=30, blank=True, null=True)

View File

@@ -1,7 +1,7 @@
# coding=utf-8
import json
from django.test import TestCase
from django.test import TestCase, Client
from django.core.urlresolvers import reverse
from rest_framework.test import APITestCase, APIClient
@@ -39,7 +39,6 @@ class ProblemPageTest(TestCase):
self.assertTemplateUsed(response, "utils/error.html")
class ProblemAdminTest(APITestCase):
def _create_data(self, problem_id, visible, tags):
data = {"id": problem_id,
@@ -164,3 +163,29 @@ class ProblemTagAdminAPITest(APITestCase):
def test_get_all_problem_tag_successfully(self):
self.assertEqual(self.client.get(self.url).data["code"], 0)
class ProblemListPageTest(TestCase):
def setUp(self):
self.client = Client()
self.url = reverse('problem_list_page', kwargs={"page": 1})
self.user = User.objects.create(username="test", admin_type=SUPER_ADMIN)
self.user.set_password("testaa")
self.user.save()
self.client.login(username="test", password="testaa")
ProblemTag.objects.create(name="tag1")
ProblemTag.objects.create(name="tag2")
self.problem = Problem.objects.create(title="title1",
description="description1",
input_description="input1_description",
output_description="output1_description",
test_case_id="1",
source="source1",
samples=json.dumps([{"input": "1 1", "output": "2"}]),
time_limit=100,
memory_limit=1000,
difficulty=1,
hint="hint1",
created_by=User.objects.get(username="test"))

View File

@@ -57,7 +57,6 @@ class ProblemAdminAPIView(APIView):
difficulty=data["difficulty"],
created_by=request.user,
hint=data["hint"])
for tag in data["tags"]:
try:
tag = ProblemTag.objects.get(name=tag)