|
|
@ -34,17 +34,24 @@ class ExerciseController < ApplicationController
|
|
|
|
render_403
|
|
|
|
render_403
|
|
|
|
return
|
|
|
|
return
|
|
|
|
end
|
|
|
|
end
|
|
|
|
@can_edit_excercise = (!has_commit_exercise?(@exercise.id,User.current.id)) || User.current.admin?
|
|
|
|
exercise_end = Time.parse(format_time(@exercise.end_time)).strftime("%Y-%m-%d %H:%M:%S") > Time.now.strftime("%Y-%m-%d %H:%M:%S")
|
|
|
|
|
|
|
|
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?
|
|
|
|
|
|
|
|
end
|
|
|
|
@exercise_user = ExerciseUser.where("user_id=? and exercise_id=?", User.current.id, @exercise.id).first
|
|
|
|
@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)
|
|
|
|
#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?)
|
|
|
|
if has_commit_exercise?(@exercise.id, User.current.id) && (!User.current.admin?)
|
|
|
|
respond_to do |format|
|
|
|
|
respond_to do |format|
|
|
|
|
format.html {render :layout => 'base_courses'}
|
|
|
|
format.html {render :layout => 'base_courses'}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
else
|
|
|
|
else
|
|
|
|
|
|
|
|
=end
|
|
|
|
if !@is_teacher && !has_click_exercise?(@exercise.id, User.current.id)
|
|
|
|
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)
|
|
|
|
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
|
|
|
|
@exercise_user = ExerciseUser.where("user_id=? and exercise_id=?", User.current.id, @exercise.id).first
|
|
|
@ -55,7 +62,7 @@ class ExerciseController < ApplicationController
|
|
|
|
respond_to do |format|
|
|
|
|
respond_to do |format|
|
|
|
|
format.html {render :layout => 'base_courses'}
|
|
|
|
format.html {render :layout => 'base_courses'}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
#end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def new
|
|
|
|
def new
|
|
|
@ -82,7 +89,7 @@ class ExerciseController < ApplicationController
|
|
|
|
exercise ||= Exercise.new
|
|
|
|
exercise ||= Exercise.new
|
|
|
|
exercise.exercise_name = params[:exercise][:exercise_name]
|
|
|
|
exercise.exercise_name = params[:exercise][:exercise_name]
|
|
|
|
exercise.exercise_description = params[:exercise][:exercise_description]
|
|
|
|
exercise.exercise_description = params[:exercise][:exercise_description]
|
|
|
|
exercise.end_time = params[:exercise][:end_time]
|
|
|
|
exercise.end_time = Time.at(params[:exercise][:end_time].to_time.to_i + 16*60*60 -1)
|
|
|
|
exercise.publish_time = params[:exercise][:publish_time]
|
|
|
|
exercise.publish_time = params[:exercise][:publish_time]
|
|
|
|
exercise.user_id = User.current.id
|
|
|
|
exercise.user_id = User.current.id
|
|
|
|
exercise.time = params[:exercise][:time]
|
|
|
|
exercise.time = params[:exercise][:time]
|
|
|
@ -107,7 +114,7 @@ class ExerciseController < ApplicationController
|
|
|
|
@exercise.exercise_name = params[:exercise][:exercise_name]
|
|
|
|
@exercise.exercise_name = params[:exercise][:exercise_name]
|
|
|
|
@exercise.exercise_description = params[:exercise][:exercise_description]
|
|
|
|
@exercise.exercise_description = params[:exercise][:exercise_description]
|
|
|
|
@exercise.time = params[:exercise][:time].blank? ? -1 : params[:exercise][:time]
|
|
|
|
@exercise.time = params[:exercise][:time].blank? ? -1 : params[:exercise][:time]
|
|
|
|
@exercise.end_time = params[:exercise][:end_time]
|
|
|
|
@exercise.end_time = Time.at(params[:exercise][:end_time].to_time.to_i + 16*60*60 -1)
|
|
|
|
@exercise.publish_time = params[:exercise][:publish_time]
|
|
|
|
@exercise.publish_time = params[:exercise][:publish_time]
|
|
|
|
@exercise.show_result = params[:exercise][:show_result].blank? ? 1 : params[:exercise][:show_result]
|
|
|
|
@exercise.show_result = params[:exercise][:show_result].blank? ? 1 : params[:exercise][:show_result]
|
|
|
|
if @exercise.save
|
|
|
|
if @exercise.save
|
|
|
@ -351,8 +358,8 @@ class ExerciseController < ApplicationController
|
|
|
|
# 学生提交答卷,选中答案的过程中提交
|
|
|
|
# 学生提交答卷,选中答案的过程中提交
|
|
|
|
def commit_answer
|
|
|
|
def commit_answer
|
|
|
|
eq = ExerciseQuestion.find(params[:exercise_question_id])
|
|
|
|
eq = ExerciseQuestion.find(params[:exercise_question_id])
|
|
|
|
# 已提交过的则不允许答题
|
|
|
|
# 已提交过的且是限时的则不允许答题
|
|
|
|
if has_commit_exercise?(@exercise.id,User.current.id) && (!User.current.admin?)
|
|
|
|
if has_commit_exercise?(@exercise.id,User.current.id) && (!User.current.admin?) && @exercise.time != -1
|
|
|
|
render :json => {:text => "failure"}
|
|
|
|
render :json => {:text => "failure"}
|
|
|
|
return
|
|
|
|
return
|
|
|
|
end
|
|
|
|
end
|
|
|
|