diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-09-10 13:13:01 +0100 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-09-10 13:13:01 +0100 |
commit | a6997e339be703e769b32765ffbdbf722ac2aea5 (patch) | |
tree | a39e76580ffa460349f509f169cc44b1fe9d8f54 /app/controllers/admin/labels_controller.rb | |
parent | e4b30f9db3d0b2a2d3b7274d312872fe41d22104 (diff) | |
parent | dadf6daac47badf01a7a0bac94527a4d68555db6 (diff) | |
download | gitlab-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.rb | 58 |
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 |