From 23516277f3ed58515301eb169471d85c8e8224d7 Mon Sep 17 00:00:00 2001 From: "Matt K. Fu" Date: Fri, 23 Aug 2013 11:03:28 +0800 Subject: [PATCH] fix default widget query --- app/controllers/default_widget_controller.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/controllers/default_widget_controller.rb b/app/controllers/default_widget_controller.rb index 63314529b..879ad185e 100644 --- a/app/controllers/default_widget_controller.rb +++ b/app/controllers/default_widget_controller.rb @@ -12,22 +12,22 @@ class DefaultWidgetController< OrbitWidgetController def query_for_default_widget - @ori_class_name = @default_widget["query"].split('.')[0] + @ori_class_name = @default_widget["query"].split('.')[0] + @ori_query = @default_widget["query"] result = nil result_objects = nil - if !params["tag_id"].blank? if params["category_id"].blank? #has tag no cate - result = @ori_class_name.constantize.where(:tagged_ids.in => params["tag_id"]) + result = eval("#{@ori_query}.where(:tagged_ids.in => params['tag_id'])") else #has tag and cate - result = eval("#{@ori_class_name}.where(:#{get_category_field_name}.in=>params['category_id'], :tagged_ids.in => params['tag_id'])") + result = eval("#{@ori_query}.where(:#{get_category_field_name}.in=>params['category_id'], :tagged_ids.in => params['tag_id'])") end elsif params["category_id"].blank? #no tag no cate - result = eval(@default_widget["query"]) + result = eval(@ori_query) else #no tag has cate - result = eval("#{@ori_class_name}.where(:#{get_category_field_name}.in=>params['category_id'])") + result = eval("#{@ori_query}.where(:#{get_category_field_name}.in=>params['category_id'])") end - result.available_for_lang(I18n.locale).can_display.desc(:is_top, :postdate) + result.available_for_lang(I18n.locale).can_display end def search_result