class AnnouncementSetting include Mongoid::Document include Mongoid::Timestamps field :top_limit, type: Integer, :default => 0 field :pro_enabled, type: Boolean, :default => false field :approvers, type: Array, :default => [] field :email_to, type: Array, :default => ["admins","managers","approvers"] field :is_display_edit_only, type: Boolean, :default => false field :only_manager_can_edit_status, type: Boolean, :default => false field :top_text , type: String , localize: true field :hot_text , type: String , localize: true field :hidden_text , type: String , localize: true has_many :anns_status_settings, :autosave => true, :dependent => :destroy accepts_nested_attributes_for :anns_status_settings, :allow_destroy => true def self.check_limit_for_user(user_id, b_id = nil) limit = self.first.top_limit rescue 0 return true if limit == 0 count = Bulletin.where(:is_top => true, :create_user_id => user_id, :id.ne => b_id).count return count < limit end def self.is_pro? self.first.pro_enabled rescue false end end