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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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