From d73e1ee7533eac9269492b08eed8f9bd2dfd3f65 Mon Sep 17 00:00:00 2001 From: David Taylor Date: Mon, 28 Oct 2019 13:18:47 +0000 Subject: [PATCH] FIX: Respond to user search correctly when category_id is blank Previously it would search for category_id=0, which does not exist. With the new permission checks, this returns a 404 --- app/controllers/users_controller.rb | 3 +-- spec/requests/users_controller_spec.rb | 9 +++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 629faaa33c..d66b0b31ef 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -912,8 +912,7 @@ class UsersController < ApplicationController topic_id = params[:topic_id] topic_id = topic_id.to_i if topic_id - category_id = params[:category_id] - category_id = category_id.to_i if category_id + category_id = params[:category_id].to_i if category_id.present? topic_allowed_users = params[:topic_allowed_users] || false diff --git a/spec/requests/users_controller_spec.rb b/spec/requests/users_controller_spec.rb index 6a9ec4e018..a065f8a737 100644 --- a/spec/requests/users_controller_spec.rb +++ b/spec/requests/users_controller_spec.rb @@ -3032,6 +3032,15 @@ describe UsersController do expect(json["users"].map { |u| u["username"] }).to include(privileged_user.username) end + it "interprets blank category id correctly" do + pm_topic = Fabricate(:private_message_post).topic + sign_in(pm_topic.user) + get "/u/search/users.json", params: { + term: "", topic_id: pm_topic.id, category_id: "" + } + expect(response.status).to eq(200) + end + context "when `enable_names` is true" do before do SiteSetting.enable_names = true