allow to search on value
This commit is contained in:
@@ -6,7 +6,7 @@ class TemplatesArchivedSubmissionsController < ApplicationController
|
|||||||
|
|
||||||
def index
|
def index
|
||||||
@submissions = @submissions.where.not(archived_at: nil)
|
@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))
|
@pagy, @submissions = pagy(@submissions.preload(:submitters).order(id: :desc))
|
||||||
rescue ActiveRecord::RecordNotFound
|
rescue ActiveRecord::RecordNotFound
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ class TemplatesController < ApplicationController
|
|||||||
def show
|
def show
|
||||||
submissions = @template.submissions.accessible_by(current_ability)
|
submissions = @template.submissions.accessible_by(current_ability)
|
||||||
submissions = submissions.active if @template.archived_at.blank?
|
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
|
@base_submissions = submissions
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -7,7 +7,7 @@ module Submissions
|
|||||||
|
|
||||||
module_function
|
module_function
|
||||||
|
|
||||||
def search(submissions, keyword)
|
def search(submissions, keyword, search_values: false)
|
||||||
return submissions if keyword.blank?
|
return submissions if keyword.blank?
|
||||||
|
|
||||||
term = "%#{keyword.downcase}%"
|
term = "%#{keyword.downcase}%"
|
||||||
@@ -18,6 +18,8 @@ module Submissions
|
|||||||
.or(arel_table[:phone].matches(term))
|
.or(arel_table[:phone].matches(term))
|
||||||
.or(arel_table[:name].lower.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
|
submissions.joins(:submitters).where(arel).distinct
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user