adds email verification
This commit is contained in:
31
app/controllers/verification/email_controller.rb
Normal file
31
app/controllers/verification/email_controller.rb
Normal file
@@ -0,0 +1,31 @@
|
||||
class Verification::EmailController < ApplicationController
|
||||
before_action :authenticate_user!
|
||||
before_action :set_verified_user
|
||||
skip_authorization_check
|
||||
|
||||
def show
|
||||
if Email.find(current_user, params[:email_verification_token])
|
||||
current_user.update(verified_at: Time.now)
|
||||
redirect_to account_path, notice: t('verification.email.show.flash.success')
|
||||
else
|
||||
redirect_to verified_user_path, alert: t('verification.email.show.alert.failure')
|
||||
end
|
||||
end
|
||||
|
||||
def create
|
||||
@email = Email.new(@verified_user)
|
||||
if @email.save
|
||||
current_user.reload
|
||||
Mailer.email_verification(current_user, @email.recipient, @email.encrypted_token).deliver_now
|
||||
redirect_to account_path, notice: t('verification.email.create.flash.success', email: @verified_user.email)
|
||||
else
|
||||
redirect_to verified_user_path, alert: t('verification.email.create.alert.failure')
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_verified_user
|
||||
@verified_user = VerifiedUser.by_user(current_user).by_email(params[:recipient]).first
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user