From 481f04c07ba05afb51e585e19dd0503136b40d0c Mon Sep 17 00:00:00 2001 From: Bernie Chiu Date: Sun, 25 Aug 2013 15:45:27 +0800 Subject: [PATCH] Soler basic search --- .../front_end/dictionary_vocabs_controller.rb | 6 +++++- .../dictionary/app/models/dictionary_vocab.rb | 11 +++++++++++ vendor/built_in_modules/dictionary/config/routes.rb | 2 +- vendor/built_in_modules/dictionary/init.rb | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/vendor/built_in_modules/dictionary/app/controllers/panel/dictionary/front_end/dictionary_vocabs_controller.rb b/vendor/built_in_modules/dictionary/app/controllers/panel/dictionary/front_end/dictionary_vocabs_controller.rb index 7d302e0a0..685e878c6 100644 --- a/vendor/built_in_modules/dictionary/app/controllers/panel/dictionary/front_end/dictionary_vocabs_controller.rb +++ b/vendor/built_in_modules/dictionary/app/controllers/panel/dictionary/front_end/dictionary_vocabs_controller.rb @@ -19,7 +19,11 @@ class Panel::Dictionary::FrontEnd::DictionaryVocabsController < OrbitWidgetContr # end def index - @vocabs = DictionaryVocab.all + if params[:search_query].empty? + @vocabs = DictionaryVocab.all + else + @vocabs = DictionaryVocab.search(params[:search_query]) + end # @item = Page.find(params[:page_id]) # @title = @item.title # if !@item.frontend_data_count.blank? diff --git a/vendor/built_in_modules/dictionary/app/models/dictionary_vocab.rb b/vendor/built_in_modules/dictionary/app/models/dictionary_vocab.rb index d9f0daf90..6e23328b5 100644 --- a/vendor/built_in_modules/dictionary/app/models/dictionary_vocab.rb +++ b/vendor/built_in_modules/dictionary/app/models/dictionary_vocab.rb @@ -27,6 +27,17 @@ class DictionaryVocab belongs_to :dictionary_vocab_category + def self.search(search) + if search + @search = DictionaryVocab.solr_search do + fulltext(search) + with(:frontend_search, true) + end + else + scoped + end + end + # has_many :archive_file_multiples, :autosave => true, :dependent => :destroy # accepts_nested_attributes_for :archive_file_multiples, :allow_destroy => true diff --git a/vendor/built_in_modules/dictionary/config/routes.rb b/vendor/built_in_modules/dictionary/config/routes.rb index ca71e6de7..b2a65b84c 100644 --- a/vendor/built_in_modules/dictionary/config/routes.rb +++ b/vendor/built_in_modules/dictionary/config/routes.rb @@ -12,11 +12,11 @@ Rails.application.routes.draw do end namespace :front_end do + get "dictionary_vocabs", to: "dictionary_vocabs#index" resources :dictionary_vocabs end namespace :widget do - # match "index" => "archive_files#index" get "dictionary_search_block", to: "dictionary_vocabs#dictionary_search_block" get "dictionary_vocabs", to: "dictionary_vocabs#index" resources :dictionary_vocabs diff --git a/vendor/built_in_modules/dictionary/init.rb b/vendor/built_in_modules/dictionary/init.rb index 2ddcf1467..352b997b5 100644 --- a/vendor/built_in_modules/dictionary/init.rb +++ b/vendor/built_in_modules/dictionary/init.rb @@ -29,7 +29,7 @@ module Dictionary # link_field :archive_file_category_with_title,{:method => 'panel_archive_front_end_archive_files_path',:args=>{:category_id => [:archive_file_category,:id]}} # end - # categories_query 'ArchiveFileCategory.all' + categories_query 'DictionaryVocabCategory.all' # tags_query 'ArchiveTag.all' # customize_widget "index" do