dmails: add search[title_matches] param.
This commit is contained in:
@@ -102,6 +102,11 @@ class Dmail < ActiveRecord::Base
|
|||||||
where("is_deleted = ?", true)
|
where("is_deleted = ?", true)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def title_matches(query)
|
||||||
|
query = "*#{query}*" unless query =~ /\*/
|
||||||
|
where("lower(dmails.title) LIKE ?", query.to_escaped_for_sql_like)
|
||||||
|
end
|
||||||
|
|
||||||
def search_message(query)
|
def search_message(query)
|
||||||
if query =~ /\*/ && CurrentUser.user.is_builder?
|
if query =~ /\*/ && CurrentUser.user.is_builder?
|
||||||
escaped_query = query.to_escaped_for_sql_like
|
escaped_query = query.to_escaped_for_sql_like
|
||||||
@@ -131,6 +136,10 @@ class Dmail < ActiveRecord::Base
|
|||||||
q = where("true")
|
q = where("true")
|
||||||
return q if params.blank?
|
return q if params.blank?
|
||||||
|
|
||||||
|
if params[:title_matches].present?
|
||||||
|
q = q.title_matches(params[:title_matches])
|
||||||
|
end
|
||||||
|
|
||||||
if params[:message_matches].present?
|
if params[:message_matches].present?
|
||||||
q = q.search_message(params[:message_matches])
|
q = q.search_message(params[:message_matches])
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
<%= simple_form_for(:search, url: dmails_path, method: :get, defaults: { required: false }, html: { class: "inline-form" }) do |f| %>
|
<%= simple_form_for(:search, url: dmails_path, method: :get, defaults: { required: false }, html: { class: "inline-form" }) do |f| %>
|
||||||
<%= f.hidden_field :folder, value: params[:folder] %>
|
<%= f.hidden_field :folder, value: params[:folder] %>
|
||||||
|
<%= f.input :title_matches, label: "Title", hint: "Use * for wildcard", input_html: { value: params[:search][:title_matches] } %>
|
||||||
<%= f.input :message_matches, label: "Message", hint: "Use * for wildcard", input_html: { value: params[:search][:messages_matches] } %>
|
<%= f.input :message_matches, label: "Message", hint: "Use * for wildcard", input_html: { value: params[:search][:messages_matches] } %>
|
||||||
<%= f.input :to_name, label: "To", input_html: { value: params[:search][:to_name] } %>
|
<%= f.input :to_name, label: "To", input_html: { value: params[:search][:to_name] } %>
|
||||||
<%= f.input :from_name, label: "From", input_html: { value: params[:search][:from_name] } %>
|
<%= f.input :from_name, label: "From", input_html: { value: params[:search][:from_name] } %>
|
||||||
|
|||||||
Reference in New Issue
Block a user