]> git.openstreetmap.org Git - rails.git/commitdiff
Move user lookup and error render to concerns
authorAnton Khorev <tony29@yandex.ru>
Sun, 20 Aug 2023 22:11:49 +0000 (01:11 +0300)
committerAnton Khorev <tony29@yandex.ru>
Mon, 21 Aug 2023 14:29:55 +0000 (17:29 +0300)
app/controllers/application_controller.rb
app/controllers/changesets_controller.rb
app/controllers/concerns/user_methods.rb
app/controllers/confirmations_controller.rb
app/controllers/diary_entries_controller.rb
app/controllers/friendships_controller.rb
app/controllers/messages_controller.rb
app/controllers/notes_controller.rb
app/controllers/traces_controller.rb
app/controllers/user_blocks_controller.rb
app/controllers/user_roles_controller.rb

index 5dcfee07ca03cc9aaeb84549513305af4c658133..a30816a8ede740eaf3adf8f8be7165db0d23a193 100644 (file)
@@ -215,24 +215,6 @@ class ApplicationController < ActionController::Base
     render :action => "timeout"
   end
 
-  ##
-  # ensure that there is a "user" instance variable
-  def lookup_user
-    render_unknown_user params[:display_name] unless @user = User.active.find_by(:display_name => 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
-
   ##
   # Unfortunately if a PUT or POST request that has a body fails to
   # read it then Apache will sometimes fail to return the response it
index 7796dfeb27fe04d9e2875f451a73a13e25711c78..22d3356b79fee7425865fcff5de6098b2cc0b153 100644 (file)
@@ -1,6 +1,8 @@
 # The ChangesetController is the RESTful interface to Changeset objects
 
 class ChangesetsController < ApplicationController
+  include UserMethods
+
   layout "site"
   require "xml/libxml"
 
index 81e9f0064c4e7b331b8fc8cc4fdddcb5dbf9073d..6d92aac79574ffc371c3267431ff087f7c828237 100644 (file)
@@ -3,6 +3,26 @@ module UserMethods
 
   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)
index a482bc96de0da11b52335a7790879fc0155f9ad9..65f5605710a5726e9de02355368c5a976ea19e37 100644 (file)
@@ -1,5 +1,6 @@
 class ConfirmationsController < ApplicationController
   include SessionMethods
+  include UserMethods
 
   layout "site"
 
index 6981ed797f92112956e2097bf7a11a1e54d9465b..ea6d1d27601db89980fa6366308b90a5ad996f45 100644 (file)
@@ -1,4 +1,6 @@
 class DiaryEntriesController < ApplicationController
+  include UserMethods
+
   layout "site", :except => :rss
 
   before_action :authorize_web
index 4d1161147304943d50c4437797566e99aae6a917..731dda453068bfb6e057e60dbf5fe8b4ca0dce8f 100644 (file)
@@ -1,4 +1,6 @@
 class FriendshipsController < ApplicationController
+  include UserMethods
+
   layout "site"
 
   before_action :authorize_web
index 22d0c88ba5e868e374f6c5f553c21245975e5d7e..e0b5b05d31900dca9032e070df3ea127fa45cd18 100644 (file)
@@ -1,4 +1,6 @@
 class MessagesController < ApplicationController
+  include UserMethods
+
   layout "site"
 
   before_action :authorize_web
index 440a620e8116806be582b4b996a88088cb53a1a7..6b2a3a86b81bb7fed0e07a817f27f3fde30d3275 100644 (file)
@@ -1,4 +1,6 @@
 class NotesController < ApplicationController
+  include UserMethods
+
   layout :map_layout
 
   before_action :check_api_readable
index 0b7dbc94a60228f0e63656333a689b5abef24ec4..90ab34a48c406d27ecc31b3418c6ad48d94bb4c1 100644 (file)
@@ -1,4 +1,6 @@
 class TracesController < ApplicationController
+  include UserMethods
+
   layout "site", :except => :georss
 
   before_action :authorize_web
index 63ebdad713b85f5b54785c5d8169a611f89d57dc..546c8233c65a4d5f4eeb42d97cc76dc0558c1d28 100644 (file)
@@ -1,4 +1,6 @@
 class UserBlocksController < ApplicationController
+  include UserMethods
+
   layout "site"
 
   before_action :authorize_web
index cf5b4de9e35e2c8771673e4bd09ac7d011aeeb73..b54cd0bd7a3eee82ccfecb01ce14882ba1d7c3cc 100644 (file)
@@ -1,4 +1,6 @@
 class UserRolesController < ApplicationController
+  include UserMethods
+
   layout "site"
 
   before_action :authorize_web