]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/follows_controller.rb
Preload parent objects for user comments
[rails.git] / app / controllers / follows_controller.rb
index 09a98f98f92314fbaf892a2049c12660dd1afefc..a8da933dff89d0a06360ebebb5191fdf8333db56 100644 (file)
@@ -10,25 +10,25 @@ class FollowsController < ApplicationController
   authorize_resource
 
   before_action :check_database_writable
   authorize_resource
 
   before_action :check_database_writable
-  before_action :lookup_friend
+  before_action :lookup_user
 
   def show
 
   def show
-    @already_follows = current_user.follows?(@friend)
+    @already_follows = current_user.follows?(@user)
   end
 
   def create
     follow = Follow.new
     follow.follower = current_user
   end
 
   def create
     follow = Follow.new
     follow.follower = current_user
-    follow.following = @friend
-    if current_user.follows?(@friend)
-      flash[:warning] = t ".already_followed", :name => @friend.display_name
-    elsif current_user.follows.where(:created_at => Time.now.utc - 1.hour..).count >= current_user.max_friends_per_hour
+    follow.following = @user
+    if current_user.follows?(@user)
+      flash[:warning] = t ".already_followed", :name => @user.display_name
+    elsif current_user.follows.where(:created_at => Time.now.utc - 1.hour..).count >= current_user.max_follows_per_hour
       flash[:error] = t ".limit_exceeded"
     elsif follow.save
       flash[:error] = t ".limit_exceeded"
     elsif follow.save
-      flash[:notice] = t ".success", :name => @friend.display_name
-      UserMailer.friendship_notification(follow).deliver_later
+      flash[:notice] = t ".success", :name => @user.display_name
+      UserMailer.follow_notification(follow).deliver_later
     else
     else
-      follow.add_error(t(".failed", :name => @friend.display_name))
+      follow.add_error(t(".failed", :name => @user.display_name))
     end
 
     referer = safe_referer(params[:referer]) if params[:referer]
     end
 
     referer = safe_referer(params[:referer]) if params[:referer]
@@ -37,25 +37,15 @@ class FollowsController < ApplicationController
   end
 
   def destroy
   end
 
   def destroy
-    if current_user.follows?(@friend)
-      Follow.where(:follower => current_user, :following => @friend).delete_all
-      flash[:notice] = t ".success", :name => @friend.display_name
+    if current_user.follows?(@user)
+      Follow.where(:follower => current_user, :following => @user).delete_all
+      flash[:notice] = t ".success", :name => @user.display_name
     else
     else
-      flash[:error] = t ".not_followed", :name => @friend.display_name
+      flash[:error] = t ".not_followed", :name => @user.display_name
     end
 
     referer = safe_referer(params[:referer]) if params[:referer]
 
     redirect_to referer || user_path
   end
     end
 
     referer = safe_referer(params[:referer]) if params[:referer]
 
     redirect_to referer || user_path
   end
-
-  private
-
-  ##
-  # ensure that there is a "friend" instance variable
-  def lookup_friend
-    @friend = User.active.find_by!(:display_name => params[:display_name])
-  rescue ActiveRecord::RecordNotFound
-    render_unknown_user params[:display_name]
-  end
 end
 end