summaryrefslogtreecommitdiff
path: root/app/controllers
diff options
context:
space:
mode:
authorMatija Čupić <matteeyah@gmail.com>2018-01-26 22:13:54 +0100
committerMatija Čupić <matteeyah@gmail.com>2018-01-26 23:24:26 +0100
commitc4667f87037150a408da5c133e573714807e17b3 (patch)
treef23d797d22f450d2f0e08acafa504dde945a2da4 /app/controllers
parent0dab083702ff4364bc25ea29812a4305c58e5a4f (diff)
downloadgitlab-ce-c4667f87037150a408da5c133e573714807e17b3.tar.gz
Implement Callouts controller
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/callouts_controller.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/app/controllers/callouts_controller.rb b/app/controllers/callouts_controller.rb
new file mode 100644
index 00000000000..a7bccfcce78
--- /dev/null
+++ b/app/controllers/callouts_controller.rb
@@ -0,0 +1,27 @@
+class CalloutsController < ApplicationController
+ before_action :callout, only: [:dismiss]
+
+ def dismiss
+ respond_to do |format|
+ format.json do
+ if @callout
+ @callout.update(dismissed_state: true)
+ else
+ Callout.create(feature_name: callout_param, dismissed_state: true, user: current_user)
+ end
+
+ head :ok
+ end
+ end
+ end
+
+ private
+
+ def callout
+ @callout = Callout.find_by(user: current_user, feature_name: callout_param)
+ end
+
+ def callout_param
+ params.require(:feature_name)
+ end
+end