Class: Manage::CampaignsController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/chaskiq/manage/campaigns_controller.rb

Instance Method Summary collapse

Instance Method Details

#cloneObject



83
84
85
86
87
88
89
90
91
92
93
# File 'app/controllers/chaskiq/manage/campaigns_controller.rb', line 83

def clone
  find_campaign
  new_campaign = @campaign.clone_newsletter
  if new_campaign.save
    flash[:notice] = "cloned"
    redirect_to manage_campaign_path(new_campaign)
  else
    flash[:error] = "whoops!"
    redirect_to manage_campaign_path(@campaign)
  end
end

#createObject



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'app/controllers/chaskiq/manage/campaigns_controller.rb', line 23

def create

  @campaign = Chaskiq::Campaign.new
  @campaign.step = 1

  @campaign.assign_attributes(resource_params)

  if @campaign.save && @campaign.errors.blank?
    redirect_to manage_campaign_wizard_path(@campaign, "setup")
  else
    render "new"
  end
end

#deliverObject



76
77
78
79
80
81
# File 'app/controllers/chaskiq/manage/campaigns_controller.rb', line 76

def deliver
  find_campaign
  @campaign.send_newsletter
  flash[:notice] = "newsletter sended"
  redirect_to manage_campaigns_path()
end

#destroyObject



102
103
104
105
106
107
108
# File 'app/controllers/chaskiq/manage/campaigns_controller.rb', line 102

def destroy
  find_campaign
  if @campaign.destroy
    flash[:notice] = "the campaign was removed"
  end
  redirect_to manage_campaigns_path 
end

#editorObject



64
65
66
67
# File 'app/controllers/chaskiq/manage/campaigns_controller.rb', line 64

def editor
  find_campaign
  render "editor_frame", layout: false
end

#iframeObject



59
60
61
62
# File 'app/controllers/chaskiq/manage/campaigns_controller.rb', line 59

def iframe
  find_campaign
  render layout: false
end

#indexObject



11
12
13
14
15
16
17
# File 'app/controllers/chaskiq/manage/campaigns_controller.rb', line 11

def index
  @q = Chaskiq::Campaign.ransack(params[:q])
  @campaigns = @q.result
  .order("updated_at desc")
  .page(params[:page])
  .per(8)
end

#newObject



19
20
21
# File 'app/controllers/chaskiq/manage/campaigns_controller.rb', line 19

def new
  @campaign = Chaskiq::Campaign.new
end

#premailer_previewObject



54
55
56
57
# File 'app/controllers/chaskiq/manage/campaigns_controller.rb', line 54

def premailer_preview
  find_campaign
  render layout: false
end

#previewObject



48
49
50
51
52
# File 'app/controllers/chaskiq/manage/campaigns_controller.rb', line 48

def preview
  find_campaign
  @campaign.apply_premailer(exclude_gif: true)
  render layout: false
end

#purgeObject



95
96
97
98
99
100
# File 'app/controllers/chaskiq/manage/campaigns_controller.rb', line 95

def purge
  find_campaign
  @campaign.purge_metrics
  flash[:notice] = "cleaned data!"
  redirect_to manage_campaign_path(@campaign)
end

#showObject



37
38
39
40
41
42
43
44
45
46
# File 'app/controllers/chaskiq/manage/campaigns_controller.rb', line 37

def show
  find_campaign
  @metrics = @campaign.metrics.order("chaskiq_metrics.created_at desc")
  @q = @metrics.ransack(params[:q])
  @metrics = @q.result
  .includes(:trackable)
  .order("chaskiq_metrics.created_at desc")
  .page(params[:page])
  .per(8)
end

#testObject



69
70
71
72
73
74
# File 'app/controllers/chaskiq/manage/campaigns_controller.rb', line 69

def test
  find_campaign
  @campaign.test_newsletter
  flash[:notice] = "test sended"
  redirect_to manage_campaigns_path()
end