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