diff options
author | Shuhei Kitagawa <shuheiktgw@users.noreply.github.com> | 2018-05-06 17:59:03 +0900 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2018-05-06 10:59:03 +0200 |
commit | bd10a7e48076c913a652c347b0477496be8813fa (patch) | |
tree | 5d78c7bbbdb75883ac327d22d68488e6b415f5c9 /app/controllers/admin/confirmations_controller.rb | |
parent | 8c35d163a5c50eeb30220141036dac0c5dad295c (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.rb | 19 |
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 |