diff --git a/app/controllers/manager/users_controller.rb b/app/controllers/manager/users_controller.rb index 4afabcdc5..86113022d 100644 --- a/app/controllers/manager/users_controller.rb +++ b/app/controllers/manager/users_controller.rb @@ -30,6 +30,13 @@ module Manager redirect_to manager_user_path(user) end + def resend_reset_password_instructions + user = User.find(params[:id]) + user.send_reset_password_instructions + flash[:notice] = "L'email de réinitialisation du mot de passe a été renvoyé." + redirect_to manager_user_path(user) + end + def enable_feature user = User.find(params[:id]) diff --git a/app/views/devise_mailer/reset_password_instructions.html.haml b/app/views/devise_mailer/reset_password_instructions.html.haml index c4cfd37aa..bf6a82e5f 100644 --- a/app/views/devise_mailer/reset_password_instructions.html.haml +++ b/app/views/devise_mailer/reset_password_instructions.html.haml @@ -5,6 +5,8 @@ = round_button 'Changer mon mot de passe', edit_password_url(@resource, reset_password_token: @token), :primary +%p Cet email invalide les emails similaires que vous avez pu demander précédemment. + %p Si vous n’avez pas effectué une telle demande, merci d’ignorer cet email. Votre mot de passe ne sera pas changé. diff --git a/app/views/layouts/_header.haml b/app/views/layouts/_header.haml index 36f6d00cd..e7916f90e 100644 --- a/app/views/layouts/_header.haml +++ b/app/views/layouts/_header.haml @@ -72,7 +72,7 @@ = render partial: 'layouts/search_dossiers_form', locals: { search_endpoint: recherche_dossiers_path } - has_header = [is_instructeur_context, is_expert_context, is_user_context] - #burger-menu.fr-header__menu.fr-modal{ "aria-labelledby" => "burger_button" } + #burger-menu.fr-header__menu.fr-modal{ "aria-label" => t('layouts.header.label_modal') } .fr-container %button#burger_button.fr-btn--close.fr-btn{ "aria-controls" => "burger-menu", :title => t('close_modal', scope: [:layouts, :header]) }= t('close_modal', scope: [:layouts, :header]) .fr-header__menu-links diff --git a/app/views/manager/users/emails.html.erb b/app/views/manager/users/emails.html.erb index 44b9cdb3e..b9f003cca 100644 --- a/app/views/manager/users/emails.html.erb +++ b/app/views/manager/users/emails.html.erb @@ -108,6 +108,11 @@ https://www.demarches-simplifiees.fr/users/password/new Cordialement <% end %> + + +

Mot de passe perdu ? Vous pouvez <%= link_to('renvoyer l’email de réinitialisation', [:resend_reset_password_instructions, namespace, :user], method: :post, class: 'button') %> + Attention au téléscopage: cet email invalide les liens des emails similaires précédents.

+

Compte bloqué chez Sendinblue ? Vous pouvez le <%= link_to('débloquer', manager_user_unblock_email_path(@user), method: :put, class: 'button') %> diff --git a/config/routes.rb b/config/routes.rb index 0bbe21ec2..e295e8179 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -41,6 +41,7 @@ Rails.application.routes.draw do resources :users, only: [:index, :show, :edit, :update] do delete 'delete', on: :member post 'resend_confirmation_instructions', on: :member + post 'resend_reset_password_instructions', on: :member put 'enable_feature', on: :member get 'emails', on: :member put 'unblock_email'