forked from spen/seminar
26 lines
1.1 KiB
Ruby
26 lines
1.1 KiB
Ruby
|
class CustomAnnouncementSetting
|
||
|
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 :custom_anns_status_settings, :autosave => true, :dependent => :destroy
|
||
|
accepts_nested_attributes_for :custom_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 = CustomBulletin.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
|