|
|
|
@ -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)
|
|
|
|
|
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
|
|
|
|
|
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)
|
|
|
|
|
@exercise_user.update_attributes(:score => score)
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html {render :layout => 'base_courses'}
|
|
|
|
|
end
|
|
|
|
|
#end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|