Sha256: bf3aaf98d729780d8c15e07325862ac9f7d8cbc94b8a536dda04e7e3cc8ef1ad

Contents?: true

Size: 1.84 KB

Versions: 35

Compression:

Stored size: 1.84 KB

Contents

module Admin
  class SimpleUserNotifiersController < AdminController
    include PgEngine::Resource

    self.clase_modelo = SimpleUserNotifier

    def column_options_for(object, attribute)
      case attribute
      when :message
        { class: 'column-truncate-30', title: object.send(attribute).to_s }
      else
        super
      end
    end

    # rubocop:disable Metrics/MethodLength
    def create
      @simple_user_notifier = SimpleUserNotifier.new(modelo_params)
      # @simple_user_notifier.message.save!
      unless @simple_user_notifier.valid?
        render :new, status: :unprocessable_entity
        return
      end
      json_params_for_event = {
        message: @simple_user_notifier.message,
        tooltip: @simple_user_notifier.tooltip
      }
      notifier = SimpleUserNotifier.with(json_params_for_event)

      case @simple_user_notifier.target
      when 'todos'
        notifier.deliver(User.all)
      when 'devs'
        notifier.deliver(User.where(developer: true))
      when 'user_ids'
        notifier.deliver(User.where(email: @simple_user_notifier.user_ids.split(',')))
      else
        # :nocov:
        'shouldnt happen'
        # :nocov:
      end

      redirect_to admin_simple_user_notifiers_path
    rescue StandardError => e
      # :nocov:
      flash.now[:alert] = e.to_s
      # @simple_user_notifier = @simple_user_notifier.decorate
      render :new, status: :unprocessable_entity
      # :nocov:
    end
    # rubocop:enable Metrics/MethodLength

    private

    def atributos_permitidos
      %i[
        type message tooltip record_type record_id target subject
        user_ids message_text
      ]
    end

    def atributos_para_buscar
      %i[]
    end

    def atributos_para_listar
      %i[message tooltip created_at notifications_count]
    end

    def atributos_para_mostrar
      %i[tooltip]
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
pg_rails-7.6.35 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.34 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.33 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.32 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.31 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.30 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.29 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.28 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.27 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.26 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.25 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.24 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.24.pre.5 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.24.pre.4 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.24.pre.3 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.23 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.22 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.22.pre.3 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.22.pre.2 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb
pg_rails-7.6.22.pre.1 pg_engine/app/controllers/admin/simple_user_notifiers_controller.rb