mirror of
https://github.com/QingdaoU/OnlineJudge.git
synced 2024-09-21 08:23:20 +00:00
增加编辑题目spj相关的逻辑
This commit is contained in:
parent
d7532ad446
commit
f69023a0f3
@ -128,6 +128,9 @@ class ProblemAdminAPIView(APIView):
|
||||
problem.source = data["source"]
|
||||
problem.time_limit = data["time_limit"]
|
||||
problem.memory_limit = data["memory_limit"]
|
||||
problem.spj = data["spj"]
|
||||
problem.spj_language = data["spj_language"]
|
||||
problem.spj_code = data["spj_code"]
|
||||
problem.difficulty = data["difficulty"]
|
||||
problem.samples = json.dumps(data["samples"])
|
||||
problem.hint = data["hint"]
|
||||
|
@ -38,7 +38,7 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert",
|
||||
return false;
|
||||
}
|
||||
var spjVM = avalon.vmodels.spjConfig;
|
||||
if (spjVM.spj && spjVM.spjCode == ""){
|
||||
if (spjVM.spj && !spjVM.spjCode){
|
||||
bsAlert("请填写Special Judge的代码");
|
||||
return false;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
require(["jquery", "avalon", "editor", "uploader", "bsAlert",
|
||||
"csrfToken", "tagEditor", "validator", "jqueryUI", "editorComponent", "testCaseUploader"],
|
||||
"csrfToken", "tagEditor", "validator", "jqueryUI", "editorComponent", "testCaseUploader", "spj"],
|
||||
function ($, avalon, editor, uploader, bsAlert, csrfTokenHeader) {
|
||||
|
||||
avalon.ready(function () {
|
||||
@ -38,6 +38,11 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert",
|
||||
bsAlert("请至少添加一个标签,这将有利于用户发现你的题目!");
|
||||
return false;
|
||||
}
|
||||
var spjVM = avalon.vmodels.spjConfig;
|
||||
if (spjVM.spj && !spjVM.spjCode){
|
||||
bsAlert("请填写Special Judge的代码");
|
||||
return false;
|
||||
}
|
||||
var ajaxData = {
|
||||
id: avalon.vmodels.admin.problemId,
|
||||
title: vm.title,
|
||||
@ -52,8 +57,13 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert",
|
||||
tags: tags,
|
||||
input_description: vm.inputDescription,
|
||||
output_description: vm.outputDescription,
|
||||
difficulty: vm.difficulty
|
||||
difficulty: vm.difficulty,
|
||||
spj: spjVM.spj
|
||||
};
|
||||
if (spjVM.spj) {
|
||||
ajaxData.spj_language = spjVM.spjLanguage;
|
||||
ajaxData.spj_code = spjVM.spjCode;
|
||||
}
|
||||
|
||||
for (var i = 0; i < vm.samples.$model.length; i++) {
|
||||
ajaxData.samples.push({
|
||||
@ -161,6 +171,12 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert",
|
||||
vm.inputDescription = problem.input_description;
|
||||
vm.outputDescription = problem.output_description;
|
||||
avalon.vmodels.testCaseUploader.setTestCase(problem.test_case_id);
|
||||
var spjVM = avalon.vmodels.spjConfig;
|
||||
spjVM.spj = problem.spj;
|
||||
// spjLanguage可能是null
|
||||
spjVM.spjLanguage = problem.spj_language=="2"?"2":"1";
|
||||
spjVM.spjCode = problem.spj_code;
|
||||
|
||||
vm.source = problem.source;
|
||||
var problemTags = problem.tags;
|
||||
$.ajax({
|
||||
|
@ -105,6 +105,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ms:spj $id="spjConfig"></ms:spj>
|
||||
<ms:testcaseuploader $id="testCaseUploader"></ms:testcaseuploader>
|
||||
<div class="form-group col-md-12">
|
||||
<label>提示</label>
|
||||
|
Loading…
Reference in New Issue
Block a user