summaryrefslogtreecommitdiff
path: root/app/controllers/profiles/emails_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/profiles/emails_controller.rb')
-rw-r--r--app/controllers/profiles/emails_controller.rb14
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