admins can search officials by name or email

This commit is contained in:
Juanjo Bazán
2015-08-29 17:02:21 +02:00
parent c64bb88e12
commit 43b333b844
8 changed files with 19 additions and 11 deletions

View File

@@ -5,7 +5,7 @@ class Admin::OfficialsController < Admin::BaseController
end
def search
@users = User.with_email(params[:email]).page(params[:page]).for_render
@users = User.search(params[:name_or_email]).page(params[:page]).for_render
end
def edit

View File

@@ -110,8 +110,8 @@ class User < ActiveRecord::Base
update official_position: nil, official_level: 0
end
def self.with_email(e)
e.present? ? where(email: e) : none
def self.search(term)
term.present? ? where("email = ? OR username ILIKE ?", term, "%#{term}%") : none
end
def email_provided?

View File

@@ -3,7 +3,7 @@
<%= form_for(User.new, url: search_admin_officials_path, as: :user, method: :get) do |f| %>
<div class="row">
<div class="small-12 medium-6 column">
<%= text_field_tag :email, "", placeholder: t("admin.officials.index.search_email_placeholder") %>
<%= text_field_tag :name_or_email, "", placeholder: t("admin.officials.index.search_placeholder") %>
</div>
<div class="form-inline small-12 medium-6 column">
<%= f.submit t("admin.officials.index.search"), class: "button radius success" %>

View File

@@ -3,7 +3,7 @@
<%= form_for(User.new, url: search_admin_officials_path, as: :user, method: :get) do |f| %>
<div class="row">
<div class="small-12 medium-6 column">
<%= text_field_tag :email, "", placeholder: t("admin.officials.index.search_email_placeholder") %>
<%= text_field_tag :name_or_email, "", placeholder: t("admin.officials.index.search_placeholder") %>
</div>
<div class="small-12 medium-6 column">
<%= f.submit t("admin.officials.search.search"), class: "button radius success" %>