班级作业加入题库,题库中该作业的引用数是零
This commit is contained in:
parent
544dfd356e
commit
e658a5426d
|
@ -315,6 +315,14 @@ class HomeworkCommonController < ApplicationController
|
||||||
#加入到题库
|
#加入到题库
|
||||||
def add_to_homework_bank
|
def add_to_homework_bank
|
||||||
if params[:type] && (params[:type].to_i == 1 || params[:type].to_i == 3)
|
if params[:type] && (params[:type].to_i == 1 || params[:type].to_i == 3)
|
||||||
|
if params[:type].to_i == 3
|
||||||
|
old_banks = HomeworkBank.where(:homework_common_id => @homework.id)
|
||||||
|
unless old_banks.blank?
|
||||||
|
old_banks.each do |bank|
|
||||||
|
bank.update_attributes(:quotes => (bank.quotes - 1) > 0 ? (bank.quotes - 1) : 0)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
homework_bank = add_to_homework_bank_f @homework
|
homework_bank = add_to_homework_bank_f @homework
|
||||||
homework_bank.save
|
homework_bank.save
|
||||||
@homework.update_attributes(:homework_bank_id => homework_bank.id)
|
@homework.update_attributes(:homework_bank_id => homework_bank.id)
|
||||||
|
|
|
@ -1499,6 +1499,7 @@ class UsersController < ApplicationController
|
||||||
if params[:add_to_bank]
|
if params[:add_to_bank]
|
||||||
homework_bank = add_to_homework_bank_f homework
|
homework_bank = add_to_homework_bank_f homework
|
||||||
homework_bank.save
|
homework_bank.save
|
||||||
|
homework.update_attributes(:homework_bank_id => homework_bank.id)
|
||||||
end
|
end
|
||||||
redirect_to homework_common_index_path(:course => homework.course_id)
|
redirect_to homework_common_index_path(:course => homework.course_id)
|
||||||
end
|
end
|
||||||
|
|
|
@ -4119,7 +4119,7 @@ end
|
||||||
|
|
||||||
def add_to_homework_bank_f homework
|
def add_to_homework_bank_f homework
|
||||||
homework_bank = HomeworkBank.new(:name => homework.name, :description => homework.description, :user_id => homework.user_id, :homework_type => homework.homework_type,
|
homework_bank = HomeworkBank.new(:name => homework.name, :description => homework.description, :user_id => homework.user_id, :homework_type => homework.homework_type,
|
||||||
:quotes => 0, :is_public => homework.course.is_public, :applicable_syllabus => homework.course.syllabus.title, :homework_common_id => homework.id)
|
:quotes => 1, :is_public => homework.course.is_public, :applicable_syllabus => homework.course.syllabus.title, :homework_common_id => homework.id)
|
||||||
if homework.homework_type == 2 && homework.homework_detail_programing
|
if homework.homework_type == 2 && homework.homework_detail_programing
|
||||||
homework_bank.language = homework.homework_detail_programing.language
|
homework_bank.language = homework.homework_detail_programing.language
|
||||||
homework.homework_tests.each_with_index do |homework_test|
|
homework.homework_tests.each_with_index do |homework_test|
|
||||||
|
|
|
@ -36,6 +36,17 @@ class HomeworkCommon < ActiveRecord::Base
|
||||||
after_update :update_activity
|
after_update :update_activity
|
||||||
after_save :act_as_course_activity
|
after_save :act_as_course_activity
|
||||||
after_destroy :delete_kindeditor_assets
|
after_destroy :delete_kindeditor_assets
|
||||||
|
before_destroy :update_homework_bank_quotes
|
||||||
|
|
||||||
|
#删除时更新题库中的引用数
|
||||||
|
def update_homework_bank_quotes
|
||||||
|
old_banks = HomeworkBank.where(:homework_common_id => self.id)
|
||||||
|
unless old_banks.blank?
|
||||||
|
old_banks.each do |bank|
|
||||||
|
bank.update_attributes(:quotes => (bank.quotes - 1) > 0 ? (bank.quotes - 1) : 0, :homework_common_id => nil)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
#作业类型
|
#作业类型
|
||||||
def homework_type_ch
|
def homework_type_ch
|
||||||
|
|
|
@ -11,7 +11,7 @@ class HomeworkBankMigration < ActiveRecord::Migration
|
||||||
course.homework_commons.each do |homework|
|
course.homework_commons.each do |homework|
|
||||||
unless homework.user.homework_banks.select("name").to_s.include?(homework.name)
|
unless homework.user.homework_banks.select("name").to_s.include?(homework.name)
|
||||||
homework_bank = HomeworkBank.create(:user_id => homework.user_id, :name => homework.name, :description => homework.description, :homework_type => homework.homework_type,
|
homework_bank = HomeworkBank.create(:user_id => homework.user_id, :name => homework.name, :description => homework.description, :homework_type => homework.homework_type,
|
||||||
:quotes => homework.quotes, :is_public => course.is_public, :applicable_syllabus => course.syllabus.title, :homework_common_id => homework.id, :created_at => homework.created_at)
|
:quotes => 1, :is_public => course.is_public, :applicable_syllabus => course.syllabus.title, :homework_common_id => homework.id, :created_at => homework.created_at)
|
||||||
if homework.homework_type == 2 && homework.homework_detail_programing
|
if homework.homework_type == 2 && homework.homework_detail_programing
|
||||||
homework_bank.update_attributes(:language => homework.homework_detail_programing.language, :standard_code => homework.homework_detail_programing.standard_code)
|
homework_bank.update_attributes(:language => homework.homework_detail_programing.language, :standard_code => homework.homework_detail_programing.standard_code)
|
||||||
homework.homework_tests.each do |test|
|
homework.homework_tests.each do |test|
|
||||||
|
|
Loading…
Reference in New Issue