diff options
Diffstat (limited to 'app/controllers/profiles/emails_controller.rb')
-rw-r--r-- | app/controllers/profiles/emails_controller.rb | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/app/controllers/profiles/emails_controller.rb b/app/controllers/profiles/emails_controller.rb index b5df4c9554b..0cd5a7db098 100644 --- a/app/controllers/profiles/emails_controller.rb +++ b/app/controllers/profiles/emails_controller.rb @@ -1,4 +1,7 @@ class Profiles::EmailsController < Profiles::ApplicationController + + before_action :find_email, only: [:destroy, :resend_confirmation_instructions] + def index @primary = current_user.email @emails = current_user.emails.order_id_desc @@ -14,9 +17,7 @@ class Profiles::EmailsController < Profiles::ApplicationController end def destroy - @email = current_user.emails.find(params[:id]) - - Emails::DestroyService.new(current_user, email: @email.email).execute + Emails::DestroyService.new(current_user).execute(@email) respond_to do |format| format.html { redirect_to profile_emails_url, status: 302 } @@ -25,8 +26,7 @@ class Profiles::EmailsController < Profiles::ApplicationController end def resend_confirmation_instructions - @email = current_user.emails.find(params[:id]) - if @email && Emails::ConfirmService.new(current_user, email: @email.email).execute + if Emails::ConfirmService.new(current_user).execute(@email) flash[:notice] = "Confirmation email sent to #{@email.email}" else flash[:alert] = "There was a problem sending the confirmation email" @@ -39,4 +39,8 @@ class Profiles::EmailsController < Profiles::ApplicationController def email_params params.require(:email).permit(:email) end + + def find_email + @email = current_user.emails.find(params[:id]) + end end |