Как сбросить пароль пользователя с помощью токена аутентификации Devise непосредственно со страницы редактирования в Active Admin? - PullRequest
0 голосов
/ 01 февраля 2019

Я бы хотел, чтобы admin_user мог сбросить пароль пользователя с Active Admin edit_page, но в данный момент я застрял.

Моя идея состояла в том, чтобы создать кнопку action_item и запустить метод @ user.send_reset_password_instructions из deviseкамень аутентификации для объекта пользователя, который работает.Но action_item не может получить никакого уведомления: сообщение, и вот где я застрял.

Не могли бы вы помочь мне реализовать кнопку action_item, которая могла бы запускать @ user.send_reset_password_instructions, перенаправлять на ту же user_edit_page и flashУведомление об отправке успешно, без какого-либо другого представления.

action_item :reset_password,only: :edit do
  link_to "Reset password",edit_timein_employee_path
end

controller do
   def reset_password
    super do |success,failure|
    employee.send_reset_password_instructions
  end
 end
end

Большое спасибо !!

1 Ответ

0 голосов
/ 01 февраля 2019

Я бы сделал это так: обязательно вставьте это в файл app/admin/admin_user.rb.Я бы не стал добавлять методы контроллера напрямую, но использовал бы директиву member_action dsl для добавления логики.Удачи!

action_item :reset_password, :only => :edit do
 link_to 'Reset password',  do_password_reset_admin_admin_user_path(resource), :method => :post
end

member_action :do_password_reset, :method => :post do
  flash.notice = "A mail containing password reset instructions has been sent to: #{resource.email}"
  resource.send_reset_password_instructions
  redirect_to edit_admin_admin_user_path(resource) and return
end
...