51 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| class DefaultWidgetController< OrbitWidgetController
 | |
| 
 | |
|   def front_end_available(var)
 | |
|     @page_part = case params[:item_type]
 | |
|     when "page"
 | |
|       Page.find params[:page_id]
 | |
|     when "page_part"
 | |
|       PagePart.find params[:part_id]  
 | |
|     end
 | |
|     @page_part.module_app.enable_frontend?
 | |
|   end
 | |
| 
 | |
|   def default_widget
 | |
|     if !params[:id].blank?
 | |
|       redirect_to eval("#{@page_part.module_app.widget_fields_link_method['title']['method']}('#{params[:id]}', {inner: #{params[:inner] || true}})")
 | |
|     else
 | |
|       @tag_class = nil
 | |
| 
 | |
|       @default_widget = @page_part.module_app.get_default_widget
 | |
|       @widget_image_field = @default_widget["image"] || @default_widget[:image]
 | |
|       case @page_part
 | |
|       when Page
 | |
|         @fields = @page_part.frontend_field
 | |
|         @data_limit = @page_part.frontend_data_count.is_a?(Fixnum) ? @page_part.frontend_data_count : (@page_part.frontend_data_count.to_i rescue 3)
 | |
|         @paginate = true
 | |
|         @page_id = @page_part.id
 | |
|       when PagePart
 | |
|         @fields = @page_part.widget_field
 | |
|         @data_limit = @page_part.widget_data_count.is_a?(Fixnum) ? @page_part.widget_data_count : (@page_part.widget_data_count.to_i rescue 3)
 | |
|       end
 | |
|       if @paginate
 | |
|         @data = eval(@default_widget["query"]).includes(@widget_image_field).page(params[:page_main]).per(@data_limit).desc(:created_at)
 | |
|       else
 | |
|         @data = eval(@default_widget["query"]).limit(@data_limit).includes(@widget_image_field).desc(:created_at)
 | |
|       end
 | |
|       case params[:type]
 | |
|       when "typeA"
 | |
|         @tag_class = 'default_widget_typeA'
 | |
|         @partial = "typeA"
 | |
|       when /typeB_/
 | |
|         @tag_class = "default_widget_#{params[:type]}"
 | |
|         @partial = "typeB"
 | |
|       when "typeC"
 | |
|         @tag_class = 'default_widget_typeC'
 | |
|         @partial = "typeC"
 | |
|       end
 | |
|     end
 | |
|   end
 | |
|   
 | |
| end
 |