diff options
author | pluralcafe-docker <git@plural.cafe> | 2018-12-11 19:07:50 +0000 |
---|---|---|
committer | pluralcafe-docker <git@plural.cafe> | 2018-12-11 19:07:50 +0000 |
commit | 68c00c4011d62814b035ff5921822bf0bfb53d64 (patch) | |
tree | cf9e0ee2d9d76b779f41c6e7a0d1af689e0045b8 /app/controllers/admin | |
parent | 1c0b2479045015b96907eaa7567bfd14e4593424 (diff) | |
parent | c6b7b984891413cb1db673df2cbea12f8e6f0f05 (diff) |
Merge branch 'glitch'
Diffstat (limited to 'app/controllers/admin')
-rw-r--r-- | app/controllers/admin/tags_controller.rb | 44 |
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 |