37 lines
1.4 KiB
Ruby
37 lines
1.4 KiB
Ruby
#老师布置的作业表
|
|
#homework_type: 0:普通作业;1:匿评作业;2:编程作业
|
|
class HomeworkCommon < ActiveRecord::Base
|
|
# attr_accessible :name, :user_id, :description, :publish_time, :end_time, :homework_type, :late_penalty, :course_id
|
|
include Redmine::SafeAttributes
|
|
include ApplicationHelper
|
|
|
|
belongs_to :course
|
|
belongs_to :user
|
|
has_one :homework_detail_manual, :dependent => :destroy
|
|
has_one :homework_detail_programing, :dependent => :destroy
|
|
has_many :homework_tests, :dependent => :destroy
|
|
has_many :student_works, :dependent => :destroy
|
|
has_many :student_works_evaluation_distributions, :through => :student_works #一个作业的分配的匿评列表
|
|
has_many :acts, :class_name => 'Activity', :as => :act, :dependent => :destroy #用户活动
|
|
acts_as_attachable
|
|
acts_as_event :title => Proc.new {|o| "#{l(:label_course_homework)} ##{o.id}: #{o.name}" },
|
|
:description => :description,
|
|
:author => :author,
|
|
:url => Proc.new {|o| {:controller => 'student_work', :action => 'index', :homework => o.id}}
|
|
after_create :act_as_activity, :send_mail
|
|
after_destroy :delete_kindeditor_assets
|
|
|
|
def act_as_activity
|
|
self.acts << Activity.new(:user_id => self.user_id)
|
|
end
|
|
#删除对应的图片
|
|
def delete_kindeditor_assets
|
|
delete_kindeditor_assets_from_disk self.id,OwnerTypeHelper::HOMEWORKCOMMON
|
|
end
|
|
|
|
def send_mail
|
|
Mailer.run.homework_added(self)
|
|
end
|
|
|
|
end
|