dmails: add search[title_matches] param.
This commit is contained in:
@@ -102,6 +102,11 @@ class Dmail < ActiveRecord::Base
|
||||
where("is_deleted = ?", true)
|
||||
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)
|
||||
if query =~ /\*/ && CurrentUser.user.is_builder?
|
||||
escaped_query = query.to_escaped_for_sql_like
|
||||
@@ -131,6 +136,10 @@ class Dmail < ActiveRecord::Base
|
||||
q = where("true")
|
||||
return q if params.blank?
|
||||
|
||||
if params[:title_matches].present?
|
||||
q = q.title_matches(params[:title_matches])
|
||||
end
|
||||
|
||||
if params[:message_matches].present?
|
||||
q = q.search_message(params[:message_matches])
|
||||
end
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
<%= 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.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 :to_name, label: "To", input_html: { value: params[:search][:to_name] } %>
|
||||
<%= f.input :from_name, label: "From", input_html: { value: params[:search][:from_name] } %>
|
||||
|
||||
Reference in New Issue
Block a user