Sha256: cd48e509fb40819582e160a54d995a2f6705ad26ce15fc823c3873b561098e55

Contents?: true

Size: 1 KB

Versions: 7

Compression:

Stored size: 1 KB

Contents

class Admin::EffectivePollNotificationsDatatable < Effective::Datatable
  filters do
    scope :all
    scope :started
    scope :completed
  end

  datatable do
    col :updated_at, visible: false
    col :created_at, visible: false
    col :id, visible: false

    col :poll
    col :category

    col :reminder do |poll_notification|
      case poll_notification.category
      when 'When poll starts'
        poll_notification.poll.start_at&.strftime('%F %H:%M')
      when 'When poll ends'
        poll_notification.poll.end_at&.strftime('%F %H:%M')
      when 'Upcoming reminder'
        Effective::PollNotification::UPCOMING_REMINDERS.invert[poll_notification.reminder]
      when 'Reminder'
        Effective::PollNotification::REMINDERS.invert[poll_notification.reminder]
      else
        raise('unexpected category')
      end
    end

    col :subject
    col :body

    col :started_at, visible: false
    col :completed_at

    actions_col
  end

  collection do
    Effective::PollNotification.all.deep
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
effective_polls-0.1.4 app/datatables/admin/effective_poll_notifications_datatable.rb
effective_polls-0.1.3 app/datatables/admin/effective_poll_notifications_datatable.rb
effective_polls-0.1.2 app/datatables/admin/effective_poll_notifications_datatable.rb
effective_polls-0.1.1 app/datatables/admin/effective_poll_notifications_datatable.rb
effective_polls-0.1.0 app/datatables/admin/effective_poll_notifications_datatable.rb
effective_polls-0.0.2 app/datatables/admin/effective_poll_notifications_datatable.rb
effective_polls-0.0.1 app/datatables/admin/effective_poll_notifications_datatable.rb