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: true})") else @tag_class = nil @default_widget = @page_part.module_app.get_default_widget @widget_image_field = @default_widget["image"] || @default_widget[:image] data_limit = case @page_part when Page @fields = @page_part.frontend_field @page_part.frontend_data_count.is_a?(Fixnum) ? @page_part.frontend_data_count : (@page_part.frontend_data_count.to_i rescue 3) when PagePart @fields = @page_part.widget_field @page_part.widget_data_count.is_a?(Fixnum) ? @page_part.widget_data_count : (@page_part.widget_data_count.to_i rescue 3) end @data = eval(@default_widget["query"]).limit(data_limit).includes(@widget_image_field).desc(:created_at) case params[:type] when "typeA" @tag_class = 'default_widget_typeA' render "typeA" when /typeB_/ @tag_class = "default_widget_#{params[:type]}" render "typeB" when "typeC" @tag_class = 'default_widget_typeC' render "typeC" end end end end