|
|
|
@ -18,7 +18,8 @@ module Submissions
|
|
|
|
def plain_search(submissions, keyword, search_values: false, search_template: false)
|
|
|
|
def plain_search(submissions, keyword, search_values: false, search_template: false)
|
|
|
|
return submissions if keyword.blank?
|
|
|
|
return submissions if keyword.blank?
|
|
|
|
|
|
|
|
|
|
|
|
term = "%#{keyword.downcase}%"
|
|
|
|
sanitized = ActiveRecord::Base.sanitize_sql_like(keyword.downcase)
|
|
|
|
|
|
|
|
term = "%#{sanitized}%"
|
|
|
|
|
|
|
|
|
|
|
|
arel_table = Submitter.arel_table
|
|
|
|
arel_table = Submitter.arel_table
|
|
|
|
|
|
|
|
|
|
|
|
@ -31,7 +32,7 @@ module Submissions
|
|
|
|
if search_template
|
|
|
|
if search_template
|
|
|
|
submissions = submissions.left_joins(:template)
|
|
|
|
submissions = submissions.left_joins(:template)
|
|
|
|
|
|
|
|
|
|
|
|
arel = arel.or(Template.arel_table[:name].lower.matches("%#{keyword.downcase}%"))
|
|
|
|
arel = arel.or(Template.arel_table[:name].lower.matches("%#{sanitized}%"))
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
submissions.joins(:submitters).where(arel).group(:id)
|
|
|
|
submissions.joins(:submitters).where(arel).group(:id)
|
|
|
|
|