private
+ ##
+ # ensure that there is a "user" instance variable
+ def lookup_user
+ display_name = params[:display_name] || params[:user_display_name]
+ @user = User.active.find_by!(:display_name => display_name)
+ rescue ActiveRecord::RecordNotFound
+ render_unknown_user 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, :layout => "site" }
+ format.all { head :not_found }
+ end
+ end
+
##
# update a user's details
def update_user(user, params)
if user.new_email.blank? || user.new_email == user.email
flash[:notice] = t "accounts.update.success"
else
+ token = user.generate_token_for(:new_email)
+
user.email = user.new_email
if user.valid?
flash[:notice] = t "accounts.update.success_confirm_needed"
begin
- UserMailer.email_confirm(user, user.tokens.create).deliver_later
+ UserMailer.email_confirm(user, token).deliver_later
rescue StandardError
# Ignore errors sending email
end