diff --git a/app/models/usuarie.rb b/app/models/usuarie.rb index 9b9fd4e6..0dcf917d 100644 --- a/app/models/usuarie.rb +++ b/app/models/usuarie.rb @@ -12,6 +12,7 @@ class Usuarie < ApplicationRecord validates_with EmailAddress::ActiveRecordValidator, field: :email before_create :lang_from_locale! + before_update :accept_invitation_after_confirmation! has_many :roles has_many :sites, through: :roles @@ -54,4 +55,13 @@ class Usuarie < ApplicationRecord def lang_from_locale! self.lang = I18n.locale.to_s end + + # Si le usuarie (re)confirma su cuenta con una invitación pendiente, + # considerarla aceptada también. + def accept_invitation_after_confirmation! + if confirmed? + self.invitation_token = nil + self.invitation_accepted_at ||= Time.now.utc + end + end end