Sha256: 9fc25e5b33b694514a33b0fd7457fa6f6c6e50c3026553284f5a2216b46ac16a

Contents?: true

Size: 1.08 KB

Versions: 10

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

module Nuntius
  class CampaignsTable < Nuntius::ApplicationTable
    definition do
      model Nuntius::Campaign

      column(:name)
      column(:metadata) do
        render do
          html do |template|
            Nuntius.config.metadata_humanize(template.metadata)
          end
        end
      end
      column(:transport)
      column(:state)

      column(:list_name) do
        attribute "nuntius_lists.name"
      end

      action :publish do
        # FIXME: next unless campaign.can_publish?
        show ->(campaign) { campaign.transport != "sms" && campaign.can_publish? }
        link { |campaign| campaign.can_publish? ? nuntius.publish_admin_campaign_path(campaign) : nil }
        icon "fa-regular fa-paper-plane"
        link_attributes data: {"turbo-confirm": "Are you sure you want to send out this campaign?", "turbo-method": :post}
      end

      order name: :asc

      link { |campaign| nuntius.edit_admin_campaign_path(campaign) }
    end

    private

    def scope
      @scope = Nuntius::Campaign.visible.joins(:list)
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
nuntius-1.3.18 app/tables/nuntius/campaigns_table.rb
nuntius-1.3.17 app/tables/nuntius/campaigns_table.rb
nuntius-1.3.16 app/tables/nuntius/campaigns_table.rb
nuntius-1.3.15 app/tables/nuntius/campaigns_table.rb
nuntius-1.3.14 app/tables/nuntius/campaigns_table.rb
nuntius-1.3.13 app/tables/nuntius/campaigns_table.rb
nuntius-1.3.12 app/tables/nuntius/campaigns_table.rb
nuntius-1.3.11 app/tables/nuntius/campaigns_table.rb
nuntius-1.3.10 app/tables/nuntius/campaigns_table.rb
nuntius-1.3.9 app/tables/nuntius/campaigns_table.rb