diff --git a/app/controllers/articles_controller.rb b/app/controllers/articles_controller.rb index 4b59aa4e..ec1ac386 100644 --- a/app/controllers/articles_controller.rb +++ b/app/controllers/articles_controller.rb @@ -215,10 +215,10 @@ class ArticlesController < ApplicationController # def shared # build array of keywords, required for ransack _all suffix - params[:q][:name_cont_all] = params[:q][:name_cont_all].split(' ') if params[:q] - # Build search with meta search plugin - @search = @supplier.shared_supplier.shared_articles.search(params[:q]) - @articles = @search.result.page(params[:page]).per(10) + q = params.fetch(:q, {}) + q[:name_cont_all] = params.fetch(:name_cont_all_joined, '').split(' ') + search = @supplier.shared_supplier.shared_articles.ransack(q) + @articles = search.result.page(params[:page]).per(10) render :layout => false end diff --git a/app/helpers/articles_helper.rb b/app/helpers/articles_helper.rb index 90dbdc43..4f679af8 100644 --- a/app/helpers/articles_helper.rb +++ b/app/helpers/articles_helper.rb @@ -12,10 +12,4 @@ module ArticlesHelper classes << "just-updated" if article.recently_updated && article.availability classes.join(" ") end - - # Flatten search params, used in import from external database - def search_params - return {} unless params[:q] - Hash[params[:q].map { |k,v| [k, (v.is_a?(Array) ? v.join(" ") : v)] }] - end end diff --git a/app/views/articles/_import_search_results.haml b/app/views/articles/_import_search_results.haml index 3dba40b5..c5dd56f2 100644 --- a/app/views/articles/_import_search_results.haml +++ b/app/views/articles/_import_search_results.haml @@ -1,7 +1,7 @@ - if @articles.empty? %p= t '.not_found' - else - = pagination_links_remote @articles, :params => {:q => search_params} + = pagination_links_remote @articles %table.table.table-striped %thead %tr @@ -15,7 +15,7 @@ %tbody - for article in @articles %tr{id: "shared_article_#{article.id}"} - %td= highlight article.name, search_params[:name_cont_all] + %td= highlight article.name, params.fetch(:name_cont_all_joined, '').split(' ') %td= article.origin %td= article.manufacturer %td{title: article.note}= truncate(article.note, length: 11) diff --git a/app/views/articles/index.html.haml b/app/views/articles/index.html.haml index 4272c975..fbb549fb 100644 --- a/app/views/articles/index.html.haml +++ b/app/views/articles/index.html.haml @@ -35,7 +35,7 @@ = form_tag shared_supplier_articles_path(@supplier), method: :get, remote: true, class: 'form-search', 'data-submit-onchange' => true do %h3{style: 'display: inline; vertical-align: middle; margin-right: 1em;'}= t('.import.title') + ' ' - = text_field_tag "q[name_cont_all]", "", class: 'input-medium search-query', + = text_field_tag "name_cont_all_joined", "", class: 'input-medium search-query', placeholder: t('.import.placeholder') %label.checkbox = check_box_tag "q[origin_eq]", "REG", false