Move user lookup and error render to concerns

This commit is contained in:
Anton Khorev 2023-08-21 01:11:49 +03:00
parent 7054cea48e
commit 4ceebefefa
11 changed files with 37 additions and 18 deletions

View file

@ -215,24 +215,6 @@ class ApplicationController < ActionController::Base
render :action => "timeout" render :action => "timeout"
end 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 # 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 # read it then Apache will sometimes fail to return the response it

View file

@ -1,6 +1,8 @@
# The ChangesetController is the RESTful interface to Changeset objects # The ChangesetController is the RESTful interface to Changeset objects
class ChangesetsController < ApplicationController class ChangesetsController < ApplicationController
include UserMethods
layout "site" layout "site"
require "xml/libxml" require "xml/libxml"

View 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 # update a user's details
def update_user(user, params) def update_user(user, params)

View file

@ -1,5 +1,6 @@
class ConfirmationsController < ApplicationController class ConfirmationsController < ApplicationController
include SessionMethods include SessionMethods
include UserMethods
layout "site" layout "site"

View file

@ -1,4 +1,6 @@
class DiaryEntriesController < ApplicationController class DiaryEntriesController < ApplicationController
include UserMethods
layout "site", :except => :rss layout "site", :except => :rss
before_action :authorize_web before_action :authorize_web

View file

@ -1,4 +1,6 @@
class FriendshipsController < ApplicationController class FriendshipsController < ApplicationController
include UserMethods
layout "site" layout "site"
before_action :authorize_web before_action :authorize_web

View file

@ -1,4 +1,6 @@
class MessagesController < ApplicationController class MessagesController < ApplicationController
include UserMethods
layout "site" layout "site"
before_action :authorize_web before_action :authorize_web

View file

@ -1,4 +1,6 @@
class NotesController < ApplicationController class NotesController < ApplicationController
include UserMethods
layout :map_layout layout :map_layout
before_action :check_api_readable before_action :check_api_readable

View file

@ -1,4 +1,6 @@
class TracesController < ApplicationController class TracesController < ApplicationController
include UserMethods
layout "site", :except => :georss layout "site", :except => :georss
before_action :authorize_web before_action :authorize_web

View file

@ -1,4 +1,6 @@
class UserBlocksController < ApplicationController class UserBlocksController < ApplicationController
include UserMethods
layout "site" layout "site"
before_action :authorize_web before_action :authorize_web

View file

@ -1,4 +1,6 @@
class UserRolesController < ApplicationController class UserRolesController < ApplicationController
include UserMethods
layout "site" layout "site"
before_action :authorize_web before_action :authorize_web