Ack :)
----- Original Message -----
From: tsedovic(a)redhat.com
To: deltacloud-devel(a)lists.fedorahosted.org
Sent: Friday, January 14, 2011 12:24:53 PM
Subject: [deltacloud-devel] [PATCH aeolus] Add search for Users
From: Tomas Sedovic <tsedovic(a)redhat.com>
---
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
deltacloud-devel(a)lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/deltacloud-devel