#3928 administrator new & edit pwd pages
This commit is contained in:
parent
220b38ad2a
commit
8d3e3baabc
32 changed files with 187 additions and 77 deletions
|
@ -1,5 +1,3 @@
|
|||
require 'zxcvbn'
|
||||
|
||||
class Administrateurs::ActivateController < ApplicationController
|
||||
include TrustedDeviceConcern
|
||||
|
||||
|
@ -34,10 +32,6 @@ class Administrateurs::ActivateController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def test_password_strength
|
||||
@score = Zxcvbn.test(params[:administrateur][:password], [], ZXCVBN_DICTIONNARIES).score
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def update_administrateur_params
|
||||
|
|
69
app/controllers/administrateurs/passwords_controller.rb
Normal file
69
app/controllers/administrateurs/passwords_controller.rb
Normal file
|
@ -0,0 +1,69 @@
|
|||
class Administrateurs::PasswordsController < Devise::PasswordsController
|
||||
after_action :try_to_authenticate_user, only: [:update]
|
||||
after_action :try_to_authenticate_gestionnaire, only: [:update]
|
||||
|
||||
# GET /resource/password/new
|
||||
# def new
|
||||
# super
|
||||
# end
|
||||
|
||||
# POST /resource/password
|
||||
# def create
|
||||
# super
|
||||
# end
|
||||
|
||||
# GET /resource/password/edit?reset_password_token=abcdef
|
||||
# def edit
|
||||
# super
|
||||
# end
|
||||
|
||||
# PUT /resource/password
|
||||
# def update
|
||||
# # params[:user][:password_confirmation] = params[:user][:password]
|
||||
# super
|
||||
# end
|
||||
|
||||
# protected
|
||||
|
||||
# def after_resetting_password_path_for(resource)
|
||||
# super(resource)
|
||||
# end
|
||||
|
||||
# The path used after sending reset password instructions
|
||||
# def after_sending_reset_password_instructions_path_for(resource_name)
|
||||
# super(resource_name)
|
||||
# end
|
||||
|
||||
def try_to_authenticate_user
|
||||
if administrateur_signed_in?
|
||||
user = User.find_by(email: current_administrateur.email)
|
||||
|
||||
if user
|
||||
sign_in user
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def try_to_authenticate_gestionnaire
|
||||
if administrateur_signed_in?
|
||||
gestionnaire = Gestionnaire.find_by(email: current_administrateur.email)
|
||||
|
||||
if gestionnaire
|
||||
sign_in gestionnaire
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_strength
|
||||
@score, @words, @length = ZxcvbnService.new(password_params[:password]).complexity
|
||||
@min_length = PASSWORD_MIN_LENGTH
|
||||
@min_complexity = PASSWORD_COMPLEXITY_FOR_ADMIN
|
||||
render 'shared/password/test_strength'
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def password_params
|
||||
params.require(:administrateur).permit(:reset_password_token, :password)
|
||||
end
|
||||
end
|
|
@ -14,10 +14,10 @@ class Users::PasswordsController < Devise::PasswordsController
|
|||
if Administrateur.find_by(email: email)
|
||||
@devise_mapping = Devise.mappings[:administrateur]
|
||||
params[:administrateur] = params[:user]
|
||||
# uncomment to check password complexity for Gestionnaire
|
||||
# elsif Gestionnaire.find_by(email: email)
|
||||
# @devise_mapping = Devise.mappings[:gestionnaire]
|
||||
# params[:gestionnaire] = params[:user]
|
||||
# uncomment to check password complexity for Gestionnaire
|
||||
# elsif Gestionnaire.find_by(email: email)
|
||||
# @devise_mapping = Devise.mappings[:gestionnaire]
|
||||
# params[:gestionnaire] = params[:user]
|
||||
end
|
||||
super
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue