|
|
|
@ -3,6 +3,7 @@ |
|
|
|
|
module Admin |
|
|
|
|
class CustomEmojisController < BaseController |
|
|
|
|
before_action :set_custom_emoji, except: [:index, :new, :create] |
|
|
|
|
before_action :set_filter_params |
|
|
|
|
|
|
|
|
|
def index |
|
|
|
|
authorize :custom_emoji, :index? |
|
|
|
@ -32,23 +33,26 @@ module Admin |
|
|
|
|
|
|
|
|
|
if @custom_emoji.update(resource_params) |
|
|
|
|
log_action :update, @custom_emoji |
|
|
|
|
redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.updated_msg') |
|
|
|
|
flash[:notice] = I18n.t('admin.custom_emojis.updated_msg') |
|
|
|
|
else |
|
|
|
|
redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.update_failed_msg') |
|
|
|
|
flash[:alert] = I18n.t('admin.custom_emojis.update_failed_msg') |
|
|
|
|
end |
|
|
|
|
redirect_to admin_custom_emojis_path(page: params[:page], **@filter_params) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def destroy |
|
|
|
|
authorize @custom_emoji, :destroy? |
|
|
|
|
@custom_emoji.destroy! |
|
|
|
|
log_action :destroy, @custom_emoji |
|
|
|
|
redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.destroyed_msg') |
|
|
|
|
flash[:notice] = I18n.t('admin.custom_emojis.destroyed_msg') |
|
|
|
|
redirect_to admin_custom_emojis_path(page: params[:page], **@filter_params) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def copy |
|
|
|
|
authorize @custom_emoji, :copy? |
|
|
|
|
|
|
|
|
|
emoji = CustomEmoji.find_or_initialize_by(domain: nil, shortcode: @custom_emoji.shortcode) |
|
|
|
|
emoji = CustomEmoji.find_or_initialize_by(domain: nil, |
|
|
|
|
shortcode: @custom_emoji.shortcode) |
|
|
|
|
emoji.image = @custom_emoji.image |
|
|
|
|
|
|
|
|
|
if emoji.save |
|
|
|
@ -58,21 +62,23 @@ module Admin |
|
|
|
|
flash[:alert] = I18n.t('admin.custom_emojis.copy_failed_msg') |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
redirect_to admin_custom_emojis_path(page: params[:page]) |
|
|
|
|
redirect_to admin_custom_emojis_path(page: params[:page], **@filter_params) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def enable |
|
|
|
|
authorize @custom_emoji, :enable? |
|
|
|
|
@custom_emoji.update!(disabled: false) |
|
|
|
|
log_action :enable, @custom_emoji |
|
|
|
|
redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.enabled_msg') |
|
|
|
|
flash[:notice] = I18n.t('admin.custom_emojis.enabled_msg') |
|
|
|
|
redirect_to admin_custom_emojis_path(page: params[:page], **@filter_params) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def disable |
|
|
|
|
authorize @custom_emoji, :disable? |
|
|
|
|
@custom_emoji.update!(disabled: true) |
|
|
|
|
log_action :disable, @custom_emoji |
|
|
|
|
redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.disabled_msg') |
|
|
|
|
flash[:notice] = I18n.t('admin.custom_emojis.disabled_msg') |
|
|
|
|
redirect_to admin_custom_emojis_path(page: params[:page], **@filter_params) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
private |
|
|
|
@ -81,6 +87,10 @@ module Admin |
|
|
|
|
@custom_emoji = CustomEmoji.find(params[:id]) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def set_filter_params |
|
|
|
|
@filter_params = filter_params.to_hash.symbolize_keys |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def resource_params |
|
|
|
|
params.require(:custom_emoji).permit(:shortcode, :image, :visible_in_picker) |
|
|
|
|
end |
|
|
|
|