smsonrails 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -0
- data/MIT-LICENSE +20 -0
- data/Manifest +101 -0
- data/README.rdoc +211 -0
- data/Rakefile +109 -0
- data/app/controllers/admin/sms_on_rails/base_controller.rb +11 -0
- data/app/controllers/admin/sms_on_rails/drafts_controller.rb +75 -0
- data/app/controllers/admin/sms_on_rails/outbounds_controller.rb +117 -0
- data/app/controllers/admin/sms_on_rails/phone_carriers_controller.rb +85 -0
- data/app/controllers/admin/sms_on_rails/phone_numbers_controller.rb +101 -0
- data/app/controllers/sms_on_rails/creation_support.rb +99 -0
- data/app/controllers/sms_on_rails_controller.rb +14 -0
- data/app/helpers/admin/sms_on_rails/drafts_helper.rb +2 -0
- data/app/helpers/admin/sms_on_rails/phone_carriers_helper.rb +2 -0
- data/app/helpers/sms_on_rails/phone_numbers_helper.rb +9 -0
- data/app/helpers/sms_on_rails/sms_helper.rb +44 -0
- data/app/models/sms_on_rails/draft.rb +9 -0
- data/app/models/sms_on_rails/outbound.rb +17 -0
- data/app/models/sms_on_rails/phone_carrier.rb +14 -0
- data/app/models/sms_on_rails/phone_number.rb +8 -0
- data/app/views/admin/sms_on_rails/base/index.html.erb +5 -0
- data/app/views/admin/sms_on_rails/drafts/_show.html.erb +34 -0
- data/app/views/admin/sms_on_rails/drafts/edit.html.erb +36 -0
- data/app/views/admin/sms_on_rails/drafts/index.html.erb +32 -0
- data/app/views/admin/sms_on_rails/drafts/new.html.erb +34 -0
- data/app/views/admin/sms_on_rails/drafts/send_sms.html.erb +3 -0
- data/app/views/admin/sms_on_rails/drafts/show.html.erb +4 -0
- data/app/views/admin/sms_on_rails/outbounds/edit.html.erb +68 -0
- data/app/views/admin/sms_on_rails/outbounds/index.html.erb +37 -0
- data/app/views/admin/sms_on_rails/outbounds/new.html.erb +54 -0
- data/app/views/admin/sms_on_rails/outbounds/show.html.erb +69 -0
- data/app/views/admin/sms_on_rails/phone_carriers/edit.html.erb +24 -0
- data/app/views/admin/sms_on_rails/phone_carriers/index.html.erb +24 -0
- data/app/views/admin/sms_on_rails/phone_carriers/new.html.erb +22 -0
- data/app/views/admin/sms_on_rails/phone_carriers/show.html.erb +24 -0
- data/app/views/admin/sms_on_rails/phone_numbers/edit.html.erb +33 -0
- data/app/views/admin/sms_on_rails/phone_numbers/index.html.erb +28 -0
- data/app/views/admin/sms_on_rails/phone_numbers/new.html.erb +31 -0
- data/app/views/admin/sms_on_rails/phone_numbers/show.html.erb +32 -0
- data/app/views/layouts/sms_on_rails/basic.html.erb +26 -0
- data/app/views/sms_on_rails/_phone_carrier_form_item.html.erb +6 -0
- data/app/views/sms_on_rails/_send_sms.html.erb +33 -0
- data/app/views/sms_on_rails/index.html.erb +8 -0
- data/app/views/sms_on_rails/send_sms.html.erb +3 -0
- data/app/views/sms_on_rails/show.html.erb +29 -0
- data/config/routes.rb +19 -0
- data/db/data/fixtures/sms_phone_carriers.yml +110 -0
- data/db/migrate/sms_on_rails_carrier_tables.rb +9 -0
- data/db/migrate/sms_on_rails_model_tables.rb +48 -0
- data/db/migrate/sms_on_rails_phone_number_tables.rb +11 -0
- data/db/seed_data.rb +16 -0
- data/generators/sms_on_rails/USAGE +31 -0
- data/generators/sms_on_rails/commands/inserts.rb +63 -0
- data/generators/sms_on_rails/commands/timestamps.rb +33 -0
- data/generators/sms_on_rails/runners/add_all_models.rb +6 -0
- data/generators/sms_on_rails/runners/dependencies.rb +1 -0
- data/generators/sms_on_rails/runners/remove_all_models.rb +5 -0
- data/generators/sms_on_rails/runners/sms_on_rails_routes.rb +14 -0
- data/generators/sms_on_rails/sms_on_rails_generator.rb +255 -0
- data/generators/sms_on_rails/templates/configuration/clickatell.rb +6 -0
- data/generators/sms_on_rails/templates/configuration/email_gateway.rb +7 -0
- data/generators/sms_on_rails/templates/migrate/schema_migration.rb +15 -0
- data/generators/sms_on_rails/templates/migrate/sms_on_rails_update_phone_numbers.rb +40 -0
- data/generators/sms_on_rails/templates/phone_number_collision.rb +2 -0
- data/init.rb +3 -0
- data/install.rb +1 -0
- data/lib/sms_on_rails.rb +10 -0
- data/lib/sms_on_rails/activerecord_extensions/acts_as_deliverable.rb +92 -0
- data/lib/sms_on_rails/activerecord_extensions/acts_as_substitutable.rb +80 -0
- data/lib/sms_on_rails/activerecord_extensions/has_a_sms_service_provider.rb +101 -0
- data/lib/sms_on_rails/activerecord_extensions/lockable_record.rb +186 -0
- data/lib/sms_on_rails/all_models.rb +3 -0
- data/lib/sms_on_rails/model_support/draft.rb +178 -0
- data/lib/sms_on_rails/model_support/outbound.rb +136 -0
- data/lib/sms_on_rails/model_support/phone_carrier.rb +77 -0
- data/lib/sms_on_rails/model_support/phone_number.rb +248 -0
- data/lib/sms_on_rails/model_support/phone_number_associations.rb +13 -0
- data/lib/sms_on_rails/schema_helper.rb +51 -0
- data/lib/sms_on_rails/service_providers/base.rb +222 -0
- data/lib/sms_on_rails/service_providers/clickatell.rb +52 -0
- data/lib/sms_on_rails/service_providers/dummy.rb +19 -0
- data/lib/sms_on_rails/service_providers/email_gateway.rb +68 -0
- data/lib/sms_on_rails/service_providers/email_gateway_support/errors.rb +20 -0
- data/lib/sms_on_rails/service_providers/email_gateway_support/sms_mailer.rb +21 -0
- data/lib/sms_on_rails/service_providers/email_gateway_support/sms_mailer/sms_through_gateway.erb +6 -0
- data/lib/sms_on_rails/util/sms_error.rb +12 -0
- data/lib/smsonrails.rb +1 -0
- data/public/images/sms_on_rails/railsYoDawg.jpg +0 -0
- data/public/stylesheets/sms_on_rails.css +137 -0
- data/tasks/sms_on_rails_tasks.rake +67 -0
- data/test/active_record_extensions/delivery_and_locking_test.rb +84 -0
- data/test/models/draft_test.rb +72 -0
- data/test/models/outbound_test.rb +89 -0
- data/test/models/phone_number_test.rb +131 -0
- data/test/run.rb +19 -0
- data/test/service_providers/abstract_test_support.rb +104 -0
- data/test/service_providers/clickatell_test.rb +37 -0
- data/test/service_providers/email_gateway_test.rb +30 -0
- data/test/test_helper.rb +24 -0
- data/uninstall.rb +1 -0
- metadata +201 -0
@@ -0,0 +1,69 @@
|
|
1
|
+
<p>
|
2
|
+
<b>Id:</b>
|
3
|
+
<%= h @outbound.id %>
|
4
|
+
</p>
|
5
|
+
|
6
|
+
<p>
|
7
|
+
<b>Status:</b>
|
8
|
+
<%=h @outbound.status %>
|
9
|
+
</p>
|
10
|
+
|
11
|
+
<% if @outbound.delivered? %>
|
12
|
+
<p>
|
13
|
+
<b>Message</b>
|
14
|
+
<%=h @outbound.actual_message %>
|
15
|
+
</p>
|
16
|
+
<% end %>
|
17
|
+
|
18
|
+
<p>
|
19
|
+
<b>Notes:</b>
|
20
|
+
<%=h @outbound.notes %>
|
21
|
+
</p>
|
22
|
+
|
23
|
+
<p>
|
24
|
+
<b>Procesed on:</b>
|
25
|
+
<%=h @outbound.processed_on %>
|
26
|
+
</p>
|
27
|
+
|
28
|
+
<p>
|
29
|
+
<b>Sms service provider:</b>
|
30
|
+
<%=h @outbound.sms_service_provider.human_name if @outbound.sms_service_provider %>
|
31
|
+
</p>
|
32
|
+
|
33
|
+
<p>
|
34
|
+
<b>Created at:</b>
|
35
|
+
<%=h @outbound.created_at %>
|
36
|
+
</p>
|
37
|
+
|
38
|
+
<p>
|
39
|
+
<b>Retry count:</b>
|
40
|
+
<%=h @outbound.retry_count %>
|
41
|
+
</p>
|
42
|
+
|
43
|
+
<p>
|
44
|
+
<b>Sub status:</b>
|
45
|
+
<%=h @outbound.sub_status %>
|
46
|
+
</p>
|
47
|
+
|
48
|
+
<p>
|
49
|
+
<b>Options:</b>
|
50
|
+
<%=h @outbound.options %>
|
51
|
+
</p>
|
52
|
+
|
53
|
+
<p>
|
54
|
+
<b>Send priority:</b>
|
55
|
+
<%=h @outbound.send_priority %>
|
56
|
+
</p>
|
57
|
+
|
58
|
+
<p>
|
59
|
+
<b>Draft:</b>
|
60
|
+
<%= link_to_sms_draft(@outbound.draft) %>
|
61
|
+
</p>
|
62
|
+
|
63
|
+
<p>
|
64
|
+
<b>Phone number:</b>
|
65
|
+
<%= link_to_sms_phone_number(@outbound.phone_number) %>
|
66
|
+
</p>
|
67
|
+
|
68
|
+
<%= link_to 'Edit', edit_sms_draft_outbound_path(@outbound.draft, @outbound) %> |
|
69
|
+
<%= link_to 'Back', sms_draft_outbounds_path(@outbound.draft) %>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<h1>Editing phone carrier</h1>
|
2
|
+
|
3
|
+
<% form_for(:phone_carrier, @phone_carrier, :url => sms_phone_carrier_path(@phone_carrier), :html => {:method => :put}) do |f| %>
|
4
|
+
<%= f.error_messages %>
|
5
|
+
|
6
|
+
<p>
|
7
|
+
<%= f.label :name %><br />
|
8
|
+
<%= f.text_field :name %>
|
9
|
+
</p>
|
10
|
+
<p>
|
11
|
+
<%= f.label :email_domain %><br />
|
12
|
+
<%= f.text_field :email_domain %>
|
13
|
+
</p>
|
14
|
+
<p>
|
15
|
+
<%= f.label :options %><br />
|
16
|
+
<%= f.text_field :options %>
|
17
|
+
</p>
|
18
|
+
<p>
|
19
|
+
<%= f.submit 'Update' %>
|
20
|
+
</p>
|
21
|
+
<% end %>
|
22
|
+
|
23
|
+
<%= link_to 'Show', sms_phone_carrier_path(@phone_carrier) %> |
|
24
|
+
<%= link_to 'Back', sms_phone_carriers_path %>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<h1>SMS Phone Carriers</h1>
|
2
|
+
|
3
|
+
<table>
|
4
|
+
<tr>
|
5
|
+
<th class="short">Id</th>
|
6
|
+
<th class="long">Name</th>
|
7
|
+
<th class="long">Email domain</th>
|
8
|
+
<th>Options</th>
|
9
|
+
</tr>
|
10
|
+
|
11
|
+
<% staggered_table_rows(@phone_carriers) do |phone_carrier| %>
|
12
|
+
<td><%=h phone_carrier.id %></td>
|
13
|
+
<td><%=h phone_carrier.name %></td>
|
14
|
+
<td><%=h phone_carrier.email_domain %></td>
|
15
|
+
<td><%=h phone_carrier.options %></td>
|
16
|
+
<td><%= link_to 'Show', sms_phone_carrier_path(phone_carrier) %></td>
|
17
|
+
<td><%= link_to 'Edit', edit_sms_phone_carrier_path(phone_carrier) %></td>
|
18
|
+
<td><%= link_to 'Destroy', sms_phone_carrier_path(phone_carrier), :confirm => 'Are you sure?', :method => :delete %></td>
|
19
|
+
<% end %>
|
20
|
+
</table>
|
21
|
+
|
22
|
+
<br />
|
23
|
+
|
24
|
+
<%= link_to 'New phone carrier', new_sms_phone_carrier_path %>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<h1>New phone carrier</h1>
|
2
|
+
<% form_for(:phone_carrier, @phone_carrier, :url => sms_phone_carriers_path ) do |f| %>
|
3
|
+
<%= f.error_messages %>
|
4
|
+
|
5
|
+
<p>
|
6
|
+
<%= f.label :name %><br />
|
7
|
+
<%= f.text_field :name %>
|
8
|
+
</p>
|
9
|
+
<p>
|
10
|
+
<%= f.label :email_domain %><br />
|
11
|
+
<%= f.text_field :email_domain %>
|
12
|
+
</p>
|
13
|
+
<p>
|
14
|
+
<%= f.label :options %><br />
|
15
|
+
<%= f.text_field :options %>
|
16
|
+
</p>
|
17
|
+
<p>
|
18
|
+
<%= f.submit 'Create' %>
|
19
|
+
</p>
|
20
|
+
<% end %>
|
21
|
+
|
22
|
+
<%= link_to 'Back', sms_phone_carriers_path %>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<h1>Carrier: <%=h @phone_carrier.name %></h1>
|
2
|
+
<p>
|
3
|
+
<b>Id:</b>
|
4
|
+
<%= h @phone_carrier.id %>
|
5
|
+
</p>
|
6
|
+
|
7
|
+
<p>
|
8
|
+
<b>Name:</b>
|
9
|
+
<%=h @phone_carrier.name %>
|
10
|
+
</p>
|
11
|
+
|
12
|
+
<p>
|
13
|
+
<b>Email domain:</b>
|
14
|
+
<%=h @phone_carrier.email_domain %>
|
15
|
+
</p>
|
16
|
+
|
17
|
+
<p>
|
18
|
+
<b>Options:</b>
|
19
|
+
<%=h @phone_carrier.options %>
|
20
|
+
</p>
|
21
|
+
|
22
|
+
|
23
|
+
<%= link_to 'Edit', edit_sms_phone_carrier_path(@phone_carrier) %> |
|
24
|
+
<%= link_to 'Back', sms_phone_carriers_path %>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<h1>Editing Phone Number</h1>
|
2
|
+
|
3
|
+
<% form_for(:phone_number, @phone_number, :url => sms_phone_number_path, :html => {:method => :put}) do |f| %>
|
4
|
+
<%= f.error_messages %>
|
5
|
+
|
6
|
+
<p>
|
7
|
+
<%= f.label :number %><br />
|
8
|
+
<%= f.text_field :number, :value => @phone_number.human_display %>
|
9
|
+
</p>
|
10
|
+
<p>
|
11
|
+
<%= f.label :carrier_id, 'Phone Carrier' %><br />
|
12
|
+
<%= phone_carriers_collection_select(f) %>
|
13
|
+
</p>
|
14
|
+
<p>
|
15
|
+
<%= f.label :country_code %><br />
|
16
|
+
<%= f.text_field :country_code %>
|
17
|
+
</p>
|
18
|
+
<p>
|
19
|
+
<%= f.label :do_not_send %><br />
|
20
|
+
<%= f.select :do_not_send, ['bounce', 'abuse', 'opt out', 'other'] %>
|
21
|
+
</p>
|
22
|
+
<p>
|
23
|
+
<%= f.label :white_list %><br />
|
24
|
+
<%= f.check_box :white_list %>
|
25
|
+
</p>
|
26
|
+
|
27
|
+
<p>
|
28
|
+
<%= f.submit 'Update' %>
|
29
|
+
</p>
|
30
|
+
<% end %>
|
31
|
+
|
32
|
+
<%= link_to 'Show', sms_phone_number_path(:id => @phone_number) %> |
|
33
|
+
<%= link_to 'Back', sms_phone_numbers_path %>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<h1>Phone Numbers</h1>
|
2
|
+
|
3
|
+
<table>
|
4
|
+
<tr>
|
5
|
+
<th class="short">Id</th>
|
6
|
+
<th class="long">Number</th>
|
7
|
+
<th>Carrier</th>
|
8
|
+
<th>Country code</th>
|
9
|
+
<th>Do Not Send</th>
|
10
|
+
<th>White List</th>
|
11
|
+
</tr>
|
12
|
+
|
13
|
+
<% staggered_table_rows(@phone_numbers) do |phone_number| %>
|
14
|
+
<td><%=h phone_number.id %></td>
|
15
|
+
<td><%=h phone_number.human_display %></td>
|
16
|
+
<td><%= phone_number_carrier_link(phone_number) %></td>
|
17
|
+
<td><%=h phone_number.country_code %></td>
|
18
|
+
<td><%=h phone_number.do_not_send %></td>
|
19
|
+
<td><%=h phone_number.white_list? %></td>
|
20
|
+
<td><%= link_to 'Show', sms_phone_number_path(:id => phone_number)%></td>
|
21
|
+
<td><%= link_to 'Edit', edit_sms_phone_number_path(phone_number) %></td>
|
22
|
+
<td><%= link_to 'Destroy', sms_phone_number_path(:id => phone_number), :confirm => 'Are you sure?', :method => :delete %></td>
|
23
|
+
<% end %>
|
24
|
+
</table>
|
25
|
+
|
26
|
+
<br />
|
27
|
+
|
28
|
+
<%= link_to 'New phone number', new_sms_phone_number_path %>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<h1>New Phone Number</h1>
|
2
|
+
|
3
|
+
<% form_for(:phone_number, @phone_number, :url => sms_phone_numbers_path) do |f| %>
|
4
|
+
<%= f.error_messages %>
|
5
|
+
|
6
|
+
<p>
|
7
|
+
<%= f.label :number %><br />
|
8
|
+
<%= f.text_field :number %>
|
9
|
+
</p>
|
10
|
+
<p>
|
11
|
+
<%= f.label :carrier_id, 'Phone Carrier' %><br />
|
12
|
+
<%= phone_carriers_collection_select(f) %>
|
13
|
+
</p>
|
14
|
+
<p>
|
15
|
+
<%= f.label :country_code %><br />
|
16
|
+
<%= f.text_field :country_code %>
|
17
|
+
</p>
|
18
|
+
<p>
|
19
|
+
<%= f.label :do_not_send %><br />
|
20
|
+
<%= f.select :do_not_send, ['bounce', 'abuse', 'opt_out', 'other'], :include_blank => true %>
|
21
|
+
</p>
|
22
|
+
<p>
|
23
|
+
<%= f.label :white_list %><br />
|
24
|
+
<%= f.check_box :white_list %>
|
25
|
+
</p>
|
26
|
+
<p>
|
27
|
+
<%= f.submit 'Create' %>
|
28
|
+
</p>
|
29
|
+
<% end %>
|
30
|
+
|
31
|
+
<%= link_to 'Back', sms_phone_numbers_path %>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<h1>Phone Number <%=h @phone_number.human_display %></h1>
|
2
|
+
<p>
|
3
|
+
<b>Id:</b>
|
4
|
+
<%= h @phone_number.id %>
|
5
|
+
</p>
|
6
|
+
<p>
|
7
|
+
<b>Number:</b>
|
8
|
+
<%=h @phone_number.human_display %>
|
9
|
+
</p>
|
10
|
+
|
11
|
+
<p>
|
12
|
+
<b>Carrier:</b>
|
13
|
+
<%= phone_number_carrier_link @phone_number %>
|
14
|
+
</p>
|
15
|
+
|
16
|
+
<p>
|
17
|
+
<b>Country code:</b>
|
18
|
+
<%=h @phone_number.country_code %>
|
19
|
+
</p>
|
20
|
+
|
21
|
+
<p>
|
22
|
+
<b>Do Not Send:</b>
|
23
|
+
<%=h @phone_number.do_not_send %>
|
24
|
+
</p>
|
25
|
+
|
26
|
+
<p>
|
27
|
+
<b>White List:</b>
|
28
|
+
<%=h @phone_number.white_list %>
|
29
|
+
</p>
|
30
|
+
|
31
|
+
<%= link_to 'Edit', edit_sms_phone_number_path(@phone_number) %> |
|
32
|
+
<%= link_to 'Back', sms_phone_numbers_path %>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
|
4
|
+
<!-- SMS On Rails is brought to you by snowgiraffe under the MIT License
|
5
|
+
Sms On Rails is martiniware. Buy yourself a martini if you like this software. -->
|
6
|
+
|
7
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
8
|
+
|
9
|
+
<head>
|
10
|
+
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
|
11
|
+
<title>
|
12
|
+
<% if controller.class.name =~ /^Admin/ %>
|
13
|
+
Sms On Rails Admin
|
14
|
+
<% else %>
|
15
|
+
Sms
|
16
|
+
<% end %>
|
17
|
+
</title>
|
18
|
+
<%= stylesheet_link_tag 'sms_on_rails' %>
|
19
|
+
</head>
|
20
|
+
<body>
|
21
|
+
<div class="smsOnRailsHtml">
|
22
|
+
<p class="smsFlashNotice"><%= flash[:notice] %></p>
|
23
|
+
<%= yield %>
|
24
|
+
</div>
|
25
|
+
</body>
|
26
|
+
</html>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<% form_for(:draft, @draft, :url => send_sms_form_url) do |f| %>
|
2
|
+
<%= f.error_messages %>
|
3
|
+
|
4
|
+
<p>
|
5
|
+
<%= f.label :message %><br />
|
6
|
+
<%= f.text_area :message, :rows => 4 %>
|
7
|
+
</p>
|
8
|
+
|
9
|
+
<% f.fields_for :outbounds do |outbound_form| %>
|
10
|
+
<% outbound_form.fields_for :phone_number do |phone_form| %>
|
11
|
+
<p>
|
12
|
+
<%= phone_form.label :number, 'Phone Number' %>
|
13
|
+
<%= phone_form.text_field :number, :value => (phone_form.object.human_display if phone_form.object) %>
|
14
|
+
</p>
|
15
|
+
<%= render :partial => '/sms_on_rails/phone_carrier_form_item', :locals => {:phone_form => phone_form } %>
|
16
|
+
<% end %>
|
17
|
+
|
18
|
+
<% unless outbound_form.object.new_record? %>
|
19
|
+
<%= outbound_form.check_box '_delete' %>
|
20
|
+
<%= outbound_form.label '_delete', 'Remove' %>
|
21
|
+
<% end %>
|
22
|
+
|
23
|
+
<% end %>
|
24
|
+
|
25
|
+
<p>
|
26
|
+
<%= f.label :deliver_after %><br />
|
27
|
+
<%= f.datetime_select :deliver_after, :include_blank => true %>
|
28
|
+
</p>
|
29
|
+
|
30
|
+
<p>
|
31
|
+
<%= f.submit 'Send Sms' %>
|
32
|
+
</p>
|
33
|
+
<% end %>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
|
2
|
+
<p>
|
3
|
+
<b>Message:</b>
|
4
|
+
<%=h @draft.actual_message %>
|
5
|
+
</p>
|
6
|
+
|
7
|
+
<p>
|
8
|
+
<b>Status:</b>
|
9
|
+
<%=h @draft.status %>
|
10
|
+
</p>
|
11
|
+
|
12
|
+
<p>
|
13
|
+
<b>Deliver after:</b>
|
14
|
+
<%=h @draft.deliver_after %>
|
15
|
+
</p>
|
16
|
+
|
17
|
+
<p>
|
18
|
+
<b>Delivery date:</b>
|
19
|
+
<%=h @draft.delivery_date %>
|
20
|
+
</p>
|
21
|
+
|
22
|
+
<p>
|
23
|
+
<b> Phone Numbers: </b><br>
|
24
|
+
<% @draft.outbounds.each do |outbound| %>
|
25
|
+
<%= outbound.phone_number.human_display %><br>
|
26
|
+
<% end %>
|
27
|
+
</p>
|
28
|
+
|
29
|
+
<%= link_to 'Send More SMS Messages', new_sms_path %>
|
data/config/routes.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
ActionController::Routing::Routes.draw do |map|
|
2
|
+
|
3
|
+
#Resources for sms on rails admin routes
|
4
|
+
#url: localhost:3000/admin/sms/drafts goes to the app/controllers/admin/sms_on_rails/draft_controller.rb
|
5
|
+
|
6
|
+
map.resources :sms_drafts, :new => {:send_sms => :any}, :as => 'admin/sms/drafts', :controller => 'admin/sms_on_rails/drafts' do |draft|
|
7
|
+
draft.resources :outbounds, :collection => {:deliver_sms => :any}, :controller => 'admin/sms_on_rails/outbounds'
|
8
|
+
end
|
9
|
+
|
10
|
+
map.resources :sms_drafts, :collection => {:send_sms => :any}, :as => 'admin/sms/drafts', :controller => 'admin/sms_on_rails/drafts'
|
11
|
+
|
12
|
+
map.resources :sms_phone_numbers, :as => 'admin/sms/phone_numbers', :controller => 'admin/sms_on_rails/phone_numbers'
|
13
|
+
map.resources :sms_phone_carriers, :as => 'admin/sms/phone_carriers', :controller => 'admin/sms_on_rails/phone_carriers'
|
14
|
+
|
15
|
+
map.resources :sms, :as => 'sms', :controller => 'sms_on_rails', :only => [:create, :show, :new, :index], :singular => 'sms'
|
16
|
+
|
17
|
+
map.sms_admin '/admin/sms', :controller => 'admin/sms_on_rails/base', :action => 'index'
|
18
|
+
|
19
|
+
end#end sms routeM
|
@@ -0,0 +1,110 @@
|
|
1
|
+
carrier_1:
|
2
|
+
id: "1"
|
3
|
+
name: Verizon
|
4
|
+
email_domain: "vtext.com"
|
5
|
+
|
6
|
+
carrier_2:
|
7
|
+
id: "2"
|
8
|
+
name: Alltel
|
9
|
+
email_domain: "message.alltel.com"
|
10
|
+
|
11
|
+
carrier_3:
|
12
|
+
id: "3"
|
13
|
+
name: Cingular mmode
|
14
|
+
email_domain: "mmode.com"
|
15
|
+
notes: "formerly AT&T, then Cingular, now AT&T Wireless - Original grandfathered rateplan customers"
|
16
|
+
|
17
|
+
carrier_4:
|
18
|
+
id: "4"
|
19
|
+
name: Cellular One
|
20
|
+
email_domain: "mobile.celloneusa.com"
|
21
|
+
|
22
|
+
carrier_5:
|
23
|
+
id: "5"
|
24
|
+
name: AT&T
|
25
|
+
email_domain: "txt.att.net"
|
26
|
+
|
27
|
+
carrier_6:
|
28
|
+
id: "6"
|
29
|
+
name: Nextel
|
30
|
+
email_domain: "page.nextel.com"
|
31
|
+
|
32
|
+
carrier_7:
|
33
|
+
id: "7"
|
34
|
+
name: OmnipointPCS
|
35
|
+
email_domain: "omnipointpcs.com"
|
36
|
+
|
37
|
+
carrier_8:
|
38
|
+
id: "8"
|
39
|
+
name: Qwest
|
40
|
+
email_domain: "qwestmp.com"
|
41
|
+
|
42
|
+
carrier_9:
|
43
|
+
id: "9"
|
44
|
+
name: Sprint
|
45
|
+
email_domain: "messaging.sprintpcs.com"
|
46
|
+
|
47
|
+
carrier_10:
|
48
|
+
id: "10"
|
49
|
+
name: T-Mobile
|
50
|
+
email_domain: "tmomail.net"
|
51
|
+
|
52
|
+
carrier_11:
|
53
|
+
id: "11"
|
54
|
+
name: Virgin Mobile
|
55
|
+
email_domain: "vmobl.com"
|
56
|
+
|
57
|
+
carrier_12:
|
58
|
+
id: "12"
|
59
|
+
name: US Cellular
|
60
|
+
email_domain: "email.uscc.com"
|
61
|
+
|
62
|
+
carrier_13:
|
63
|
+
id: "13"
|
64
|
+
name: Amp'd
|
65
|
+
email_domain: "ampdpix.com"
|
66
|
+
|
67
|
+
carrier_14:
|
68
|
+
id: 14
|
69
|
+
name: AT&T Formerly Cingular
|
70
|
+
email_domain: "cingularme.com"
|
71
|
+
|
72
|
+
carrier_15:
|
73
|
+
id: 15
|
74
|
+
name: AT&T Formerly Cingular MMS
|
75
|
+
email_domain: "mms.att.net"
|
76
|
+
|
77
|
+
carrier_16:
|
78
|
+
id: 16
|
79
|
+
name: Alaska Communications Systems
|
80
|
+
email_domain: "msg.acsalaska.com"
|
81
|
+
|
82
|
+
carrier_17:
|
83
|
+
id: 17
|
84
|
+
name: AT&T Enterprise Paging
|
85
|
+
email_domain: "number@page.att.net"
|
86
|
+
|
87
|
+
carrier_18:
|
88
|
+
id: 22
|
89
|
+
name: MetroPCS
|
90
|
+
email_domain: "mymetropcs.com"
|
91
|
+
|
92
|
+
carrier_19:
|
93
|
+
id: 19
|
94
|
+
name: Plateau Wireless
|
95
|
+
email_domain: "smsx.plateaugsm.com"
|
96
|
+
|
97
|
+
carrier_20:
|
98
|
+
id: 20
|
99
|
+
name: 7-11 Speakout
|
100
|
+
email_domain: "cingularme.com"
|
101
|
+
|
102
|
+
carrier_21:
|
103
|
+
id: 21
|
104
|
+
name: Cricket
|
105
|
+
email_domain: "sms.mycricket.com"
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
|
110
|
+
|