You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pgfqe6ch8/app/models/graduation_task.rb

51 lines
2.4 KiB

6 years ago
#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