Admin interface for listing, adding and removing custom emojis (#5002)
* Admin interface for listing, adding and removing custom emojis * Only display local ones in the listmaster
parent
d43944143a
commit
09a94b575e
@ -0,0 +1,34 @@ |
|||||||
|
# frozen_string_literal: true |
||||||
|
|
||||||
|
module Admin |
||||||
|
class CustomEmojisController < BaseController |
||||||
|
def index |
||||||
|
@custom_emojis = CustomEmoji.where(uri: nil) |
||||||
|
end |
||||||
|
|
||||||
|
def new |
||||||
|
@custom_emoji = CustomEmoji.new |
||||||
|
end |
||||||
|
|
||||||
|
def create |
||||||
|
@custom_emoji = CustomEmoji.new(resource_params) |
||||||
|
|
||||||
|
if @custom_emoji.save |
||||||
|
redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.created_msg') |
||||||
|
else |
||||||
|
render :new |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
def destroy |
||||||
|
CustomEmoji.find(params[:id]).destroy |
||||||
|
redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.destroyed_msg') |
||||||
|
end |
||||||
|
|
||||||
|
private |
||||||
|
|
||||||
|
def resource_params |
||||||
|
params.require(:custom_emoji).permit(:shortcode, :image) |
||||||
|
end |
||||||
|
end |
||||||
|
end |
@ -0,0 +1,7 @@ |
|||||||
|
%tr |
||||||
|
%td |
||||||
|
= image_tag custom_emoji.image.url, class: 'emojione', alt: ":#{custom_emoji.shortcode}:" |
||||||
|
%td |
||||||
|
%samp= ":#{custom_emoji.shortcode}:" |
||||||
|
%td |
||||||
|
= table_link_to 'times', t('admin.custom_emojis.delete'), admin_custom_emoji_path(custom_emoji), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } |
@ -0,0 +1,14 @@ |
|||||||
|
- content_for :page_title do |
||||||
|
= t('admin.custom_emojis.title') |
||||||
|
|
||||||
|
.table-wrapper |
||||||
|
%table.table |
||||||
|
%thead |
||||||
|
%tr |
||||||
|
%th= t('admin.custom_emojis.emoji') |
||||||
|
%th= t('admin.custom_emojis.shortcode') |
||||||
|
%th |
||||||
|
%tbody |
||||||
|
= render @custom_emojis |
||||||
|
|
||||||
|
= link_to t('admin.custom_emojis.upload'), new_admin_custom_emoji_path, class: 'button' |
@ -0,0 +1,12 @@ |
|||||||
|
- content_for :page_title do |
||||||
|
= t('.title') |
||||||
|
|
||||||
|
= simple_form_for @custom_emoji, url: admin_custom_emojis_path do |f| |
||||||
|
= render 'shared/error_messages', object: @custom_emoji |
||||||
|
|
||||||
|
.fields-group |
||||||
|
= f.input :shortcode, placeholder: t('admin.custom_emojis.shortcode'), hint: t('admin.custom_emojis.shortcode_hint') |
||||||
|
= f.input :image, input_html: { accept: 'image/png' }, hint: t('admin.custom_emojis.image_hint') |
||||||
|
|
||||||
|
.actions |
||||||
|
= f.button :button, t('admin.custom_emojis.upload'), type: :submit |
Loading…
Reference in new issue