From 6f19cb7252b89e06eba0d951c91a2265b3ed2949 Mon Sep 17 00:00:00 2001
From: Giuseppe Capizzi <g.capizzi@gmail.com>
Date: Sat, 24 Aug 2013 19:38:02 +0200
Subject: [PATCH] Extract ListController#list_target_user

---
 app/controllers/list_controller.rb | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/app/controllers/list_controller.rb b/app/controllers/list_controller.rb
index 68f39931c..83f635bb2 100644
--- a/app/controllers/list_controller.rb
+++ b/app/controllers/list_controller.rb
@@ -8,10 +8,7 @@ class ListController < ApplicationController
   [:latest, :hot, :favorited, :read, :posted, :unread, :new].each do |filter|
     define_method(filter) do
       list_opts = build_topic_list_options
-      user = current_user
-      if params[:user_id] && guardian.is_staff?
-        user = User.find(params[:user_id].to_i)
-      end
+      user = list_target_user
       list = TopicQuery.new(user, list_opts).public_send("list_#{filter}")
       list.more_topics_url = url_for(self.public_send "#{filter}_path".to_sym, list_opts.merge(format: 'json', page: next_page))
 
@@ -133,4 +130,12 @@ class ListController < ApplicationController
       exclude_category: (params[:exclude_category] || menu_item.try(:filter))
     }
   end
+
+  def list_target_user
+    if params[:user_id] && guardian.is_staff?
+      User.find(params[:user_id].to_i)
+    else
+      current_user
+    end
+  end
 end