about summary refs log tree commit diff
path: root/app/controllers/admin/tags_controller.rb
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2018-12-09 16:38:09 +0100
committerGitHub <noreply@github.com>2018-12-09 16:38:09 +0100
commitc6b7b984891413cb1db673df2cbea12f8e6f0f05 (patch)
tree46e3982da219f7a5ac34c3aecaf32f0990578d1d /app/controllers/admin/tags_controller.rb
parente3682c9c1750e5e7e5d2f817e29f6760a18400ca (diff)
parent4f59d1efd786c08cc63e0c14dceada80c37ab8da (diff)
Merge pull request #849 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/controllers/admin/tags_controller.rb')
-rw-r--r--app/controllers/admin/tags_controller.rb44
1 files changed, 44 insertions, 0 deletions
diff --git a/app/controllers/admin/tags_controller.rb b/app/controllers/admin/tags_controller.rb
new file mode 100644
index 000000000..3f2256566
--- /dev/null
+++ b/app/controllers/admin/tags_controller.rb
@@ -0,0 +1,44 @@
+# frozen_string_literal: true
+
+module Admin
+  class TagsController < BaseController
+    before_action :set_tags, only: :index
+    before_action :set_tag, except: :index
+    before_action :set_filter_params
+
+    def index
+      authorize :tag, :index?
+    end
+
+    def hide
+      authorize @tag, :hide?
+      @tag.account_tag_stat.update!(hidden: true)
+      redirect_to admin_tags_path(@filter_params)
+    end
+
+    def unhide
+      authorize @tag, :unhide?
+      @tag.account_tag_stat.update!(hidden: true)
+      redirect_to admin_tags_path(@filter_params)
+    end
+
+    private
+
+    def set_tags
+      @tags = Tag.discoverable
+      @tags.merge!(Tag.hidden) if filter_params[:hidden]
+    end
+
+    def set_tag
+      @tag = Tag.find(params[:id])
+    end
+
+    def set_filter_params
+      @filter_params = filter_params.to_hash.symbolize_keys
+    end
+
+    def filter_params
+      params.permit(:hidden)
+    end
+  end
+end