|
|
@ -296,12 +296,16 @@ class UsersController < ApplicationController
|
|
|
|
|
|
|
|
|
|
|
|
#用户作业列表
|
|
|
|
#用户作业列表
|
|
|
|
def user_homeworks
|
|
|
|
def user_homeworks
|
|
|
|
@page = params[:page] ? params[:page].to_i + 1 : 0
|
|
|
|
if User.current == @user
|
|
|
|
user_course_ids = "(" + @user.courses.visible.map{|course| course.id}.join(",") + ")"
|
|
|
|
@page = params[:page] ? params[:page].to_i + 1 : 0
|
|
|
|
@homework_commons = HomeworkCommon.where("course_id in #{user_course_ids}").order("created_at desc").limit(10).offset(@page * 10)
|
|
|
|
user_course_ids = "(" + @user.courses.visible.map{|course| course.id}.join(",") + ")"
|
|
|
|
respond_to do |format|
|
|
|
|
@homework_commons = HomeworkCommon.where("course_id in #{user_course_ids}").order("created_at desc").limit(10).offset(@page * 10)
|
|
|
|
format.js
|
|
|
|
respond_to do |format|
|
|
|
|
format.html {render :layout => 'new_base_user'}
|
|
|
|
format.js
|
|
|
|
|
|
|
|
format.html {render :layout => 'new_base_user'}
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
render_403
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
@ -345,16 +349,20 @@ class UsersController < ApplicationController
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def new_user_commit_homework
|
|
|
|
def new_user_commit_homework
|
|
|
|
@user = User.current
|
|
|
|
if User.current.logged?
|
|
|
|
@homework = HomeworkCommon.find(params[:homework_id])
|
|
|
|
@user = User.current
|
|
|
|
@is_test = params[:is_test] == 'true'
|
|
|
|
@homework = HomeworkCommon.find(params[:homework_id])
|
|
|
|
@student_work = @homework.student_works.where(user_id: User.current.id).first
|
|
|
|
@is_test = params[:is_test] == 'true'
|
|
|
|
if @student_work.nil?
|
|
|
|
@student_work = @homework.student_works.where(user_id: User.current.id).first
|
|
|
|
@student_work = StudentWork.new
|
|
|
|
if @student_work.nil?
|
|
|
|
end
|
|
|
|
@student_work = StudentWork.new
|
|
|
|
respond_to do |format|
|
|
|
|
end
|
|
|
|
format.js
|
|
|
|
respond_to do |format|
|
|
|
|
format.html {render :layout => 'new_base_user'}
|
|
|
|
format.js
|
|
|
|
|
|
|
|
format.html {render :layout => 'new_base_user'}
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
render_403
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
@ -364,53 +372,57 @@ class UsersController < ApplicationController
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def user_new_homework
|
|
|
|
def user_new_homework
|
|
|
|
if params[:homework_common]
|
|
|
|
if User.current.logged?
|
|
|
|
homework = HomeworkCommon.new
|
|
|
|
if params[:homework_common]
|
|
|
|
homework.name = params[:homework_common][:name]
|
|
|
|
homework = HomeworkCommon.new
|
|
|
|
homework.description = params[:homework_common][:description]
|
|
|
|
homework.name = params[:homework_common][:name]
|
|
|
|
homework.end_time = params[:homework_common][:end_time] || Time.now
|
|
|
|
homework.description = params[:homework_common][:description]
|
|
|
|
homework.publish_time = Time.now
|
|
|
|
homework.end_time = params[:homework_common][:end_time] || Time.now
|
|
|
|
homework.homework_type = params[:homework_type].to_i || 1
|
|
|
|
homework.publish_time = Time.now
|
|
|
|
homework.late_penalty = 2
|
|
|
|
homework.homework_type = params[:homework_type].to_i || 1
|
|
|
|
homework.user_id = User.current.id
|
|
|
|
homework.late_penalty = 2
|
|
|
|
homework.course_id = params[:course_id]
|
|
|
|
homework.user_id = User.current.id
|
|
|
|
|
|
|
|
homework.course_id = params[:course_id]
|
|
|
|
homework.save_attachments(params[:attachments])
|
|
|
|
|
|
|
|
render_attachment_warning_if_needed(homework)
|
|
|
|
homework.save_attachments(params[:attachments])
|
|
|
|
|
|
|
|
render_attachment_warning_if_needed(homework)
|
|
|
|
#匿评作业相关属性
|
|
|
|
|
|
|
|
if homework.homework_type == 1
|
|
|
|
#匿评作业相关属性
|
|
|
|
homework_detail_manual = HomeworkDetailManual.new
|
|
|
|
if homework.homework_type == 1
|
|
|
|
homework_detail_manual.ta_proportion = params[:ta_proportion] || 0.6
|
|
|
|
homework_detail_manual = HomeworkDetailManual.new
|
|
|
|
homework_detail_manual.comment_status = 1
|
|
|
|
homework_detail_manual.ta_proportion = params[:ta_proportion] || 0.6
|
|
|
|
homework_detail_manual.evaluation_start = Time.now
|
|
|
|
homework_detail_manual.comment_status = 1
|
|
|
|
homework_detail_manual.evaluation_end = Time.now
|
|
|
|
homework_detail_manual.evaluation_start = Time.now
|
|
|
|
homework_detail_manual.evaluation_num = params[:evaluation_num] || 3
|
|
|
|
homework_detail_manual.evaluation_end = Time.now
|
|
|
|
homework_detail_manual.absence_penalty = 2
|
|
|
|
homework_detail_manual.evaluation_num = params[:evaluation_num] || 3
|
|
|
|
homework.homework_detail_manual = homework_detail_manual
|
|
|
|
homework_detail_manual.absence_penalty = 2
|
|
|
|
else
|
|
|
|
homework.homework_detail_manual = homework_detail_manual
|
|
|
|
homework_detail_programing = HomeworkDetailPrograming.new
|
|
|
|
else
|
|
|
|
homework.homework_detail_programing = homework_detail_programing
|
|
|
|
homework_detail_programing = HomeworkDetailPrograming.new
|
|
|
|
homework_detail_programing.ta_proportion = params[:ta_proportion] || 0.6
|
|
|
|
homework.homework_detail_programing = homework_detail_programing
|
|
|
|
homework_detail_programing.language = params[:program][:language].to_i
|
|
|
|
homework_detail_programing.ta_proportion = params[:ta_proportion] || 0.6
|
|
|
|
|
|
|
|
homework_detail_programing.language = params[:program][:language].to_i
|
|
|
|
inputs = params[:program][:input]
|
|
|
|
|
|
|
|
if Array === inputs
|
|
|
|
inputs = params[:program][:input]
|
|
|
|
inputs.each_with_index do |val, i|
|
|
|
|
if Array === inputs
|
|
|
|
homework.homework_tests << HomeworkTest.new(
|
|
|
|
inputs.each_with_index do |val, i|
|
|
|
|
input: val,
|
|
|
|
homework.homework_tests << HomeworkTest.new(
|
|
|
|
output: params[:program][:output][i]
|
|
|
|
input: val,
|
|
|
|
)
|
|
|
|
output: params[:program][:output][i]
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if homework.save
|
|
|
|
if homework.save
|
|
|
|
homework_detail_manual.save if homework_detail_manual
|
|
|
|
homework_detail_manual.save if homework_detail_manual
|
|
|
|
homework_detail_programing.save if homework_detail_programing
|
|
|
|
homework_detail_programing.save if homework_detail_programing
|
|
|
|
redirect_to user_homeworks_user_path(User.current.id)
|
|
|
|
redirect_to user_homeworks_user_path(User.current.id)
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
render_403
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|