mirror of
https://github.com/mastodon/mastodon.git
synced 2024-10-21 00:56:14 +00:00
45 lines
918 B
Ruby
45 lines
918 B
Ruby
# 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: false)
|
|
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
|