| 
									
										
										
										
											2011-05-18 02:00:00 +00:00
										 |  |  | class PagePart | 
					
						
							|  |  |  |     | 
					
						
							|  |  |  |   include Mongoid::Document | 
					
						
							|  |  |  |   include Mongoid::Timestamps | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   field :name | 
					
						
							|  |  |  |   field :content | 
					
						
							| 
									
										
										
										
											2011-05-25 08:27:17 +00:00
										 |  |  |   field :kind | 
					
						
							| 
									
										
										
										
											2012-02-16 04:16:27 +00:00
										 |  |  |   field :public_r_tag | 
					
						
							| 
									
										
										
										
											2012-04-23 18:30:40 +00:00
										 |  |  |   field :public_r_tag_object_id, :default => nil | 
					
						
							| 
									
										
										
										
											2012-05-08 20:15:45 +00:00
										 |  |  |   field :public_r_tag_option, :default => nil | 
					
						
							| 
									
										
										
										
											2012-02-16 04:16:27 +00:00
										 |  |  |   field :widget_path | 
					
						
							| 
									
										
										
										
											2012-08-09 07:25:30 +00:00
										 |  |  |    | 
					
						
							| 
									
										
										
										
											2012-07-16 08:13:38 +00:00
										 |  |  |   field :widget_style | 
					
						
							| 
									
										
										
										
											2012-07-26 08:39:29 +00:00
										 |  |  |   field :widget_field , :type => Array | 
					
						
							| 
									
										
										
										
											2012-07-16 08:13:38 +00:00
										 |  |  |   field :widget_data_count | 
					
						
							| 
									
										
										
										
											2012-02-16 04:16:27 +00:00
										 |  |  |    | 
					
						
							| 
									
										
										
										
											2012-05-13 14:35:00 +00:00
										 |  |  |   has_one :i18n_variable, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | 
					
						
							|  |  |  |   has_one :title, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | 
					
						
							| 
									
										
										
										
											2011-05-18 02:00:00 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   belongs_to :page | 
					
						
							| 
									
										
										
										
											2012-02-16 04:16:27 +00:00
										 |  |  |   belongs_to :module_app | 
					
						
							| 
									
										
										
										
											2011-05-18 02:00:00 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-09 07:25:30 +00:00
										 |  |  |   before_save :set_key, :delete_empty_widget_field | 
					
						
							| 
									
										
										
										
											2012-05-13 14:35:00 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def i18n_variable | 
					
						
							|  |  |  |     @i18n_variable ||= I18nVariable.first(:conditions => {:key => 'i18n_variable', :language_value_id => self.id, :language_value_type => self.class}) rescue nil | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def title | 
					
						
							|  |  |  |     @title ||= I18nVariable.first(:conditions => {:key => 'title', :language_value_id => self.id, :language_value_type => self.class}) rescue nil | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   protected | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |   def set_key | 
					
						
							|  |  |  |     title.key = 'title' if title && (title.key.blank? rescue true) | 
					
						
							|  |  |  |     i18n_variable.key = 'i18n_variable' if i18n_variable && (i18n_variable.key.blank? rescue true) | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2012-08-09 07:25:30 +00:00
										 |  |  |    | 
					
						
							|  |  |  |   def delete_empty_widget_field | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	if self.widget_field | 
					
						
							|  |  |  |       self.widget_field.reject! { |wf| (wf[0].blank? || wf[1].blank?) } | 
					
						
							|  |  |  | 	end | 
					
						
							|  |  |  |     # self.widget_field.delete("") if self.widget_field | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2012-05-13 14:35:00 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-05-18 02:00:00 +00:00
										 |  |  | end |