Skip to content

Commit

Permalink
plutôt envoyer un email que de diriger directement vers la fenêtre de…
Browse files Browse the repository at this point in the history
… ré-initialisation
  • Loading branch information
etienneCharignon committed Jan 11, 2024
1 parent 1ed73db commit f9f7dfb
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 12 deletions.
23 changes: 13 additions & 10 deletions app/controllers/eva/devise/sessions_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ module Eva
module Devise
class SessionsController < ActiveAdmin::Devise::SessionsController
before_action :check_compte_confirmation, only: :create
before_action :valide_robustesse_mot_de_de_passe, only: :create

def create
self.resource = warden.authenticate!(auth_options)
assigne_message_flash resource
sign_in(resource_name, resource)
return unless est_mot_de_passe_conforme(resource)

sign_in_with_message(resource)
yield resource if block_given?
respond_with resource, location: after_sign_in_path_for(resource)
end
Expand All @@ -29,6 +29,11 @@ def connexion_espace_jeu

private

def sign_in_with_message(compte)
assigne_message_flash compte
sign_in(resource_name, compte)
end

def assigne_message_flash(resource)
if resource.confirmed?
set_flash_message!(:notice, :signed_in)
Expand All @@ -46,16 +51,14 @@ def check_compte_confirmation
redirect_to new_compte_confirmation_path unless compte.active_for_authentication?
end

def valide_robustesse_mot_de_de_passe
return unless params.key?(:compte)

compte = warden.authenticate!(auth_options)
return if succes_validation(compte, params[:compte][:password])
def est_mot_de_passe_conforme(compte)
return true if params.key?(:compte) && succes_validation(compte, params[:compte][:password])

set_flash_message!(:alert, :mot_de_passe_faible)
token = compte.send(:set_reset_password_token)
compte.send(:set_reset_password_token)
compte.send_reset_password_instructions
sign_out(compte)
redirect_to(edit_password_path(:compte, reset_password_token: token))
redirect_to new_compte_session_path and return false
end

def succes_validation(compte, pass)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<p>Bonjour <%= @resource.email %> !</p>

<p>Vous avez demandé à changer le mot de passe de votre compte eva.<br/>
<p>Vous avez oublié le mot de passe de votre compte ou celui-ci est périmé ?<br/>
Pour changer ce mot de passe, cliquez sur le lien suivant :</p>

<div class="text-center" style="margin: 2rem 0;">
Expand Down
2 changes: 1 addition & 1 deletion config/locales/activeadmin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ fr:
sessions:
compte:
signed_in_but_unconfirmed: ""
mot_de_passe_faible: Votre mot de passe est trop faible veuillez en choisir un nouveau
mot_de_passe_faible: Votre mot de passe n'est pas conforme aux nouvelles exigences de sécurité. Un mail de réinitialisation vous a été envoyé, veuillez suivre ses instructions pour définir un nouveau mot de passe. N'hésitez pas à contacter le support si vous rencontrez des difficultés.
active_admin:
recherche_structure: Rechercher ma structure
devise:
Expand Down

0 comments on commit f9f7dfb

Please sign in to comment.