Sync password after login
This commit is contained in:
parent
749baedf43
commit
aa88fad777
7 changed files with 49 additions and 27 deletions
|
@ -6,7 +6,8 @@ class Administrateur < ActiveRecord::Base
|
|||
has_many :procedures
|
||||
|
||||
before_save :ensure_api_token
|
||||
after_update :sync_credentials
|
||||
|
||||
include CredentialsSyncableConcern
|
||||
|
||||
def ensure_api_token
|
||||
if api_token.nil?
|
||||
|
@ -27,10 +28,4 @@ class Administrateur < ActiveRecord::Base
|
|||
end
|
||||
end
|
||||
|
||||
def sync_credentials
|
||||
if email_changed? || encrypted_password_changed?
|
||||
return SyncCredentialsService.new(Administrateur, email_was, email, encrypted_password).change_credentials!
|
||||
end
|
||||
true
|
||||
end
|
||||
end
|
||||
|
|
19
app/models/concerns/credentials_syncable_concern.rb
Normal file
19
app/models/concerns/credentials_syncable_concern.rb
Normal file
|
@ -0,0 +1,19 @@
|
|||
module CredentialsSyncableConcern
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
included do
|
||||
after_update :sync_credentials
|
||||
end
|
||||
|
||||
def sync_credentials
|
||||
if email_changed? || encrypted_password_changed?
|
||||
return force_sync_credentials
|
||||
end
|
||||
true
|
||||
end
|
||||
|
||||
def force_sync_credentials
|
||||
SyncCredentialsService.new(self.class, email_was, email, encrypted_password).change_credentials!
|
||||
end
|
||||
|
||||
end
|
|
@ -14,7 +14,8 @@ class Gestionnaire < ActiveRecord::Base
|
|||
|
||||
after_create :build_default_preferences_list_dossier
|
||||
after_create :build_default_preferences_smart_listing_page
|
||||
after_update :sync_credentials
|
||||
|
||||
include CredentialsSyncableConcern
|
||||
|
||||
def dossiers_follow
|
||||
@dossiers_follow ||= dossiers.joins(:follows).where("follows.gestionnaire_id = #{id}")
|
||||
|
@ -119,11 +120,4 @@ class Gestionnaire < ActiveRecord::Base
|
|||
|
||||
couples.include?({table: table, column: column})
|
||||
end
|
||||
|
||||
def sync_credentials
|
||||
if email_changed? || encrypted_password_changed?
|
||||
return SyncCredentialsService.new(Gestionnaire, email_was, email, encrypted_password).change_credentials!
|
||||
end
|
||||
true
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,7 +15,8 @@ class User < ActiveRecord::Base
|
|||
|
||||
delegate :given_name, :family_name, :email_france_connect, :gender, :birthdate, :birthplace, :france_connect_particulier_id, to: :france_connect_information
|
||||
accepts_nested_attributes_for :france_connect_information
|
||||
after_update :sync_credentials
|
||||
|
||||
include CredentialsSyncableConcern
|
||||
|
||||
def self.find_for_france_connect email, siret
|
||||
user = User.find_by_email(email)
|
||||
|
@ -35,12 +36,4 @@ class User < ActiveRecord::Base
|
|||
invites.pluck(:dossier_id).include?(dossier_id.to_i)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def sync_credentials
|
||||
if email_changed? || encrypted_password_changed?
|
||||
return SyncCredentialsService.new(User, email_was, email, encrypted_password).change_credentials!
|
||||
end
|
||||
true
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue