#encoding: utf-8 class GraduationTask < ActiveRecord::Base include Redmine::SafeAttributes belongs_to :user belongs_to :course # attr_accessible :allow_late, :base_on_project, :comment_num, :comment_status, :comment_time, :cross_comment, :description, :end_time, :late_penalty, :max_num, :min_num, :name, :open_score, :open_work, :publish_time, :status, :task_type safe_attributes :name, :description, :task_type acts_as_attachable # task_type 1: 普通作业 2:分组作业 # status 0:未发布 1:已发布 2:已截止 3:评阅中 4:评阅已截止 # comment_status 1:随机分配 2:指导老师手动分配 3:答辩组内老师互评 4:答辩组间老师互评 has_many :journals_for_messages, :as => :jour, dependent: :destroy has_many :praise_tread, as: :praise_tread_object, dependent: :destroy has_one :praise_tread_cache, as: :object, dependent: :destroy has_many :course_acts, :class_name => 'CourseActivity',:as =>:course_act ,:dependent => :destroy has_many :tidings, as: :container, dependent: :destroy has_many :graduation_task_group_assignations, dependent: :destroy has_many :graduation_works, dependent: :destroy, :conditions => "graduation_works.is_delete = 0" has_many :graduation_work_scores, dependent: :destroy has_many :graduation_work_comment_assignations, dependent: :destroy # after_create :act_as_course_activity def task_type_name task_type == 1 ? "普通作业" : "分组作业" end def create_task_tidings tid_str = "" self.course.members.find_each do |member| tid_str += "," if tid_str != "" tid_str += "(#{member.user_id}, #{self.user_id}, #{self.id}, 'GraduationTask', #{self.id}, 'TaskPublish', #{self.course_id}, 'Course', 0, 'GraduationTask', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')" end if tid_str != "" tid_sql = "insert into tidings (user_id, trigger_user_id, container_id, container_type, parent_container_id, parent_container_type, belong_container_id, belong_container_type, viewed, tiding_type, created_at, updated_at) values" + tid_str ActiveRecord::Base.connection.execute tid_sql end end #课程动态公共表记录 def act_as_course_activity if self.course if self.course_acts.size == 0 self.course_acts << CourseActivity.new(:user_id => self.user_id,:course_id => self.course_id) end end end end