has_many:members,:include=>[:principal,:roles],:conditions=>"#{Principal.table_name}.type='User' AND #{Principal.table_name}.status=#{Principal::STATUS_ACTIVE}"
has_many:memberships,:class_name=>'Member'
has_many:member_principals,:class_name=>'Member',
:include=>:principal,
:conditions=>"#{Principal.table_name}.type='Group' OR (#{Principal.table_name}.type='User' AND #{Principal.table_name}.status=#{Principal::STATUS_ACTIVE})"
has_many:users,:through=>:members
validates_presence_of:password,:term
validates_format_of:class_period,:message=>"class period can only digital!",:with=>/^[1-9]\d*$/
safe_attributes'extra',
@ -21,7 +29,8 @@ class Course < ActiveRecord::Base
'tea_id',
'password',
'term',
'password'
'password',
'description'
acts_as_customizable
@ -49,8 +58,11 @@ class Course < ActiveRecord::Base