diff options
Diffstat (limited to 'app/controllers/concerns/gitlab_recaptcha.rb')
-rw-r--r-- | app/controllers/concerns/gitlab_recaptcha.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/app/controllers/concerns/gitlab_recaptcha.rb b/app/controllers/concerns/gitlab_recaptcha.rb new file mode 100644 index 00000000000..15e856463ea --- /dev/null +++ b/app/controllers/concerns/gitlab_recaptcha.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module GitlabRecaptcha + extend ActiveSupport::Concern + include Recaptcha::Verify + include RecaptchaHelper + + def load_recaptcha + recaptcha_enabled? && Gitlab::Recaptcha.load_configurations! + end + + def check_recaptcha + return unless load_recaptcha + return if verify_recaptcha + + flash[:alert] = _('There was an error with the reCAPTCHA. Please solve the reCAPTCHA again.') + flash.delete :recaptcha_error + + self.resource = resource_class.new + render action: 'new' + end +end |