2014-04-01 07:10:21 +00:00
|
|
|
class ModuleApp
|
|
|
|
include Mongoid::Document
|
2014-04-07 09:26:43 +00:00
|
|
|
include Mongoid::Timestamps
|
|
|
|
|
2014-04-01 07:10:21 +00:00
|
|
|
field :title, type: String
|
|
|
|
field :key, type: String
|
2014-04-21 02:48:36 +00:00
|
|
|
field :taggable, type: Boolean, default: false
|
|
|
|
field :categorizable, type: Boolean, default: false
|
2014-04-07 09:26:43 +00:00
|
|
|
field :sidebar_order,type: Integer,default: 0
|
2014-04-10 09:55:24 +00:00
|
|
|
|
|
|
|
has_many :categories, dependent: :destroy, :autosave => true
|
2014-04-21 02:48:36 +00:00
|
|
|
has_and_belongs_to_many :tags, dependent: :destroy, :autosave => true
|
|
|
|
|
|
|
|
def refetch_setting!(reg)
|
|
|
|
self[:taggable] = reg.is_taggable
|
|
|
|
self[:categorizable] = reg.is_categorizable
|
|
|
|
end
|
2014-04-02 12:08:27 +00:00
|
|
|
|
|
|
|
def get_registration
|
|
|
|
OrbitApp::Module::Registration.find_by_key(key)
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.find_by_key(key)
|
|
|
|
self.find_by(:key => key)
|
|
|
|
end
|
2014-04-07 09:26:43 +00:00
|
|
|
|
|
|
|
def module_name
|
|
|
|
I18n.t(get_registration.get_label_i18n)
|
|
|
|
end
|
|
|
|
|
|
|
|
def label
|
|
|
|
I18n.t(label_i18n)
|
|
|
|
end
|
|
|
|
|
|
|
|
def label_i18n
|
|
|
|
reg = get_registration
|
|
|
|
reg.nil? ? 'Init is not defined completely' : get_registration.get_label_i18n
|
|
|
|
end
|
2014-04-21 02:48:36 +00:00
|
|
|
|
|
|
|
def taggable
|
|
|
|
get_registration.is_taggable
|
|
|
|
end
|
|
|
|
|
|
|
|
def taggable_model
|
|
|
|
get_registration.taggable_model
|
|
|
|
end
|
|
|
|
|
|
|
|
def categorizable
|
|
|
|
get_registration.is_categorizable
|
|
|
|
end
|
2014-04-01 07:10:21 +00:00
|
|
|
end
|