summaryrefslogtreecommitdiff
path: root/app/controllers/admin/labels_controller.rb
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-09-10 13:13:01 +0100
committerDouwe Maan <douwe@gitlab.com>2015-09-10 13:13:01 +0100
commita6997e339be703e769b32765ffbdbf722ac2aea5 (patch)
treea39e76580ffa460349f509f169cc44b1fe9d8f54 /app/controllers/admin/labels_controller.rb
parente4b30f9db3d0b2a2d3b7274d312872fe41d22104 (diff)
parentdadf6daac47badf01a7a0bac94527a4d68555db6 (diff)
downloadgitlab-ce-dashboard-titles.tar.gz
Merge branch 'master' into dashboard-titlesdashboard-titles
Diffstat (limited to 'app/controllers/admin/labels_controller.rb')
-rw-r--r--app/controllers/admin/labels_controller.rb58
1 files changed, 58 insertions, 0 deletions
diff --git a/app/controllers/admin/labels_controller.rb b/app/controllers/admin/labels_controller.rb
new file mode 100644
index 00000000000..3b070e65d0d
--- /dev/null
+++ b/app/controllers/admin/labels_controller.rb
@@ -0,0 +1,58 @@
+class Admin::LabelsController < Admin::ApplicationController
+ before_action :set_label, only: [:show, :edit, :update, :destroy]
+
+ def index
+ @labels = Label.templates.page(params[:page]).per(PER_PAGE)
+ end
+
+ def show
+ end
+
+ def new
+ @label = Label.new
+ end
+
+ def edit
+ end
+
+ def create
+ @label = Label.new(label_params)
+ @label.template = true
+
+ if @label.save
+ redirect_to admin_labels_url, notice: "Label was created"
+ else
+ render :new
+ end
+ end
+
+ def update
+ if @label.update(label_params)
+ redirect_to admin_labels_path, notice: 'label was successfully updated.'
+ else
+ render :edit
+ end
+ end
+
+ def destroy
+ @label.destroy
+ @labels = Label.templates
+
+ respond_to do |format|
+ format.html do
+ redirect_to(admin_labels_path, notice: 'Label was removed')
+ end
+ format.js
+ end
+ end
+
+ private
+
+ def set_label
+ @label = Label.find(params[:id])
+ end
+
+ def label_params
+ params[:label].permit(:title, :color)
+ end
+end