]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/concerns/user_methods.rb
Move user lookup and error render to concerns
[rails.git] / app / controllers / concerns / user_methods.rb
index 81e9f0064c4e7b331b8fc8cc4fdddcb5dbf9073d..6d92aac79574ffc371c3267431ff087f7c828237 100644 (file)
@@ -3,6 +3,26 @@ module UserMethods
 
   private
 
 
   private
 
+  ##
+  # ensure that there is a "user" instance variable
+  def lookup_user
+    @user = User.active.find_by!(:display_name => params[:display_name])
+  rescue ActiveRecord::RecordNotFound
+    render_unknown_user params[:display_name]
+  end
+
+  ##
+  # render a "no such user" page
+  def render_unknown_user(name)
+    @title = t "users.no_such_user.title"
+    @not_found_user = name
+
+    respond_to do |format|
+      format.html { render :template => "users/no_such_user", :status => :not_found }
+      format.all { head :not_found }
+    end
+  end
+
   ##
   # update a user's details
   def update_user(user, params)
   ##
   # update a user's details
   def update_user(user, params)