diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-01-05 09:13:32 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-01-05 09:13:32 +0300 |
commit | 791054a0a5e6eee972b0206958a5c00fc30b4761 (patch) | |
tree | b9faa84b036fc7017f6f026c6049ae4a619cec9c /app/models/concerns/forced_email_confirmation.rb | |
parent | 3d38e524f16b62e07abeb22d3baca43a489279ad (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models/concerns/forced_email_confirmation.rb')
-rw-r--r-- | app/models/concerns/forced_email_confirmation.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/app/models/concerns/forced_email_confirmation.rb b/app/models/concerns/forced_email_confirmation.rb new file mode 100644 index 00000000000..649400184e5 --- /dev/null +++ b/app/models/concerns/forced_email_confirmation.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module ForcedEmailConfirmation + extend ActiveSupport::Concern + + included do + attr_accessor :skip_confirmation_period_expiry_check + end + + def force_confirm(args = {}) + self.skip_confirmation_period_expiry_check = true + confirm(args) + ensure + self.skip_confirmation_period_expiry_check = nil + end + + protected + + # Override, from Devise::Models::Confirmable + # Link: https://github.com/heartcombo/devise/blob/main/lib/devise/models/confirmable.rb + def confirmation_period_expired? + return false if skip_confirmation_period_expiry_check + + super + end +end |