Merge branch 'for-contest' of https://git.coding.net/virusdefender/qduoj into for-contest-dev

This commit is contained in:
hohoTT 2015-09-04 20:01:41 +08:00
commit 56c38f21ac
12 changed files with 39 additions and 19 deletions

View File

@ -21,7 +21,7 @@ class EditGroupSerializer(serializers.Serializer):
class CreateJoinGroupRequestSerializer(serializers.Serializer):
group_id = serializers.IntegerField()
message = serializers.CharField(max_length=30)
message = serializers.CharField(max_length=30, required=False)
class JoinGroupRequestSerializer(serializers.ModelSerializer):

View File

@ -183,6 +183,8 @@ class JoinGroupAPIView(APIView):
else:
return error_response(u"你已经是小组成员了")
elif group.join_group_setting == 1:
if not data["message"]:
return error_response(u"message : 该字段是必填项。")
try:
JoinGroupRequest.objects.get(user=request.user, group=group, status=False)
return error_response(u"你已经提交过申请了,请等待审核")
@ -295,6 +297,7 @@ def group_page(request, group_id):
return error_page(request, u"小组不存在")
return render(request, "oj/group/group.html", {"group": group})
@login_required
def application_list_page(request, group_id):
try:
@ -305,6 +308,7 @@ def application_list_page(request, group_id):
return render(request, "oj/group/my_application_list.html",
{"group": group, "applications": applications})
@login_required
def application_page(request, request_id):
try:

View File

@ -17,7 +17,7 @@ judger_workspace = "/var/judger/"
# 这个是在docker 中访问数据库 ip 不一定和web服务器还有celery的一样
submission_db = {
"host": "192.168.42.1",
"host": "10.172.22.50",#"192.168.42.1",
"port": 3306,
"db": "oj_submission",
"user": "root",

View File

@ -1,7 +1,9 @@
# coding=utf-8
from __future__ import absolute_import
from celery import Celery
from celery import Celery, platforms
from .settings import redis_config
app = Celery("judge", broker='redis://%s:%s/%s' % (redis_config["host"], redis_config["port"], redis_config["db"]),
include=["judge.judger_controller.tasks"])
platforms.C_FORCE_ROOT =True

View File

@ -1,7 +1,7 @@
# coding=utf-8
# 这个redis 是 celery 使用的,包括存储队列信息还有部分统计信息
redis_config = {
"host": "121.42.32.129",
"host": "127.0.0.1",
"port": 6379,
"db": 0
}
@ -9,14 +9,15 @@ redis_config = {
# 判题的 docker 容器的配置参数
docker_config = {
"image_name": "3da0e526934e",
"image_name": " 819d3da18dc1",
"docker_path": "docker",
"shell": True
}
# 测试用例的路径,是主机上的实际路径
test_case_dir = "/var/mnt/source/test_case/"
test_case_dir = "/root/test_case/"
# 源代码路径,也就是 manage.py 所在的实际路径
source_code_dir = "/var/mnt/source/OnlineJudge/"

1
runJudge.sh Executable file
View File

@ -0,0 +1 @@
nohup celery -A judge.judger_controller worker -l DEBUG &

View File

@ -1,9 +1,14 @@
require(["jquery", "csrfToken", "bsAlert"], function ($, csrfTokenHeader, bsAlert) {
$("#sendApplication").click(function (){
var message = $("#applyMessage").val();
console.log(message);
var message;
if ($("#applyMessage").length) {
message = $("#applyMessage").val();
if (!message)
bsAlert("提交失败,请填写申请信息!");
return false;
}
var groupId = window.location.pathname.split("/")[2];
console.log(groupId);
data = {group_id: groupId,message:message}
$.ajax({
url: "/api/group_join/",

View File

@ -69,7 +69,7 @@
</ul>
</nav>
{% else %}
<p>当前没有合适的比赛</p>
<p>当前没有合适的比赛,你可以尝试到<a href="/groups/">小组列表</a>申请加入一些小组,以便参加小组内部的比赛</p>
{% endif %}
</div>
</div>

View File

@ -4,8 +4,11 @@
<div class="container main">
<ul class="nav nav-tabs nav-tabs-google">
<li role="presentation" class="active">
<a href="/group/{{ group.id }}/">详细信息</a></li>
<a href="/group/{{ group.id }}/">详细信息</a>
</li>
{% if group.join_group_setting %}
<li role="presentation"><a href="/group/{{ group.id }}/applications/">我的申请</a></li>
{% endif %}
</ul>
<h2 class="text-center">{{ group.name }}</h2>
@ -30,7 +33,11 @@
</div>
{% endif %}
<div class="form-group">
<button class="btn btn-primary" id="sendApplication">申请加入</button>
<button class="btn btn-primary" id="sendApplication">
{% if group.join_group_setting %}
申请
{% endif %}
加入</button>
</div>
</div>
</div>

View File

@ -97,7 +97,7 @@
<a href="/submissions/">提交</a>&nbsp;&nbsp;
<a href="/contests/">比赛</a>&nbsp;&nbsp;
<a href="/groups/">小组</a>&nbsp;&nbsp;
<a href="/about/">关于</a>
<a href="#">关于</a>
</div>

View File

@ -46,7 +46,7 @@
<li><a href="/submissions/">提交</a></li>
<li><a href="/contests/">比赛</a></li>
<li><a href="/groups/">小组</a></li>
<li><a href="/about/">关于</a></li>
<li><a href="#">关于</a></li>
</ul>
{% if request.user.is_authenticated %}
<ul class="nav navbar-nav navbar-right">