Class: Manage::MessagesController
Instance Method Summary
collapse
#json_request?, #limit_write_access_to_admins, #logged_in, #require_admin_or_limited_admin, #require_admin_or_limited_admin_or_event_tracking, #response_view_or_errors
Instance Method Details
#create ⇒ Object
29
30
31
32
33
|
# File 'app/controllers/manage/messages_controller.rb', line 29
def create
@message = Message.new(message_params)
@message.save
respond_with(:manage, @message)
end
|
#datatable ⇒ Object
11
12
13
|
# File 'app/controllers/manage/messages_controller.rb', line 11
def datatable
render json: BulkMessageDatatable.new(view_context)
end
|
#deliver ⇒ Object
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# File 'app/controllers/manage/messages_controller.rb', line 45
def deliver
if @message.automated?
flash[:notice] = "Automated messages cannot be manually delivered. Only bulk messages can."
return redirect_to manage_message_path(@message)
end
if @message.status != "drafted"
flash[:notice] = "Message cannot be re-delivered"
return redirect_to manage_messages_path
end
@message.update_attribute(:queued_at, Time.now)
BulkMessageWorker.perform_async(@message.id)
flash[:notice] = "Message queued for delivery"
redirect_to manage_message_path(@message)
end
|
#destroy ⇒ Object
40
41
42
43
|
# File 'app/controllers/manage/messages_controller.rb', line 40
def destroy
@message.destroy
respond_with(:manage, @message)
end
|
#duplicate ⇒ Object
72
73
74
75
76
77
78
79
80
81
82
|
# File 'app/controllers/manage/messages_controller.rb', line 72
def duplicate
new_message = @message.dup
new_message.update_attributes(
delivered_at: nil,
started_at: nil,
queued_at: nil,
name: "Copy of #{@message.name}"
)
new_message.save
redirect_to edit_manage_message_path(new_message.reload)
end
|
#edit ⇒ Object
26
27
|
# File 'app/controllers/manage/messages_controller.rb', line 26
def edit
end
|
#index ⇒ Object
7
8
9
|
# File 'app/controllers/manage/messages_controller.rb', line 7
def index
respond_with(:manage, Message.all)
end
|
#live_preview ⇒ Object
65
66
67
68
69
70
|
# File 'app/controllers/manage/messages_controller.rb', line 65
def live_preview
body = params[:body] || ''
message = Message.new(body: body)
email = Mailer.bulk_message_email(nil, current_user.id, message)
render html: email.body.raw_source.html_safe
end
|
#new ⇒ Object
19
20
21
22
23
24
|
# File 'app/controllers/manage/messages_controller.rb', line 19
def new
type = params[:type]
recipients = params[:recipients]
@message = Message.new(type: type, recipients: recipients)
respond_with(:manage, @message)
end
|
#preview ⇒ Object
60
61
62
63
|
# File 'app/controllers/manage/messages_controller.rb', line 60
def preview
email = Mailer.bulk_message_email(@message.id, current_user.id)
render html: email.body.raw_source.html_safe
end
|
#show ⇒ Object
15
16
17
|
# File 'app/controllers/manage/messages_controller.rb', line 15
def show
respond_with(:manage, @message)
end
|
#update ⇒ Object
35
36
37
38
|
# File 'app/controllers/manage/messages_controller.rb', line 35
def update
@message.update_attributes(message_params)
respond_with(:manage, @message)
end
|