mirror of
https://github.com/QingdaoU/OnlineJudge.git
synced 2024-09-22 00:43:20 +00:00
Merge branch 'for-contest' of https://git.coding.net/virusdefender/qduoj into for-contest-dev
This commit is contained in:
commit
56c38f21ac
@ -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):
|
||||
|
@ -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:
|
||||
|
@ -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",
|
||||
|
@ -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
|
||||
|
@ -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
1
runJudge.sh
Executable file
@ -0,0 +1 @@
|
||||
nohup celery -A judge.judger_controller worker -l DEBUG &
|
@ -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/",
|
||||
|
@ -69,7 +69,7 @@
|
||||
</ul>
|
||||
</nav>
|
||||
{% else %}
|
||||
<p>当前没有合适的比赛</p>
|
||||
<p>当前没有合适的比赛,你可以尝试到<a href="/groups/">小组列表</a>申请加入一些小组,以便参加小组内部的比赛</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -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>
|
||||
|
@ -97,7 +97,7 @@
|
||||
<a href="/submissions/">提交</a>
|
||||
<a href="/contests/">比赛</a>
|
||||
<a href="/groups/">小组</a>
|
||||
<a href="/about/">关于</a>
|
||||
<a href="#">关于</a>
|
||||
|
||||
|
||||
</div>
|
||||
|
@ -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">
|
||||
|
Loading…
Reference in New Issue
Block a user