]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/users/lists_controller.rb
Create api changeset download resource
[rails.git] / app / controllers / users / lists_controller.rb
index a5cd7203d715b4bd1629f5c942152d2de0ec84eb..7e3fa2a32801cb70854c8e4fc8b3f0dea9d70d66 100644 (file)
@@ -13,11 +13,12 @@ module Users
     ##
     # display a list of users matching specified criteria
     def show
-      @params = params.permit(:status, :ip, :before, :after)
+      @params = params.permit(:status, :username, :ip, :before, :after)
 
       users = User.all
-      users = users.where(:status => @params[:status]) if @params[:status]
-      users = users.where(:creation_address => @params[:ip]) if @params[:ip]
+      users = users.where(:status => @params[:status]) if @params[:status].present?
+      users = users.where("LOWER(email) = LOWER(?) OR LOWER(NORMALIZE(display_name, NFKC)) = LOWER(NORMALIZE(?, NFKC))", @params[:username], @params[:username]) if @params[:username].present?
+      users = users.where("creation_address <<= ?", @params[:ip]) if @params[:ip].present?
 
       @users_count = users.limit(501).count
       @users_count = I18n.t("count.at_least_pattern", :count => 500) if @users_count > 500