diff options
author | Azul <azul@leap.se> | 2014-07-09 12:51:16 +0200 |
---|---|---|
committer | Azul <azul@leap.se> | 2014-07-09 12:51:16 +0200 |
commit | 0cc11ebb609de225fbeacbf80788b992b88b6ce6 (patch) | |
tree | 3dbf8562e91ac7d7c8759a0516efbdca93cbdeff /app/controllers | |
parent | bdb4b0e275c205b0b44bbe3cc4ec4c162b309b37 (diff) |
list identities based on search only
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/identities_controller.rb | 8 | ||||
-rw-r--r-- | app/controllers/users_controller.rb | 4 | ||||
-rw-r--r-- | app/controllers/v1/users_controller.rb | 2 |
3 files changed, 10 insertions, 4 deletions
diff --git a/app/controllers/identities_controller.rb b/app/controllers/identities_controller.rb index 624e38a..8bd3b28 100644 --- a/app/controllers/identities_controller.rb +++ b/app/controllers/identities_controller.rb @@ -1,12 +1,18 @@ class IdentitiesController < ApplicationController + respond_to :html, :json before_filter :require_login before_filter :require_admin before_filter :fetch_identity, only: :destroy before_filter :protect_main_email, only: :destroy def index - @identities = Identity.all + if params[:query].present? + @identities = Identity.address_starts_with(params[:query]).limit(100) + else + @identities = [] + end + respond_with @identities.map(&:login).sort end def destroy diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index c8e09b6..5951413 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -12,12 +12,12 @@ class UsersController < UsersBaseController respond_to :html def index - if params[:query] + if params[:query].present? if @user = User.find_by_login(params[:query]) redirect_to @user return else - @users = User.by_login.startkey(params[:query]).endkey(params[:query].succ) + @users = User.login_starts_with(params[:query]) end else @users = User.by_created_at.descending diff --git a/app/controllers/v1/users_controller.rb b/app/controllers/v1/users_controller.rb index 8897d01..006e6d8 100644 --- a/app/controllers/v1/users_controller.rb +++ b/app/controllers/v1/users_controller.rb @@ -11,7 +11,7 @@ module V1 # used for autocomplete for admins in the web ui def index if params[:query] - @users = User.by_login.startkey(params[:query]).endkey(params[:query].succ) + @users = User.login_starts_with(params[:query]) respond_with @users.map(&:login).sort else render :json => {'error' => 'query required', 'status' => :unprocessable_entity} |