Browse Source

Added user search.

Martin Edenhofer 10 years ago
parent
commit
07148462dd
1 changed files with 9 additions and 3 deletions
  1. 9 3
      app/models/user/search.rb

+ 9 - 3
app/models/user/search.rb

@@ -41,9 +41,15 @@ returns
     # fallback do sql query
     # - stip out * we already search for *query* -
     query.gsub! '*', ''
-    users = User.where(
-      '(firstname LIKE ? or lastname LIKE ? or email LIKE ?) AND id != 1', "%#{query}%", "%#{query}%", "%#{query}%",
-    ).order('firstname').limit(limit)
+    if params[:role_ids]
+      users = User.joins(:roles).where( 'roles.id' => params[:role_ids] ).where(
+        '(users.firstname LIKE ? or users.lastname LIKE ? or users.email LIKE ?) AND users.id != 1', "%#{query}%", "%#{query}%", "%#{query}%",
+      ).order('firstname').limit(limit)
+    else
+      users = User.where(
+        '(firstname LIKE ? or lastname LIKE ? or email LIKE ?) AND id != 1', "%#{query}%", "%#{query}%", "%#{query}%",
+      ).order('firstname').limit(limit)
+    end
     return users
   end