The code powering m.abunchtell.com https://m.abunchtell.com
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 

82 linhas
2.1 KiB

  1. # frozen_string_literal: true
  2. module Admin
  3. class CustomEmojisController < BaseController
  4. before_action :set_custom_emoji, except: [:index, :new, :create]
  5. def index
  6. @custom_emojis = filtered_custom_emojis.eager_load(:local_counterpart).page(params[:page])
  7. end
  8. def new
  9. @custom_emoji = CustomEmoji.new
  10. end
  11. def create
  12. @custom_emoji = CustomEmoji.new(resource_params)
  13. if @custom_emoji.save
  14. redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.created_msg')
  15. else
  16. render :new
  17. end
  18. end
  19. def update
  20. if @custom_emoji.update(resource_params)
  21. redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.updated_msg')
  22. else
  23. redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.update_failed_msg')
  24. end
  25. end
  26. def destroy
  27. @custom_emoji.destroy
  28. redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.destroyed_msg')
  29. end
  30. def copy
  31. emoji = CustomEmoji.find_or_create_by(domain: nil, shortcode: @custom_emoji.shortcode)
  32. if emoji.update(image: @custom_emoji.image)
  33. flash[:notice] = I18n.t('admin.custom_emojis.copied_msg')
  34. else
  35. flash[:alert] = I18n.t('admin.custom_emojis.copy_failed_msg')
  36. end
  37. redirect_to admin_custom_emojis_path(page: params[:page])
  38. end
  39. def enable
  40. @custom_emoji.update!(disabled: false)
  41. redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.enabled_msg')
  42. end
  43. def disable
  44. @custom_emoji.update!(disabled: true)
  45. redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.disabled_msg')
  46. end
  47. private
  48. def set_custom_emoji
  49. @custom_emoji = CustomEmoji.find(params[:id])
  50. end
  51. def resource_params
  52. params.require(:custom_emoji).permit(:shortcode, :image, :visible_in_picker)
  53. end
  54. def filtered_custom_emojis
  55. CustomEmojiFilter.new(filter_params).results
  56. end
  57. def filter_params
  58. params.permit(
  59. :local,
  60. :remote
  61. )
  62. end
  63. end
  64. end