| 
									
										
										
										
											2011-11-19 06:33:26 +00:00
										 |  |  | class ModuleApp | 
					
						
							| 
									
										
										
										
											2011-11-16 07:21:31 +00:00
										 |  |  |   include Mongoid::Document | 
					
						
							|  |  |  |   include Mongoid::Timestamps | 
					
						
							| 
									
										
										
										
											2012-12-03 10:52:36 +00:00
										 |  |  |   include OrbitCoreLib::ObjectTokenUtility | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |   include OrbitApp::ModuleAppMembershipTools | 
					
						
							| 
									
										
										
										
											2011-11-16 07:21:31 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-01-30 10:12:18 +00:00
										 |  |  |   field :key | 
					
						
							| 
									
										
										
										
											2012-06-25 08:23:16 +00:00
										 |  |  |   field :title | 
					
						
							| 
									
										
										
										
											2013-02-18 07:13:31 +00:00
										 |  |  |   field :sidebar_order,type: Integer,default: 0
 | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |   def refetch_setting!(reg) | 
					
						
							|  |  |  |     # %w{module_label category base_url version organization author intro update_info create_date}.each  do |field| | 
					
						
							|  |  |  |     #   self[field.to_sym] =  reg.send field  | 
					
						
							|  |  |  |     # end     | 
					
						
							|  |  |  |     self[:app_pages] = reg.get_app_pages | 
					
						
							|  |  |  |     self[:enable_frontend] = reg.get_enable_frontend | 
					
						
							|  |  |  |     self[:get_widget_style] = reg.get_widgets | 
					
						
							|  |  |  |     self[:using_default_widget] = !reg.get_default_widget.blank? | 
					
						
							|  |  |  |     self[:widgets] = reg.get_widgets | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |      | 
					
						
							|  |  |  |   # def app_pages | 
					
						
							|  |  |  |   #   get_registration.get_app_pages | 
					
						
							|  |  |  |   # end | 
					
						
							| 
									
										
										
										
											2012-12-03 10:52:36 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def enable_frontend? | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |     self[:enable_frontend] | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |   def get_default_widget | 
					
						
							| 
									
										
										
										
											2013-02-18 07:13:31 +00:00
										 |  |  |     get_registration.get_default_widget | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-03 10:52:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |   def get_widget_for_select | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |     widgets = get_widget_style | 
					
						
							| 
									
										
										
										
											2012-12-03 10:52:36 +00:00
										 |  |  |     ary = widgets.collect do |k,v|  | 
					
						
							|  |  |  |       if k == 'default_widget' | 
					
						
							|  |  |  |         [I18n.t('widget.default_widget'),'default_widget']  | 
					
						
							|  |  |  |       else | 
					
						
							|  |  |  |         [I18n.t(v[:label]),k]    | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |     end | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |   # def get_widget_style | 
					
						
							|  |  |  |   #   get_registration.get_widgets | 
					
						
							|  |  |  |   # end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def has_default_widget? | 
					
						
							|  |  |  |     self[:widgets].has_key? 'default_widget'   | 
					
						
							| 
									
										
										
										
											2012-02-15 10:20:44 +00:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def label | 
					
						
							|  |  |  |     I18n.t(label_i18n) | 
					
						
							| 
									
										
										
										
											2012-02-15 10:20:44 +00:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def label_i18n | 
					
						
							|  |  |  |     reg = get_registration | 
					
						
							|  |  |  |     reg.nil? ?  'Init is not defined completely' : get_registration.get_label_i18n | 
					
						
							| 
									
										
										
										
											2012-01-17 08:20:03 +00:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # def needs_to_widget_option? | 
					
						
							|  |  |  |   #   if self.widget_options | 
					
						
							|  |  |  |   #     self.widget_options.has_key? widgets.first | 
					
						
							|  |  |  |   #   else | 
					
						
							|  |  |  |   #     false   | 
					
						
							|  |  |  |   #   end | 
					
						
							|  |  |  |   # end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def using_default_widget? | 
					
						
							|  |  |  |     # !get_registration.get_default_widget.blank? | 
					
						
							|  |  |  |     self[:get_default_widget] | 
					
						
							| 
									
										
										
										
											2012-01-17 08:20:03 +00:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def widget_fields | 
					
						
							|  |  |  |     # binding.pry | 
					
						
							|  |  |  |     # raise 'Need to link with OrbitApp [type: Array]' | 
					
						
							|  |  |  |     get_registration.get_default_widget_fields | 
					
						
							| 
									
										
										
										
											2012-01-13 10:20:04 +00:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   # def widgets | 
					
						
							|  |  |  |   #   # get_registration.get_widgets | 
					
						
							|  |  |  |   #   # get_registration.get_default_widget | 
					
						
							|  |  |  |   # end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def widget_options(widget_path=nil) | 
					
						
							|  |  |  |     get_registration.get_widget_by_path(widget_path) | 
					
						
							|  |  |  |     # raise 'Need to link with OrbitApp [type: Hash]' | 
					
						
							| 
									
										
										
										
											2012-01-13 10:20:04 +00:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def widget_options_fields_i18n | 
					
						
							|  |  |  |     raise 'Need to link with OrbitApp [type: Hash]' | 
					
						
							| 
									
										
										
										
											2012-01-13 10:20:04 +00:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def widget_fields_link_method | 
					
						
							| 
									
										
										
										
											2013-02-18 09:03:18 +00:00
										 |  |  |     get_registration.get_link_methods | 
					
						
							|  |  |  |     # raise 'Need to link with OrbitApp [type: Hash]' | 
					
						
							| 
									
										
										
										
											2012-01-13 10:20:04 +00:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   has_many :managers,as: :managing_app ,:class_name => "AppManager" ,:dependent => :destroy#,:foreign_key => "managing_app_id",:inverse_of => :managing_app | 
					
						
							|  |  |  |   has_many :sub_managers,as: :sub_managing_app ,:class_name => "AppManager", :dependent => :destroy#,:foreign_key => "sub_managing_app_id",:inverse_of => :sub_managing_app | 
					
						
							| 
									
										
										
										
											2011-11-16 07:21:31 +00:00
										 |  |  |    | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |   # # has_many :tags | 
					
						
							|  |  |  |   has_many :page_parts | 
					
						
							|  |  |  |   has_many :pages | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |   has_one :app_auth,dependent: :delete | 
					
						
							| 
									
										
										
										
											2013-01-08 06:17:21 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |   def get_tags | 
					
						
							|  |  |  |     get_registration.get_tags | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |   def get_categories | 
					
						
							|  |  |  |     get_registration.get_categories | 
					
						
							| 
									
										
										
										
											2012-12-28 07:30:46 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |   def module_name | 
					
						
							|  |  |  |     I18n.t(get_registration.get_label_i18n) | 
					
						
							| 
									
										
										
										
											2013-01-14 10:49:23 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |   def get_registration | 
					
						
							|  |  |  |     OrbitApp::Module::Registration.find_by_key(key) | 
					
						
							| 
									
										
										
										
											2012-01-30 10:12:18 +00:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2011-12-23 10:34:21 +00:00
										 |  |  |    | 
					
						
							| 
									
										
										
										
											2011-11-16 07:21:31 +00:00
										 |  |  | end |