allow to search on value

pull/250/head
Pete Matsyburka 2 years ago
parent 0844427357
commit 66eb83e6a7

@ -6,7 +6,7 @@ class TemplatesArchivedSubmissionsController < ApplicationController
def index
@submissions = @submissions.where.not(archived_at: nil)
@submissions = Submissions.search(@submissions, params[:q])
@submissions = Submissions.search(@submissions, params[:q], search_values: true)
@pagy, @submissions = pagy(@submissions.preload(:submitters).order(id: :desc))
rescue ActiveRecord::RecordNotFound

@ -8,7 +8,7 @@ class TemplatesController < ApplicationController
def show
submissions = @template.submissions.accessible_by(current_ability)
submissions = submissions.active if @template.archived_at.blank?
submissions = Submissions.search(submissions, params[:q])
submissions = Submissions.search(submissions, params[:q], search_values: true)
@base_submissions = submissions

@ -7,7 +7,7 @@ module Submissions
module_function
def search(submissions, keyword)
def search(submissions, keyword, search_values: false)
return submissions if keyword.blank?
term = "%#{keyword.downcase}%"
@ -18,6 +18,8 @@ module Submissions
.or(arel_table[:phone].matches(term))
.or(arel_table[:name].lower.matches(term))
arel = arel.or(Arel::Table.new(:submitters)[:values].matches(term)) if search_values
submissions.joins(:submitters).where(arel).distinct
end

Loading…
Cancel
Save