Merge branch 'develop' into cxt_course

cxt_course
cxt 10 years ago
commit a1a180bab5

@ -1,8 +1,10 @@
class ExerciseController < ApplicationController class ExerciseController < ApplicationController
layout "base_courses" layout "base_courses"
before_filter :find_exercise_and_course, :only => [:create_exercise_question, :edit, :update, :show, :destroy, :commit_exercise, :commit_answer,:publish_exercise,:republish_exercise,:show_student_result] before_filter :find_exercise_and_course, :only => [:create_exercise_question, :edit, :update, :show, :destroy,
before_filter :find_course, :only => [:index,:new,:create,:student_exercise_list] :commit_exercise, :commit_answer,:publish_exercise,:republish_exercise,
:show_student_result,:student_exercise_list]
before_filter :find_course, :only => [:index,:new,:create]
include ExerciseHelper include ExerciseHelper
def index def index
@ -354,8 +356,20 @@ class ExerciseController < ApplicationController
end end
def student_exercise_list def student_exercise_list
=begin
if @exercise.end_time <= Time.now
@course.student.each do |student|
if ExerciseUser.where("user_id = ? && exercise_id = ?",student.student_id,@exercise.id).empty?
ExerciseUser.create(:user_id => student.student_id, :exercise_id => @exercise.id, :start_at => @exercise.end_time, :status => true,:score=>0)
end
s_score = calculate_student_score(@exercise, student.student)
exercise_user = ExerciseUser.where("user_id =? and exercise_id=?", student.student_id, @exercise.id).first
exercise_user.update_attributes(:score => s_score)
end
end
=end
@is_teacher = User.current.allowed_to?(:as_teacher,@course) || User.current.admin? @is_teacher = User.current.allowed_to?(:as_teacher,@course) || User.current.admin?
@exercise = Exercise.find params[:id]
@all_exercises = @course.exercises.where("exercise_status > 1").order("created_at desc") @all_exercises = @course.exercises.where("exercise_status > 1").order("created_at desc")
@exercise_count = @exercise.exercise_users.where('score is not NULL').count @exercise_count = @exercise.exercise_users.where('score is not NULL').count
if @is_teacher || (!@exercise.exercise_users.where(:user_id => User.current.id).empty? && @exercise.end_time <= Time.now) if @is_teacher || (!@exercise.exercise_users.where(:user_id => User.current.id).empty? && @exercise.end_time <= Time.now)
@ -543,11 +557,11 @@ class ExerciseController < ApplicationController
def show_student_result def show_student_result
@user = User.find params[:user_id] @user = User.find params[:user_id]
@can_edit_excercise = false @can_edit_excercise = false
@exercise_user = ExerciseUser.where("user_id =? and exercise_id=?", @user.id, @exercise.id).first
@exercise_questions = @exercise.exercise_questions @exercise_questions = @exercise.exercise_questions
score = calculate_student_score(@exercise, @user) score = calculate_student_score(@exercise, @user)
eu = get_exercise_user(@exercise.id, @user.id) eu = get_exercise_user(@exercise.id, @user.id)
eu.update_attributes(:score => score) eu.update_attributes(:score => score)
@exercise_user = ExerciseUser.where("user_id =? and exercise_id=?", @user.id, @exercise.id).first
respond_to do |format| respond_to do |format|
format.html {render :layout => 'base_courses'} format.html {render :layout => 'base_courses'}
end end
@ -565,15 +579,15 @@ class ExerciseController < ApplicationController
standard_answer = get_user_standard_answer(question, user) standard_answer = get_user_standard_answer(question, user)
unless answer.empty? unless answer.empty?
# 问答题有多个答案 # 问答题有多个答案
if question.question_type == 3 if question.question_type == 3 && !standard_answer.empty?
if standard_answer.include?(answer.first.answer_text) if standard_answer.include?(answer.first.answer_text)
score1 = score1+ question.question_score unless question.question_score.nil? score1 = score1+ question.question_score unless question.question_score.nil?
end end
elsif question.question_type == 1 elsif question.question_type == 1 && !standard_answer.nil?
if answer.first.exercise_choice.choice_position == standard_answer.exercise_choice_id if answer.first.exercise_choice.choice_position == standard_answer.exercise_choice_id
score2 = score2 + question.question_score unless question.question_score.nil? score2 = score2 + question.question_score unless question.question_score.nil?
end end
else elsif question.question_type == 2 && !standard_answer.nil?
arr = get_mulscore(question, user) arr = get_mulscore(question, user)
if arr.to_i == standard_answer.exercise_choice_id if arr.to_i == standard_answer.exercise_choice_id
score3 = score3 + question.question_score unless question.question_score.nil? score3 = score3 + question.question_score unless question.question_score.nil?

@ -267,7 +267,7 @@ class JournalsForMessage < ActiveRecord::Base
# 课程成员得分(英雄榜) # 课程成员得分(英雄榜)
def act_as_student_score def act_as_student_score
unless self.user.allowed_to?(:as_teacher, self.jour) if !self.user.allowed_to?(:as_teacher, self.jour) && self.jour_type == "Course"
course_member_score(self.jour_id, self.user_id, "JournalForMessage") course_member_score(self.jour_id, self.user_id, "JournalForMessage")
end end
end end

@ -12,11 +12,7 @@
div.recall_con .reply_btn{margin-left:525px;margin-top:5px;} div.recall_con .reply_btn{margin-left:525px;margin-top:5px;}
/*.ke-container{height: 80px !important;}*/ /*.ke-container{height: 80px !important;}*/
</style> </style>
<%= content_for(:header_tags) do %> <%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg',"init_KindEditor" %>
<%= import_ke(enable_at: false, prettify: false, init_activity: true) %>
<% end %>
<script > <script >
init_KindEditor_data('',80); init_KindEditor_data('',80);
</script> </script>

@ -32,7 +32,7 @@
<div> <div>
<div class="testEditTitle"> 第<%= list_index+1%>题:<%= exercise_question.question_title %>&nbsp;&nbsp;(<%= exercise_question.question_score %>分) <div class="testEditTitle"> 第<%= list_index+1%>题:<%= exercise_question.question_title %>&nbsp;&nbsp;(<%= exercise_question.question_score %>分)
<br /> <br />
标准答案:<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %> 标准答案:<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) if exercise_question.exercise_standard_answers.first %>
</div> </div>
<div class="cl"></div> <div class="cl"></div>
<div class="ur_inputs"> <div class="ur_inputs">
@ -64,7 +64,7 @@
<div> <div>
<div class="testEditTitle"> 第<%= list_index+1%>题:<%= exercise_question.question_title %>&nbsp;&nbsp;(<%= exercise_question.question_score %>分) <div class="testEditTitle"> 第<%= list_index+1%>题:<%= exercise_question.question_title %>&nbsp;&nbsp;(<%= exercise_question.question_score %>分)
<br /> <br />
标准答案:<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %> 标准答案:<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) if exercise_question.exercise_standard_answers.first%>
</div> </div>
<div class="cl"></div> <div class="cl"></div>
<div class="ur_inputs"> <div class="ur_inputs">

@ -35,7 +35,9 @@
}); });
$(function(){ $(function(){
<% if Time.parse(h(@exercise.end_time)).strftime("%Y-%m-%d-%H-%M-%S") <= Time.now.strftime("%Y-%m-%d-%H-%M-%S") %> <% if Time.parse(h(@exercise.end_time)).strftime("%Y-%m-%d-%H-%M-%S") <= Time.now.strftime("%Y-%m-%d-%H-%M-%S") %>
$("#show_student_result_div_<%= exercise.id%>").on('click',show_result); $("#show_student_result_div_<%= exercise.id%>").on('click',function() {
window.location.href = '<%=show_student_result_exercise_path(@exercise,:user_id => exercise.user_id) %>';
});
<% else %> <% else %>
$("#show_student_result_div_<%= exercise.id%>").attr("title","截止日期未到,暂不能查看学生答题结果"); $("#show_student_result_div_<%= exercise.id%>").attr("title","截止日期未到,暂不能查看学生答题结果");
$("#student_name_<%= exercise.id%>").attr("title","截止日期未到,暂不能查看学生答题结果"); $("#student_name_<%= exercise.id%>").attr("title","截止日期未到,暂不能查看学生答题结果");
@ -43,9 +45,9 @@
$("#student_class_<%= exercise.id%>").attr("title","截止日期未到,暂不能查看学生答题结果"); $("#student_class_<%= exercise.id%>").attr("title","截止日期未到,暂不能查看学生答题结果");
<% end %> <% end %>
}); });
function show_result() { /*function show_result(id) {
window.location.href = '<%=show_student_result_exercise_path(@exercise,:user_id => exercise.user.id) %>'; window.location.href = '<%#=show_student_result_exercise_path(@exercise,:user_id => exercise.user.id) %>';
} }*/
</script> </script>
<ul class="hworkListRow" id="student_work_<%= exercise.id%>"> <ul class="hworkListRow" id="student_work_<%= exercise.id%>">
<li class="hworkList340 width530"> <li class="hworkList340 width530">

@ -1,8 +1,4 @@
<%= content_for(:header_tags) do %> <%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg',"init_activity_KindEditor",'blog' %>
<%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
<%= javascript_include_tag 'blog' %>
<% end %>
<script> <script>
$(function() { $(function() {
init_activity_KindEditor_data(<%= @document.id%>,null,"85%"); init_activity_KindEditor_data(<%= @document.id%>,null,"85%");

@ -0,0 +1,13 @@
class DeleteValidateCourseContributor < ActiveRecord::Migration
def up
course_contributors = CourseContributorScore.where("course_id>? and created_at<? ", 450, "2015-12-15 19:51:48")
course_contributors.delete_all
c170 = CourseContributorScore.where("course_id =?", 170)
c170.delete_all
c436 = CourseContributorScore.where("course_id =?", 436)
c436.delete_all
end
def down
end
end

@ -0,0 +1,9 @@
class DeleteExerciseUser < ActiveRecord::Migration
def up
eus=ExerciseUser.where("score is null and status=?",0)
eus.delete_all
end
def down
end
end

@ -11,7 +11,7 @@
# #
# It's strongly recommended to check this file into your version control system. # It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20151209085942) do ActiveRecord::Schema.define(:version => 20151215070238) do
create_table "activities", :force => true do |t| create_table "activities", :force => true do |t|
t.integer "act_id", :null => false t.integer "act_id", :null => false

Loading…
Cancel
Save