|
|
|
@ -450,6 +450,93 @@ class CoursesController < ApplicationController
|
|
|
|
|
#copy avatar
|
|
|
|
|
copy_avatar(@course, copy_course)
|
|
|
|
|
|
|
|
|
|
if params[:course_content_type]
|
|
|
|
|
params[:course_content_type].each do |type|
|
|
|
|
|
case type
|
|
|
|
|
when "0"
|
|
|
|
|
homeworks = copy_course.homework_commons
|
|
|
|
|
homeworks.each do |homework|
|
|
|
|
|
new_homework = HomeworkCommon.new
|
|
|
|
|
new_homework.name = homework.name
|
|
|
|
|
new_homework.user_id = User.current.id
|
|
|
|
|
new_homework.description = homework.description
|
|
|
|
|
new_homework.publish_time = Date.today + 30
|
|
|
|
|
new_homework.end_time = Date.today + 60
|
|
|
|
|
new_homework.homework_type = homework.homework_type
|
|
|
|
|
new_homework.late_penalty = homework.late_penalty
|
|
|
|
|
new_homework.course_id = @course.id
|
|
|
|
|
new_homework.teacher_priority = homework.teacher_priority
|
|
|
|
|
new_homework.anonymous_comment = homework.anonymous_comment
|
|
|
|
|
new_homework.quotes = 0
|
|
|
|
|
new_homework.is_open = homework.is_open
|
|
|
|
|
homework.attachments.each do |attachment|
|
|
|
|
|
att = attachment.copy
|
|
|
|
|
att.container_id = nil
|
|
|
|
|
att.container_type = nil
|
|
|
|
|
att.copy_from = attachment.id
|
|
|
|
|
att.save
|
|
|
|
|
new_homework.attachments << att
|
|
|
|
|
end
|
|
|
|
|
homework_detail_manual = homework.homework_detail_manual
|
|
|
|
|
homework_detail_programing = homework.homework_detail_programing
|
|
|
|
|
homework_detail_group = homework.homework_detail_group
|
|
|
|
|
if homework_detail_manual
|
|
|
|
|
new_homework.homework_detail_manual = HomeworkDetailManual.new
|
|
|
|
|
new_homework_detail_manual = new_homework.homework_detail_manual
|
|
|
|
|
new_homework_detail_manual.ta_proportion = homework_detail_manual.ta_proportion
|
|
|
|
|
new_homework_detail_manual.comment_status = 0
|
|
|
|
|
new_homework_detail_manual.evaluation_start = Date.today + 67
|
|
|
|
|
new_homework_detail_manual.evaluation_end = Date.today + 74
|
|
|
|
|
new_homework_detail_manual.evaluation_num = homework_detail_manual.evaluation_num
|
|
|
|
|
new_homework_detail_manual.absence_penalty = homework_detail_manual.absence_penalty
|
|
|
|
|
end
|
|
|
|
|
if homework_detail_programing
|
|
|
|
|
new_homework.homework_detail_programing = HomeworkDetailPrograming.new
|
|
|
|
|
new_homework.homework_detail_programing.ta_proportion = homework_detail_programing.ta_proportion
|
|
|
|
|
new_homework.homework_detail_programing.language = homework_detail_programing.language
|
|
|
|
|
homework.homework_tests.each_with_index do |homework_test|
|
|
|
|
|
new_homework.homework_tests << HomeworkTest.new(
|
|
|
|
|
input: homework_test.input,
|
|
|
|
|
output: homework_test.output
|
|
|
|
|
)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if homework_detail_group
|
|
|
|
|
new_homework.homework_detail_group = HomeworkDetailGroup.new
|
|
|
|
|
new_homework.homework_detail_group.min_num = homework_detail_group.min_num
|
|
|
|
|
new_homework.homework_detail_group.max_num = homework_detail_group.max_num
|
|
|
|
|
new_homework.homework_detail_group.base_on_project = homework_detail_group.base_on_project
|
|
|
|
|
end
|
|
|
|
|
if new_homework.save
|
|
|
|
|
new_homework_detail_manual.save if new_homework_detail_manual
|
|
|
|
|
new_homework.homework_detail_programing.save if new_homework.homework_detail_programing
|
|
|
|
|
new_homework.homework_detail_group.save if new_homework.homework_detail_group
|
|
|
|
|
end
|
|
|
|
|
homework.update_attribute(:quotes, homework.quotes+1)
|
|
|
|
|
end
|
|
|
|
|
when "1"
|
|
|
|
|
attachments = copy_course.attachments
|
|
|
|
|
attachments.each do |attachment|
|
|
|
|
|
attach_copied_obj = attachment.copy
|
|
|
|
|
attach_copied_obj.tag_list.add(attachment.tag_list) # tag关联
|
|
|
|
|
attach_copied_obj.container = @course
|
|
|
|
|
attach_copied_obj.created_on = Time.now
|
|
|
|
|
attach_copied_obj.author_id = User.current.id
|
|
|
|
|
attach_copied_obj.copy_from = attachment.copy_from.nil? ? attachment.id : attachment.copy_from
|
|
|
|
|
attach_copied_obj.is_publish = 0
|
|
|
|
|
attach_copied_obj.publish_time = Date.today + 30
|
|
|
|
|
if attach_copied_obj.attachtype == nil
|
|
|
|
|
attach_copied_obj.attachtype = 4
|
|
|
|
|
end
|
|
|
|
|
attach_copied_obj.save
|
|
|
|
|
update_quotes attach_copied_obj
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
=begin
|
|
|
|
|
if params[:checkAll]
|
|
|
|
|
attachments = copy_course.attachments
|
|
|
|
|
attachments.each do |attachment|
|
|
|
|
@ -513,6 +600,7 @@ class CoursesController < ApplicationController
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
=end
|
|
|
|
|
end
|
|
|
|
|
if @course
|
|
|
|
|
respond_to do |format|
|
|
|
|
|