Ack :)

----- Original Message -----
From: [email protected]
To: [email protected]
Sent: Friday, January 14, 2011 12:24:53 PM
Subject: [deltacloud-devel] [PATCH aeolus] Add search for Users

From: Tomas Sedovic <[email protected]>

---
 src/app/controllers/admin/users_controller.rb |   16 +++++++++++++++-
 src/app/models/user.rb                        |    7 +++++++
 2 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/src/app/controllers/admin/users_controller.rb 
b/src/app/controllers/admin/users_controller.rb
index 0e854a9..1c48dcb 100644
--- a/src/app/controllers/admin/users_controller.rb
+++ b/src/app/controllers/admin/users_controller.rb
@@ -1,7 +1,21 @@
 class Admin::UsersController < ApplicationController
   before_filter :require_user
   before_filter :only_admin, :only => [:index, :multi_destroy]
-  before_filter :load_users, :only => [:index, :show]
+  before_filter :load_users, :only => [:show]
+
+  def index
+    @params = params
+    @search_term = params[:q]
+    if @search_term.blank?
+      load_users
+      return
+    end
+
+    search = User.search do
+      keywords(params[:q])
+    end
+    @users = search.results
+  end
 
   def new
     @user = User.new
diff --git a/src/app/models/user.rb b/src/app/models/user.rb
index 7942ae4..cc77d9d 100644
--- a/src/app/models/user.rb
+++ b/src/app/models/user.rb
@@ -19,7 +19,14 @@
 # Filters added to this controller apply to all controllers in the application.
 # Likewise, all the methods added will be available for all controllers.
 
+require 'sunspot_rails'
 class User < ActiveRecord::Base
+  searchable do
+    text :login, :as => :code_substring
+    text :last_name, :as => :code_substring
+    text :first_name, :as => :code_substring
+    text :email, :as => :code_substring
+  end
   acts_as_authentic
 
   has_many :permissions
-- 
1.7.3.4

_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel
_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel

Reply via email to