summaryrefslogtreecommitdiff
path: root/users
diff options
context:
space:
mode:
authorjessib <jessib@leap.se>2013-01-15 12:52:09 -0800
committerjessib <jessib@leap.se>2013-01-15 12:52:09 -0800
commite2021bdcc40b51ab5e571c97e882bba10dc80ad6 (patch)
tree59052403102c027dde9d73f4b85cc643e15bb86b /users
parent3dc8886beb7d3689c87d9aa1e5ad2d4c6c5b4c55 (diff)
For both users and tickets, if the object is not found and the current user is an admin, they should see an alert that the object wasn't found, and be redirected to the current controller.
If the object isn't found and the current user is not an admin, then we will continue to give an error about no access, so as not to leak information about what IDs do and don't exist.
Diffstat (limited to 'users')
-rw-r--r--users/app/controllers/users_controller.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/users/app/controllers/users_controller.rb b/users/app/controllers/users_controller.rb
index 79de630..3d5a6a7 100644
--- a/users/app/controllers/users_controller.rb
+++ b/users/app/controllers/users_controller.rb
@@ -49,6 +49,10 @@ class UsersController < ApplicationController
def fetch_user
@user = User.find_by_param(params[:id])
+ if !@user and admin?
+ redirect_to users_path, :alert => t(:no_such_thing, :thing => 'user')
+ return
+ end
access_denied unless admin? or (@user == current_user)
end