summaryrefslogtreecommitdiffstats
path: root/app/controllers/admin/confirmations_controller.rb
diff options
context:
space:
mode:
authorShuhei Kitagawa <shuheiktgw@users.noreply.github.com>2018-05-06 17:59:03 +0900
committerEugen Rochko <eugen@zeonfederated.com>2018-05-06 10:59:03 +0200
commitbd10a7e48076c913a652c347b0477496be8813fa (patch)
tree5d78c7bbbdb75883ac327d22d68488e6b415f5c9 /app/controllers/admin/confirmations_controller.rb
parent8c35d163a5c50eeb30220141036dac0c5dad295c (diff)
Add resend confirmation for admin (#7378)
* Add confirmations_controller#resend * Add tests for confirmations_controller#resend * Add translations
Diffstat (limited to 'app/controllers/admin/confirmations_controller.rb')
-rw-r--r--app/controllers/admin/confirmations_controller.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/app/controllers/admin/confirmations_controller.rb b/app/controllers/admin/confirmations_controller.rb
index 34dfb458ec8..8d3477e6602 100644
--- a/app/controllers/admin/confirmations_controller.rb
+++ b/app/controllers/admin/confirmations_controller.rb
@@ -3,6 +3,7 @@
module Admin
class ConfirmationsController < BaseController
before_action :set_user
+ before_action :check_confirmation, only: [:resend]
def create
authorize @user, :confirm?
@@ -11,10 +12,28 @@ module Admin
redirect_to admin_accounts_path
end
+ def resend
+ authorize @user, :confirm?
+
+ @user.resend_confirmation_instructions
+
+ log_action :confirm, @user
+
+ flash[:notice] = I18n.t('admin.accounts.resend_confirmation.success')
+ redirect_to admin_accounts_path
+ end
+
private
def set_user
@user = Account.find(params[:account_id]).user || raise(ActiveRecord::RecordNotFound)
end
+
+ def check_confirmation
+ if @user.confirmed?
+ flash[:error] = I18n.t('admin.accounts.resend_confirmation.already_confirmed')
+ redirect_to admin_accounts_path
+ end
+ end
end
end