|
|
|
@ -27,7 +27,7 @@ class ExerciseController < ApplicationController
|
|
|
|
|
if @is_teacher || User.current.admin?
|
|
|
|
|
exercises = @course.exercises.order("created_at asc")
|
|
|
|
|
else
|
|
|
|
|
exercises = @course.exercises.where(:exercise_status => 2).order("created_at asc")
|
|
|
|
|
exercises = @course.exercises.where("exercise_status <> 1").order("created_at asc")
|
|
|
|
|
end
|
|
|
|
|
@exercises = paginateHelper exercises,20 #分页
|
|
|
|
|
respond_to do |format|
|
|
|
|
@ -54,41 +54,26 @@ class ExerciseController < ApplicationController
|
|
|
|
|
end
|
|
|
|
|
@exercise = Exercise.find params[:id]
|
|
|
|
|
@is_teacher = User.current.allowed_to?(:as_teacher,@course) || User.current.admin?
|
|
|
|
|
if @exercise.exercise_status != 2 && (!(User.current.allowed_to?(:as_teacher,@course) || User.current.admin?))
|
|
|
|
|
render_403
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
exercise_end = @exercise.end_time > Time.now
|
|
|
|
|
if @exercise.time == -1
|
|
|
|
|
@can_edit_excercise = exercise_end
|
|
|
|
|
else
|
|
|
|
|
@can_edit_excercise = (!has_commit_exercise?(@exercise.id,User.current.id)&& exercise_end) || User.current.admin?
|
|
|
|
|
@can_edit_excercise = !has_commit_exercise?(@exercise.id,User.current.id)&& exercise_end
|
|
|
|
|
end
|
|
|
|
|
@exercise_user = ExerciseUser.where("user_id=? and exercise_id=?", User.current.id, @exercise.id).first
|
|
|
|
|
# 学生点击的时候即创建关联,自动保存
|
|
|
|
|
#eu = ExerciseUser.create(:user_id => User.current, :exercise_id => @exercise.id, :start_at => Time.now, :status => false)
|
|
|
|
|
|
|
|
|
|
# 已提交问卷的用户不能再访问该界面
|
|
|
|
|
=begin
|
|
|
|
|
if has_commit_exercise?(@exercise.id, User.current.id) && (!User.current.admin?)
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html {render :layout => 'base_courses'}
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
=end
|
|
|
|
|
if !@is_teacher && !has_click_exercise?(@exercise.id, User.current.id)
|
|
|
|
|
unless @is_teacher
|
|
|
|
|
@exercise_user = ExerciseUser.where("user_id=? and exercise_id=?", User.current.id, @exercise.id).first
|
|
|
|
|
if @exercise_user.nil?
|
|
|
|
|
eu = ExerciseUser.create(:user_id => User.current.id, :exercise_id => @exercise.id, :start_at => Time.now, :status => false)
|
|
|
|
|
@exercise_user = ExerciseUser.where("user_id=? and exercise_id=?", User.current.id, @exercise.id).first
|
|
|
|
|
end
|
|
|
|
|
# @percent = get_percent(@exercise,User.current)
|
|
|
|
|
exercise_questions = @exercise.exercise_questions
|
|
|
|
|
@exercise_questions = paginateHelper exercise_questions,5 #分页
|
|
|
|
|
score = calculate_student_score(@exercise, User.current)
|
|
|
|
|
eu = get_exercise_user(@exercise.id, User.current.id)
|
|
|
|
|
eu.update_attributes(:score => score)
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html {render :layout => 'base_courses'}
|
|
|
|
|
end
|
|
|
|
|
@exercise_user.update_attributes(:score => score)
|
|
|
|
|
end
|
|
|
|
|
# @percent = get_percent(@exercise,User.current)
|
|
|
|
|
@exercise_questions = @exercise.exercise_questions
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html {render :layout => 'base_courses'}
|
|
|
|
|
end
|
|
|
|
|
#end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
@ -537,12 +522,9 @@ class ExerciseController < ApplicationController
|
|
|
|
|
# @score = 100
|
|
|
|
|
if @uncomplete_question.count < 1
|
|
|
|
|
# 查看是否有已提交记录
|
|
|
|
|
eu = get_exercise_user(@exercise.id, User.current.id)
|
|
|
|
|
eu.user_id = User.current.id
|
|
|
|
|
eu.exercise_id = @exercise.id
|
|
|
|
|
eu.score = @score
|
|
|
|
|
if eu.save
|
|
|
|
|
#redirect_to poll_index_path(:polls_group_id => @course.id,:polls_type => 'Course')
|
|
|
|
|
cur_exercise_user.score = @score
|
|
|
|
|
if cur_exercise_user.save
|
|
|
|
|
#redirect_to poll_index_path(:polls_group_id => @course.id,:polls_type => 'Course')
|
|
|
|
|
@status = 0 #提交成功
|
|
|
|
|
else
|
|
|
|
|
@status = 2 #未知错误
|
|
|
|
@ -550,6 +532,7 @@ class ExerciseController < ApplicationController
|
|
|
|
|
else
|
|
|
|
|
@status = 1 #有未做得必答题
|
|
|
|
|
end
|
|
|
|
|
@save = params[:save].to_i if params[:save]
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.js
|
|
|
|
|
end
|
|
|
|
|