mirror of
https://github.com/mastodon/mastodon.git
synced 2024-12-13 22:55:07 +01:00
571d219bb9
Conflicts manually resolved: - app/services/post_status_service.rb - config/locales/simple_form.pl.yml - config/routes.rb - config/webpack/loaders/sass.js - config/webpack/shared.js - package.json - yarn.lock
48 lines
968 B
Ruby
48 lines
968 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Auth::ConfirmationsController < Devise::ConfirmationsController
|
|
layout 'auth'
|
|
|
|
before_action :set_body_classes
|
|
before_action :set_user, only: [:finish_signup]
|
|
before_action :set_pack
|
|
|
|
def finish_signup
|
|
return unless request.patch? && params[:user]
|
|
|
|
if @user.update(user_params)
|
|
@user.skip_reconfirmation!
|
|
bypass_sign_in(@user)
|
|
redirect_to root_path, notice: I18n.t('devise.confirmations.send_instructions')
|
|
else
|
|
@show_errors = true
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def set_pack
|
|
use_pack 'auth'
|
|
end
|
|
|
|
def set_user
|
|
@user = current_user
|
|
end
|
|
|
|
def set_body_classes
|
|
@body_classes = 'lighter'
|
|
end
|
|
|
|
def user_params
|
|
params.require(:user).permit(:email)
|
|
end
|
|
|
|
def after_confirmation_path_for(_resource_name, user)
|
|
if user.created_by_application && truthy_param?(:redirect_to_app)
|
|
user.created_by_application.redirect_uri
|
|
else
|
|
super
|
|
end
|
|
end
|
|
end
|