diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb
index f31ff8eb5..f2ae14598 100644
--- a/app/controllers/account_controller.rb
+++ b/app/controllers/account_controller.rb
@@ -536,6 +536,21 @@ class AccountController < ApplicationController
redirect_to professional_certification_account_path
end
+ # 修改资料时判断学号是否已使用
+ def check_user_student_id
+ data = {result:0, account:""}
+ if params[:student_id] && params[:school_id]
+ if UserExtensions.where("student_id = '#{params[:student_id]}' and school_id = #{params[:school_id]} and user_id != #{User.current.id}").count > 0
+ user = User.where(:id => UserExtensions.where("student_id = '#{params[:student_id]}' and school_id = #{params[:school_id]} and user_id != #{User.current.id}").map(&:user_id)).first
+ data[:account] = user.mail.blank? ? user.user_phone : user.user_mail
+ else
+ data[:result] = 1
+ end
+ end
+ render :json => data
+ end
+
+ # 实名认证时判断学号是否已使用
def check_student_id
data = {result:0, account:""}
if params[:student_id] && params[:school_id]
@@ -555,6 +570,7 @@ class AccountController < ApplicationController
render :json => data
end
+ # 实名认证时判断证件号码是否已使用
def check_id_number
data = {result:0, account:""}
if params[:id_number]
diff --git a/app/controllers/games_controller.rb b/app/controllers/games_controller.rb
index ee40a76bd..d5522b898 100644
--- a/app/controllers/games_controller.rb
+++ b/app/controllers/games_controller.rb
@@ -89,7 +89,7 @@ class GamesController < ApplicationController
# @praise 判断是否点赞
# @tread 判断是否踩
# git_repository_url @myshixun, "Myshixun"
- # @st 0 实践任务 1 多选任务 2 单选任务
+ # @st 0 实践任务 1 选择题任务
def show
# 展示全部实训
@is_subject = params[:is_subject]
diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index 6e56e44c6..26f89d0e3 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -31,22 +31,22 @@ class HomeworkCommonController < ApplicationController
end
if @order.blank?
if @is_teacher
- @homework_commons = @homework_commons.order("created_at desc")
+ @homework_commons = @homework_commons.order("publish_time desc")
else
- @homework_commons = @homework_commons.where("publish_time <= '#{Time.now}'").order("created_at desc")
+ @homework_commons = @homework_commons.where("publish_time <= '#{Time.now}'").order("publish_time desc")
end
else
case @order
when '1'
- @homework_commons = @homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status = #{@order} and end_time > '#{Time.now}'").order("homework_commons.created_at desc")
+ @homework_commons = @homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status = #{@order} and end_time > '#{Time.now}'").order("homework_commons.publish_time desc")
when '3'
- @homework_commons = @homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status = #{@order} and homework_detail_manuals.evaluation_end > '#{Time.now}'").order("homework_commons.created_at desc")
+ @homework_commons = @homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status = #{@order} and homework_detail_manuals.evaluation_end > '#{Time.now}'").order("homework_commons.publish_time desc")
when '4'
- @homework_commons = @homework_commons.includes(:homework_detail_manual).where("(homework_detail_manuals.comment_status = #{@order} and homework_detail_manuals.appeal_time > '#{Time.now}')").order("homework_commons.created_at desc")
+ @homework_commons = @homework_commons.includes(:homework_detail_manual).where("(homework_detail_manuals.comment_status = #{@order} and homework_detail_manuals.appeal_time > '#{Time.now}')").order("homework_commons.publish_time desc")
when '5'
- @homework_commons = @homework_commons.includes(:homework_detail_manual).where("(homework_detail_manuals.comment_status = #{@order} and archive_time > '#{Time.now}')").order("homework_commons.created_at desc")
+ @homework_commons = @homework_commons.includes(:homework_detail_manual).where("(homework_detail_manuals.comment_status = #{@order} and archive_time > '#{Time.now}')").order("homework_commons.publish_time desc")
else
- @homework_commons = @homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status = #{@order}").order("homework_commons.created_at desc")
+ @homework_commons = @homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status = #{@order}").order("homework_commons.publish_time desc")
end
end
@is_student = User.current.logged? && (User.current.admin? || (User.current.member_of_course?(@course) && !@is_teacher))
diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb
index 7e54df3f1..7ee69d2e9 100644
--- a/app/controllers/managements_controller.rb
+++ b/app/controllers/managements_controller.rb
@@ -823,7 +823,7 @@ end
@courselist= @courselist.where("name like '%#{search}%'")
end
end
- @courselist = @courselist.order("created_at #{@sx_order}")
+ @courselist = @courselist.order("id #{@sx_order}")
@courselist_count = @courselist.count
limit = 20
@is_remote = true
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 60980e372..b8ed26ba7 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -4833,15 +4833,15 @@ def get_hw_index(hw,is_teacher,type=0)
homework_commons = hw.course.homework_commons
if is_teacher
if type != 0
- homeworks = homework_commons.where("homework_commons.homework_type = #{type}").order("created_at asc")
+ homeworks = homework_commons.where("homework_commons.homework_type = #{type}").order("publish_time desc")
else
- homeworks = homework_commons.order("created_at asc")
+ homeworks = homework_commons.order("publish_time desc")
end
else
if type != 0
- homeworks = homework_commons.where("homework_commons.homework_type = #{type} and publish_time <= '#{Time.now}'").order("created_at asc")
+ homeworks = homework_commons.where("homework_commons.homework_type = #{type} and publish_time <= '#{Time.now}'").order("publish_time desc")
else
- homeworks = homework_commons.where("publish_time <= '#{Time.now}'").order("created_at asc")
+ homeworks = homework_commons.where("publish_time <= '#{Time.now}'").order("publish_time desc")
end
end
hw_ids = homeworks.map{|hw| hw.id} if !homeworks.blank?
diff --git a/app/views/challenges/_single_or_multiple_question.html.erb b/app/views/challenges/_single_or_multiple_question.html.erb
index e0c883739..e066ccea3 100644
--- a/app/views/challenges/_single_or_multiple_question.html.erb
+++ b/app/views/challenges/_single_or_multiple_question.html.erb
@@ -349,6 +349,7 @@
var lens = contents.length;
for(var i = 0; i < lens; i++){
if($(contents[i]).val().trim() == ""){
+ $(contents[i]).focus();
return true;
}
}
@@ -358,6 +359,7 @@
// 判断选择题选择答案的个数
function judge_choice_answer(){
var answer = document.getElementsByName("choice[answer][]");
+ var contents = document.getElementsByName("question[cnt][]");
var lens = answer.length;
var num = 0;
for(var i= 0; i < lens; i++){
@@ -365,6 +367,7 @@
num += 1;
}
}
+ $(contents[0]).focus();
return num;
}
@@ -438,6 +441,7 @@
if(st == "1"){
if(judge_choice_contents()) {
error.html("选项内容不能为空").show();
+
}else if(choice_num() < 2){
error.html("单选题选项不能少于2个").show();
}else if(judge_choice_answer() == 0){
diff --git a/app/views/exercise/_edit_MC.html.erb b/app/views/exercise/_edit_MC.html.erb
index 6d49b607d..1a9e536fa 100644
--- a/app/views/exercise/_edit_MC.html.erb
+++ b/app/views/exercise/_edit_MC.html.erb
@@ -56,55 +56,9 @@
温馨提示:[单选题]属于客观题将由系统自动评分,请设置标准答案
保存
- 取消
+ 取消
-<% if false %>
-
-
-
分值 :
-
分
-
<%=convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %>
-
标准答案:
-
-
-
- 问题:
-
-
-
-
-
-
-
-
-
-
-<% end%>
<% end%>
\ No newline at end of file
diff --git a/app/views/exercise/_edit_MCQ.html.erb b/app/views/exercise/_edit_MCQ.html.erb
index bf6d672f1..3784bb800 100644
--- a/app/views/exercise/_edit_MCQ.html.erb
+++ b/app/views/exercise/_edit_MCQ.html.erb
@@ -25,7 +25,6 @@
@@ -62,57 +61,9 @@
温馨提示:[多选题]属于客观题将由系统自动评分,请设置标准答案
保存
- 取消
+ 取消
-<% if false %>
-
-
-
分值 :
-
分
-
<%=convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %>
-
标准答案:
-
-
-
- 问题:
-
-
-
-
-
-
-
-
-
- <% end %>
<% end%>
\ No newline at end of file
diff --git a/app/views/exercise/_edit_multi.html.erb b/app/views/exercise/_edit_multi.html.erb
index e56fa4c32..c5739c7a0 100644
--- a/app/views/exercise/_edit_multi.html.erb
+++ b/app/views/exercise/_edit_multi.html.erb
@@ -10,7 +10,6 @@
简答题
-
题目
@@ -28,40 +27,8 @@
温馨提示:[简答题]属于主观题需要人工评分,未作答的情况下系统将自动评分
参考答案仅作为人工评分的参考
保存
- 取消
+ 取消
-
-<% if false %>
-
-
-
- 问题:
-
-
-
-
-
-
-
-
-
-<% end%>
<% end%>
\ No newline at end of file
diff --git a/app/views/exercise/_edit_single.html.erb b/app/views/exercise/_edit_single.html.erb
index 42f2735fe..46e663ffe 100644
--- a/app/views/exercise/_edit_single.html.erb
+++ b/app/views/exercise/_edit_single.html.erb
@@ -24,7 +24,6 @@
填空题
-
题目
@@ -51,7 +50,7 @@
温馨提示:[填空题]属于客观题将由系统自动评分,请设置标准答案
保存
- 取消
+ 取消
diff --git a/app/views/exercise/_show_multi.html.erb b/app/views/exercise/_show_multi.html.erb
index de1ee620b..0dfcb53d9 100644
--- a/app/views/exercise/_show_multi.html.erb
+++ b/app/views/exercise/_show_multi.html.erb
@@ -15,8 +15,8 @@
<%= exercise_question.question_title %>
-
参考答案
-
<%= exercise_question.exercise_standard_answers.count > 0 ? exercise_question.exercise_standard_answers.first.answer_text : "无"%>
+
参考答案:
+
<%= exercise_question.exercise_standard_answers.count > 0 ? exercise_question.exercise_standard_answers.first.answer_text : "无"%>
diff --git a/app/views/games/_game_choose_results.html.erb b/app/views/games/_game_choose_results.html.erb
index f212f1f3f..3ab0f6e29 100644
--- a/app/views/games/_game_choose_results.html.erb
+++ b/app/views/games/_game_choose_results.html.erb
@@ -1,7 +1,10 @@
@@ -60,4 +63,33 @@
+
\ No newline at end of file
diff --git a/app/views/managements/_classroom_list.html.erb b/app/views/managements/_classroom_list.html.erb
index 0d6192326..dc321ffa0 100644
--- a/app/views/managements/_classroom_list.html.erb
+++ b/app/views/managements/_classroom_list.html.erb
@@ -23,7 +23,7 @@
- <%= courselist.name %>
+ <%= courselist.name %>
<%= courselist.courses.count %>
diff --git a/app/views/subjects/edit.html.erb b/app/views/subjects/edit.html.erb
index 0f8baf4e9..845ad9424 100644
--- a/app/views/subjects/edit.html.erb
+++ b/app/views/subjects/edit.html.erb
@@ -1,6 +1,5 @@
-<% content_for :header_tags do %>
- <%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
-<% end %>
+<%= stylesheet_link_tag '/editormd/css/editormd' %>
+<%= javascript_include_tag '/editormd/editormd' %>
@@ -9,40 +8,28 @@
- <%= labelled_form_for @subject do |f| %>
-
- * 名称
-
-
- 请输入名称
-
-
+ <%= labelled_form_for @subject do |f| %>
+
+ * 名称
+
+
+ 请输入名称
+
+
-
+
* 简介
<%= hidden_field_tag :asset_id, params[:asset_id], :required => false, :style => 'display:none' %>
-
- <%= f.kindeditor :description, :editor_id => 'subject_description_editor',
- :owner_id => @subject.nil? ? 0: @subject.id,
- :owner_type => OwnerTypeHelper::SUBJECT,
- :local_storage_mdu => "subject_description_#{User.current.id}_#{@subject.id}",
- :local_storage_id => "desc",
- :width => '80%',
- :height => 200,
- :minHeight=>200,
- :placeholder => "请在此输入实训路径的简介",
- :class => 'talk_text fl',
- :input_html => { :id => 'new_subject_description',
- :class => 'talk_text fl',
- :maxlength => 5000 }
- %>
+
+
+
@@ -50,32 +37,116 @@
* 学习须知
-
- <%= f.kindeditor :learning_notes, :editor_id => 'subject_learning_notes_editor',
- :owner_id => @subject.nil? ? 0: @subject.id,
- :owner_type => OwnerTypeHelper::SUBJECT,
- :local_storage_mdu => "subject_notes_#{User.current.id}_#{@subject.id}",
- :local_storage_id => "notes",
- :width => '80%',
- :height => 200,
- :minHeight=>200,
- :placeholder => "请在此输入实训路径的学习须知",
- :class => 'talk_text fl',
- :input_html => { :id => 'new_learning_notes',
- :class => 'talk_text fl',
- :maxlength => 5000 }
- %>
+
+
+
请输入学习须知
-
-
- <%= link_to "取消", subject_path(@subject), :class => "task-btn fl mr10 ml20" %>
- 保存
-
- <% end %>
+
+
+ <%= link_to "取消", subject_path(@subject), :class => "task-btn fl mr10 ml20" %>
+ 保存
+
+ <% end %>
+
-
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/app/views/subjects/new.html.erb b/app/views/subjects/new.html.erb
index 42b2382d2..cfa6ae8ea 100644
--- a/app/views/subjects/new.html.erb
+++ b/app/views/subjects/new.html.erb
@@ -1,6 +1,6 @@
-<% content_for :header_tags do %>
- <%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
-<% end %>
+<%= stylesheet_link_tag '/editormd/css/editormd' %>
+<%= javascript_include_tag '/editormd/editormd' %>
+
@@ -9,81 +9,57 @@
- <%= labelled_form_for @subject do |f| %>
-
- * 名称
-
-
- 请输入名称
-
-
+ <%= labelled_form_for @subject do |f| %>
+
+ * 名称
+
+
+ 请输入名称
+
+
-
-
- * 简介
- <%= hidden_field_tag :asset_id, params[:asset_id], :required => false, :style => 'display:none' %>
-
- <%= f.kindeditor :description, :editor_id => 'subject_description_editor',
- :owner_id => @subject.nil? ? 0: @subject.id,
- :owner_type => OwnerTypeHelper::SUBJECT,
- :local_storage_mdu => "subject_description_#{User.current.id}",
- :local_storage_id => "desc",
- :width => '80%',
- :height => 200,
- :minHeight=>200,
- :placeholder => "请在此输入实训路径的简介",
- :class => 'talk_text fl',
- :input_html => { :id => 'new_subject_description',
- :class => 'talk_text fl',
- :maxlength => 5000 }
- %>
-
-
-
- 请输入简介
-
-
- * 学习须知
-
- <%= f.kindeditor :learning_notes, :editor_id => 'subject_learning_notes_editor',
- :owner_id => @subject.nil? ? 0: @subject.id,
- :owner_type => OwnerTypeHelper::SUBJECT,
- :local_storage_mdu => "subject_notes_#{User.current.id}",
- :local_storage_id => "notes",
- :width => '80%',
- :height => 200,
- :minHeight=>200,
- :placeholder => "请在此输入实训路径的学习须知",
- :class => 'talk_text fl',
- :input_html => { :id => 'new_learning_notes',
- :class => 'talk_text fl',
- :maxlength => 5000 }
- %>
-
-
-
-
- 请输入学习须知
-
-
-
-
- <%= link_to "取消", subjects_path(), :class => "task-btn fl mr10 ml20" %>
- 保存
-
- <% end %>
-
-
+
+
+ * 简介
+ <%= hidden_field_tag :asset_id, params[:asset_id], :required => false, :style => 'display:none' %>
+
+
+
+
+
+
+ 请输入简介
+
+
+ * 学习须知
+
+
+
+
+
+
+
+ 请输入学习须知
+
+
+
+
+ <%= link_to "取消", subjects_path(), :class => "task-btn fl mr10 ml20" %>
+ 保存
+
+ <% end %>
+
+
\ No newline at end of file
+ /* ------------------------------- 简介md ------------------------------*/
+ var shixun_editormd = editormd("shixun_introduction", {
+ width : "80%",
+ height : 600,
+ syncScrolling : "single",
+ //你的lib目录的路径,我这边用JSP做测试的
+ path : "/editormd/lib/",
+ tex : true,
+ toolbarIcons : function() {
+ // Or return editormd.toolbarModes[name]; // full, simple, mini
+ // Using "||" set icons align right.
+ return ["bold", "italic", "|", "list-ul", "list-ol", "|", "code", "code-block", "|", "testIcon", "testIcon1", '|', "image", "table", '|', "watch", "clear" ]
+ },
+
+ toolbarCustomIcons : {
+ testIcon : "
",
+ testIcon1 : "
"
+ },
+ //这个配置在simple.html中并没有,但是为了能够提交表单,使用这个配置可以让构造出来的HTML代码直接在第二个隐藏的textarea域中,方便post提交表单。
+ saveHTMLToTextarea : true,
+ autoFocus: false,
+ // 用于增加自定义工具栏的功能,可以直接插入HTML标签,不使用默认的元素创建图标
+ dialogMaskOpacity : 0.6,
+ placeholder: "请在此输入实训路径的简介",
+ imageUpload : true,
+ imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp", "JPG", "JPEG", "GIF", "PNG", "BMP", "WEBP"],
+ imageUploadURL : "<%= upload_with_markdown_path(:container_id => @subject.id, :container_type => @subject.class) %>" //url
+ });
+
+ /* --------------------------------- 学习须知 -------------------------------------- */
+ var shixun_propaedeutics = editormd("shixun_propaedeutics", {
+ width : "80%",
+ height : 600,
+ syncScrolling : "single",
+ //你的lib目录的路径,我这边用JSP做测试的
+ path : "/editormd/lib/",
+ tex : true,
+ toolbarIcons : function() {
+ // Or return editormd.toolbarModes[name]; // full, simple, mini
+ // Using "||" set icons align right.
+ return ["bold", "italic", "|", "list-ul", "list-ol", "|", "code", "code-block", "|", "testIcon", "testIcon1", '|', "image", "table", '|', "watch", "clear" ]
+ },
+ toolbarCustomIcons : {
+ testIcon : "
",
+ testIcon1 : "
"
+ },
+ //这个配置在simple.html中并没有,但是为了能够提交表单,使用这个配置可以让构造出来的HTML代码直接在第二个隐藏的textarea域中,方便post提交表单。
+ saveHTMLToTextarea : true,
+ autoFocus: false,
+ // 用于增加自定义工具栏的功能,可以直接插入HTML标签,不使用默认的元素创建图标
+ dialogMaskOpacity : 0.6,
+ placeholder: "请在此输入实训路径的学习须知",
+ imageUpload : true,
+ imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp", "JPG", "JPEG", "GIF", "PNG", "BMP", "WEBP"],
+ imageUploadURL : "<%= upload_with_markdown_path(:container_id => @subject.id, :container_type => @subject.class) %>" //url
+ });
+ window.onload = function(){
+ console.log(shixun_editormd);
+
+ $("#shixun_introduction [type=\"latex\"]").bind("click", function(){
+ shixun_editormd.cm.replaceSelection("```latex");
+ shixun_editormd.cm.replaceSelection("\n");
+ shixun_editormd.cm.replaceSelection("\n");
+ shixun_editormd.cm.replaceSelection("```");
+ var __Cursor = shixun_editormd.cm.getDoc().getCursor();
+ shixun_editormd.cm.setCursor(__Cursor.line-1, 0);
+ });
+
+ $("#shixun_propaedeutics [type=\"latex\"]").bind("click", function(){
+ shixun_propaedeutics.cm.replaceSelection("```latex");
+ shixun_propaedeutics.cm.replaceSelection("\n");
+ shixun_propaedeutics.cm.replaceSelection("\n");
+ shixun_propaedeutics.cm.replaceSelection("```");
+ var __Cursor = shixun_propaedeutics.cm.getDoc().getCursor();
+ shixun_propaedeutics.cm.setCursor(__Cursor.line-1, 0);
+ });
+
+ $("#shixun_introduction [type=\"inline\"]").bind("click", function(){
+ shixun_editormd.cm.replaceSelection("$$$$");
+ var __Cursor = shixun_editormd.cm.getDoc().getCursor();
+ shixun_editormd.cm.setCursor(__Cursor.line, __Cursor.ch-2);
+ shixun_editormd.cm.focus();
+ });
+
+ $("#shixun_propaedeutics [type=\"inline\"]").bind("click", function(){
+ shixun_propaedeutics.cm.replaceSelection("$$$$");
+ var __Cursor = shixun_propaedeutics.cm.getDoc().getCursor();
+ shixun_propaedeutics.cm.setCursor(__Cursor.line, __Cursor.ch-2);
+ shixun_propaedeutics.cm.focus();
+ });
+ $("[type=\"inline\"]").attr("title", "行内公式");
+ $("[type=\"latex\"]").attr("title", "多行公式");
+
+ };
+
diff --git a/app/views/subjects/show.html.erb b/app/views/subjects/show.html.erb
index 10208015c..944631c62 100644
--- a/app/views/subjects/show.html.erb
+++ b/app/views/subjects/show.html.erb
@@ -1,3 +1,6 @@
+<%= stylesheet_link_tag '/editormd/css/editormd','/editormd/css/editormd.min.css' %>
+<%= javascript_include_tag '/editormd/lib/marked.min.js','/editormd/lib/prettify.min.js','/editormd/lib/raphael.min.js','/editormd/lib/underscore.min.js','/editormd/lib/sequence-diagram.min.js',
+ '/editormd/lib/flowchart.min.js','/editormd/lib/jquery.flowchart.min.js','/editormd/editormd.js'%>
<% if !@subject.description.blank? || User.current.manager_of_subject?(@subject) %>
@@ -8,8 +11,10 @@
<% end %>
-
-
<%= @subject.description.blank? ? "暂未填写" : (@subject.description.html_safe) %>
+
<% end %>
@@ -142,7 +147,9 @@
<% end %>
-
<%= @subject.learning_notes.blank? ? "暂未填写" : @subject.learning_notes.html_safe %>
+
+
+
教学团队
@@ -176,6 +183,22 @@