Class: Manage::MessagesController
Instance Method Summary
collapse
#limit_admin_access, #logged_in
Instance Method Details
#create ⇒ Object
26
27
28
29
30
|
# File 'app/controllers/manage/messages_controller.rb', line 26
def create
@message = Message.new(message_params)
@message.save
respond_with(:manage, @message)
end
|
#datatable ⇒ Object
10
11
12
|
# File 'app/controllers/manage/messages_controller.rb', line 10
def datatable
render json: BulkMessageDatatable.new(view_context)
end
|
#deliver ⇒ Object
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# File 'app/controllers/manage/messages_controller.rb', line 42
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
37
38
39
40
|
# File 'app/controllers/manage/messages_controller.rb', line 37
def destroy
@message.destroy
respond_with(:manage, @message)
end
|
#duplicate ⇒ Object
69
70
71
72
73
74
75
76
77
78
79
|
# File 'app/controllers/manage/messages_controller.rb', line 69
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
23
24
|
# File 'app/controllers/manage/messages_controller.rb', line 23
def edit
end
|
#index ⇒ Object
7
8
|
# File 'app/controllers/manage/messages_controller.rb', line 7
def index
end
|
#live_preview ⇒ Object
62
63
64
65
66
67
|
# File 'app/controllers/manage/messages_controller.rb', line 62
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
18
19
20
21
|
# File 'app/controllers/manage/messages_controller.rb', line 18
def new
@message = Message.new
respond_with(:manage, @message)
end
|
#preview ⇒ Object
57
58
59
60
|
# File 'app/controllers/manage/messages_controller.rb', line 57
def preview
email = Mailer.bulk_message_email(@message.id, current_user.id)
render html: email.body.raw_source.html_safe
end
|
#show ⇒ Object
14
15
16
|
# File 'app/controllers/manage/messages_controller.rb', line 14
def show
respond_with(:manage, @message)
end
|
#update ⇒ Object
32
33
34
35
|
# File 'app/controllers/manage/messages_controller.rb', line 32
def update
@message.update_attributes(message_params)
respond_with(:manage, @message)
end
|