summaryrefslogtreecommitdiff
path: root/app/controllers/concerns/gitlab_recaptcha.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/concerns/gitlab_recaptcha.rb')
-rw-r--r--app/controllers/concerns/gitlab_recaptcha.rb22
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