From 2ed0437ec7d11bb828d6840165065bf179db7c96 Mon Sep 17 00:00:00 2001 From: Macartur Sousa Date: Tue, 28 Jun 2016 14:00:15 -0300 Subject: [PATCH] Fixed Sort by to receive filter param --- plugins/elasticsearch/controllers/elasticsearch_plugin_controller.rb | 5 +++-- plugins/elasticsearch/helpers/elasticsearch_helper.rb | 12 ++++++------ plugins/elasticsearch/test/unit/controllers/elasticsearch_plugin_controller_test.rb | 3 ++- plugins/elasticsearch/views/elasticsearch_plugin/search.html.erb | 18 +++++++++--------- 4 files changed, 20 insertions(+), 18 deletions(-) diff --git a/plugins/elasticsearch/controllers/elasticsearch_plugin_controller.rb b/plugins/elasticsearch/controllers/elasticsearch_plugin_controller.rb index ae6cfdc..5bd551f 100644 --- a/plugins/elasticsearch/controllers/elasticsearch_plugin_controller.rb +++ b/plugins/elasticsearch/controllers/elasticsearch_plugin_controller.rb @@ -26,7 +26,8 @@ class ElasticsearchPluginController < ApplicationController end def define_search_fields_types - @search_filter_types = ElasticsearchHelper::search_filters - @selected_filter_field = (params[:selected_filter_field] || :relevance).to_sym + @filter_types = ElasticsearchHelper::filters + @selected_filter = (params[:filter] || :relevance).to_sym end + end diff --git a/plugins/elasticsearch/helpers/elasticsearch_helper.rb b/plugins/elasticsearch/helpers/elasticsearch_helper.rb index 9208927..cfad0bf 100644 --- a/plugins/elasticsearch/helpers/elasticsearch_helper.rb +++ b/plugins/elasticsearch/helpers/elasticsearch_helper.rb @@ -11,11 +11,11 @@ module ElasticsearchHelper } end - def self.search_filters + def self.filters { - :relevance => { label: _("Relevance")}, - :lexical => { label: _("Alphabetical")}, - :recent => { label: _("More Recent")}, + :relevance => { label: _("Relevance")}, + :lexical => { label: _("Alphabetical")}, + :more_recent => { label: _("More Recent")}, } end @@ -52,7 +52,7 @@ module ElasticsearchHelper end def search_from_all_models - query = get_query params[:query], sort_by: get_sort_by(params[:selected_filter_field]) + query = get_query params[:query], sort_by: get_sort_by(params[:selected_filter]) models = searchable_models Elasticsearch::Model.search(query, models, size: default_per_page(params[:per_page])).page(params[:page]).records end @@ -61,7 +61,7 @@ module ElasticsearchHelper begin klass = model.to_s.classify.constantize - query = get_query params[:query], klass: klass, sort_by: get_sort_by(params[:selected_filter_field]) + query = get_query params[:query], klass: klass, sort_by: get_sort_by(params[:selected_filter]) klass.search(query, size: default_per_page(params[:per_page])).page(params[:page]).records rescue [] diff --git a/plugins/elasticsearch/test/unit/controllers/elasticsearch_plugin_controller_test.rb b/plugins/elasticsearch/test/unit/controllers/elasticsearch_plugin_controller_test.rb index 6ab5f5a..b03dc70 100644 --- a/plugins/elasticsearch/test/unit/controllers/elasticsearch_plugin_controller_test.rb +++ b/plugins/elasticsearch/test/unit/controllers/elasticsearch_plugin_controller_test.rb @@ -30,7 +30,8 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase assert_response :success assert_not_nil assigns(:searchable_types) assert_not_nil assigns(:selected_type) - assert_not_nil assigns(:search_filter_types) + assert_not_nil assigns(:filter_types) + assert_not_nil assigns(:selected_filter) end should 'return 10 results if selected_type is nil and query is nil' do diff --git a/plugins/elasticsearch/views/elasticsearch_plugin/search.html.erb b/plugins/elasticsearch/views/elasticsearch_plugin/search.html.erb index b5b06f5..736039d 100644 --- a/plugins/elasticsearch/views/elasticsearch_plugin/search.html.erb +++ b/plugins/elasticsearch/views/elasticsearch_plugin/search.html.erb @@ -5,7 +5,7 @@ @@ -13,9 +13,9 @@

<%= _("Sort by") %>

@@ -26,8 +26,8 @@
<%= form_tag '/plugin/elasticsearch/search', method: :get do %> <%= hidden_field_tag "selected_type", @selected_type %> - <% if @selected_filter_field %> - <%= hidden_field_tag "selected_filter_field", @selected_filter_field %> + <% if @selected_filter %> + <%= hidden_field_tag "filter", @selected_filter %> <% end %> <%= text_field_tag :query, @query %> <%= submit_tag _("Send") %> @@ -36,11 +36,11 @@
<% if not @query.blank? %>

- <%= @results.total %><%= _(" results for ") %><%= @query %> + <%= @results.count %><%= _(" results for ") %><%= @query %>

<% else %>

- <%= @results.total %><%= _(" total results") %> + <%= @results.count %><%= _(" total results") %>

<% end %>
@@ -59,7 +59,7 @@ <% end %> <% end %>
- <%= pagination_links @results %> + <%= pagination_links @results if @results.count > 0 %>
-- libgit2 0.21.2