socialforge/app/models/course.rb

51 lines
1.5 KiB
Ruby
Raw Normal View History

2013-09-06 16:40:07 +08:00
class Course < ActiveRecord::Base
include Redmine::SafeAttributes
attr_accessible :code, :extra, :name, :state, :tea_id, :time , :location, :state, :term, :password
2014-05-21 15:30:54 +08:00
belongs_to :project, :class_name => 'Project', :foreign_key => :extra, primary_key: :identifier
2013-09-14 17:25:57 +08:00
belongs_to :teacher, :class_name => 'User', :foreign_key => :tea_id # 定义一个方法teacher该方法通过tea_id来调用User表
belongs_to :school, :class_name => 'School', :foreign_key => :school_id #定义一个方法school该方法通过school_id来调用School表
2013-09-06 16:40:07 +08:00
has_many :bid
validates_presence_of :password, :term
2014-05-09 17:13:23 +08:00
validates_format_of :class_period, :message => "class period can only digital!", :with =>/^[1-9]\d*$/
2013-09-06 16:40:07 +08:00
safe_attributes 'extra',
'time',
'name',
'extra',
2013-09-12 10:41:15 +08:00
'code',
2013-09-12 17:25:40 +08:00
'location',
'tea_id',
'password',
2013-09-29 19:46:59 +08:00
'term',
'password'
2014-05-09 17:13:23 +08:00
#自定义验证
def validate
if !class_period.match([0-9])
errors.add_to_base("class period can only digital")
end
end
def get_endup_time
begin
end_time = Time.parse(self.endup_time)
rescue Exception => e
end_time = Time.parse("3000-01-01")
Rails.logger.error "[Error] course endup_time error. ===> #{e}"
ensure
return end_time
end
end
2013-09-06 16:40:07 +08:00
def get_time
begin
time = Date.new(self.time).to_time
rescue Exception => e
time = Time.parse("3000-01-01")
Rails.logger.error "[Error] course time error. ===> #{e}"
ensure
return time
end
end
2013-09-06 16:40:07 +08:00
end