open_porch 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. data/Gemfile +41 -0
  2. data/Gemfile.lock +130 -0
  3. data/README.md +170 -0
  4. data/Rakefile +19 -0
  5. data/VERSION +1 -0
  6. data/app/controllers/admin/areas/base_controller.rb +11 -0
  7. data/app/controllers/admin/areas/issues_controller.rb +67 -0
  8. data/app/controllers/admin/areas/memberships_controller.rb +7 -0
  9. data/app/controllers/admin/areas/posts_controller.rb +44 -0
  10. data/app/controllers/admin/areas_controller.rb +89 -0
  11. data/app/controllers/admin/base_controller.rb +16 -0
  12. data/app/controllers/admin/user_activity_controller.rb +29 -0
  13. data/app/controllers/admin/users_controller.rb +57 -0
  14. data/app/controllers/application_controller.rb +15 -0
  15. data/app/controllers/areas/base_controller.rb +25 -0
  16. data/app/controllers/areas/issues_controller.rb +35 -0
  17. data/app/controllers/areas/posts_controller.rb +28 -0
  18. data/app/controllers/areas_controller.rb +30 -0
  19. data/app/controllers/passwords_controller.rb +42 -0
  20. data/app/controllers/registrations_controller.rb +42 -0
  21. data/app/controllers/sessions_controller.rb +33 -0
  22. data/app/controllers/users_controller.rb +77 -0
  23. data/app/helpers/open_porch_helper.rb +24 -0
  24. data/app/mailers/user_mailer.rb +35 -0
  25. data/app/models/address.rb +57 -0
  26. data/app/models/area.rb +171 -0
  27. data/app/models/area_activity.rb +24 -0
  28. data/app/models/email_message.rb +104 -0
  29. data/app/models/issue.rb +66 -0
  30. data/app/models/issue_number.rb +22 -0
  31. data/app/models/membership.rb +27 -0
  32. data/app/models/post.rb +64 -0
  33. data/app/models/session_user.rb +69 -0
  34. data/app/models/user.rb +140 -0
  35. data/app/models/user_activity.rb +31 -0
  36. data/app/models/user_authority_check.rb +14 -0
  37. data/app/views/admin/areas/_form.html.haml +8 -0
  38. data/app/views/admin/areas/_nav.html.haml +12 -0
  39. data/app/views/admin/areas/edit.html.haml +22 -0
  40. data/app/views/admin/areas/edit_borders.html.haml +44 -0
  41. data/app/views/admin/areas/index.html.haml +61 -0
  42. data/app/views/admin/areas/issues/_post.html.haml +15 -0
  43. data/app/views/admin/areas/issues/add_posts.js.rjs +3 -0
  44. data/app/views/admin/areas/issues/edit.html.haml +37 -0
  45. data/app/views/admin/areas/issues/index.html.haml +31 -0
  46. data/app/views/admin/areas/issues/remove_posts.js.rjs +3 -0
  47. data/app/views/admin/areas/issues/show.html.haml +13 -0
  48. data/app/views/admin/areas/memberships/index.html.haml +17 -0
  49. data/app/views/admin/areas/new.html.haml +6 -0
  50. data/app/views/admin/areas/new.js.haml +4 -0
  51. data/app/views/admin/areas/posts/_edit.html.haml +6 -0
  52. data/app/views/admin/areas/posts/_post_status.html.haml +1 -0
  53. data/app/views/admin/areas/posts/destroy.js.rjs +1 -0
  54. data/app/views/admin/areas/posts/edit.js.rjs +1 -0
  55. data/app/views/admin/areas/posts/show.js.rjs +1 -0
  56. data/app/views/admin/areas/posts/toggle_reviewed_by.js.rjs +1 -0
  57. data/app/views/admin/areas/posts/update.js.rjs +5 -0
  58. data/app/views/admin/areas/show.html.haml +5 -0
  59. data/app/views/admin/user_activity/show.html.haml +5 -0
  60. data/app/views/admin/users/_form.html.haml +21 -0
  61. data/app/views/admin/users/edit.html.haml +5 -0
  62. data/app/views/admin/users/index.html.haml +31 -0
  63. data/app/views/admin/users/new.html.haml +5 -0
  64. data/app/views/areas/issues/index.html.haml +31 -0
  65. data/app/views/areas/issues/show.html.haml +22 -0
  66. data/app/views/areas/posts/_post.html.haml +8 -0
  67. data/app/views/areas/posts/_posts_search_form.html.haml +8 -0
  68. data/app/views/areas/posts/index.html.haml +27 -0
  69. data/app/views/areas/posts/new.html.haml +10 -0
  70. data/app/views/areas/show.html.haml +47 -0
  71. data/app/views/layouts/_account_nav.html.haml +18 -0
  72. data/app/views/layouts/_flash_message.html.haml +4 -0
  73. data/app/views/layouts/_footer.html.haml +9 -0
  74. data/app/views/layouts/_head.html.haml +16 -0
  75. data/app/views/layouts/admin/_nav.html.haml +13 -0
  76. data/app/views/layouts/admin.html.haml +15 -0
  77. data/app/views/layouts/application.html.haml +14 -0
  78. data/app/views/layouts/area_editor.html.haml +11 -0
  79. data/app/views/passwords/edit.html.haml +9 -0
  80. data/app/views/passwords/new.html.haml +13 -0
  81. data/app/views/registrations/_address_form.html.haml +7 -0
  82. data/app/views/registrations/create.html.haml +49 -0
  83. data/app/views/registrations/index.html.haml +30 -0
  84. data/app/views/registrations/new.html.haml +17 -0
  85. data/app/views/sessions/new.html.haml +18 -0
  86. data/app/views/stylesheets/common.sass +239 -0
  87. data/app/views/stylesheets/content.sass +193 -0
  88. data/app/views/stylesheets/reset.sass +46 -0
  89. data/app/views/stylesheets/structure.sass +11 -0
  90. data/app/views/stylesheets/typography.sass +57 -0
  91. data/app/views/user_mailer/email_verification.html.erb +5 -0
  92. data/app/views/user_mailer/email_verification.text.erb +7 -0
  93. data/app/views/user_mailer/new_issue.html.erb +32 -0
  94. data/app/views/user_mailer/new_issue.text.erb +26 -0
  95. data/app/views/user_mailer/password_reset.html.erb +7 -0
  96. data/app/views/user_mailer/password_reset.text.erb +6 -0
  97. data/app/views/users/_form.html.haml +5 -0
  98. data/app/views/users/edit.html.haml +11 -0
  99. data/app/views/users/new.html.haml +41 -0
  100. data/app/views/users/show.html.haml +30 -0
  101. data/bin/open_porch_engine +135 -0
  102. data/config/application.rb +43 -0
  103. data/config/boot.rb +13 -0
  104. data/config/database_example.yml +59 -0
  105. data/config/environment.rb +5 -0
  106. data/config/environments/development.rb +26 -0
  107. data/config/environments/production.rb +49 -0
  108. data/config/environments/test.rb +35 -0
  109. data/config/initializers/backtrace_silencers.rb +7 -0
  110. data/config/initializers/email_regex.rb +38 -0
  111. data/config/initializers/geokit_config.rb +61 -0
  112. data/config/initializers/inflections.rb +20 -0
  113. data/config/initializers/meta_search.rb +7 -0
  114. data/config/initializers/mime_types.rb +5 -0
  115. data/config/initializers/open_porch.rb +41 -0
  116. data/config/initializers/sass.rb +1 -0
  117. data/config/initializers/secret_token.rb +7 -0
  118. data/config/initializers/session_store.rb +8 -0
  119. data/config/initializers/states_provinces.rb +2 -0
  120. data/config/initializers/will_paginate.rb +2 -0
  121. data/config/locales/en.yml +5 -0
  122. data/config/open_porch_example.yml +23 -0
  123. data/config/routes.rb +54 -0
  124. data/config/schedule.rb +9 -0
  125. data/config.ru +4 -0
  126. data/db/migrate/01_create_areas.rb +21 -0
  127. data/db/migrate/02_create_users.rb +28 -0
  128. data/db/migrate/03_create_memberships.rb +14 -0
  129. data/db/migrate/04_create_posts.rb +20 -0
  130. data/db/migrate/05_create_issue_numbers.rb +13 -0
  131. data/db/migrate/06_create_issues.rb +21 -0
  132. data/db/migrate/20110204173301_add_published_to_areas.rb +10 -0
  133. data/db/migrate/20110204194840_create_user_activities.rb +13 -0
  134. data/db/migrate/20110208163604_add_zip_to_areas.rb +11 -0
  135. data/db/migrate/20110209175723_add_counters_to_areas.rb +11 -0
  136. data/db/migrate/20110209182244_remove_subject_from_issues.rb +9 -0
  137. data/db/migrate/20110209190146_add_reviewer_info_to_posts.rb +9 -0
  138. data/db/migrate/20110215173144_add_email_validation_key_to_users.rb +13 -0
  139. data/db/migrate/20110215182716_remove_published_from_areas.rb +10 -0
  140. data/db/migrate/20110215211012_create_area_activities.rb +19 -0
  141. data/db/migrate/20110215213802_create_email_messages.rb +19 -0
  142. data/db/migrate/20110217165018_change_send_mode_to_string.rb +17 -0
  143. data/db/migrate/20110223160609_denormalize_user_info_in_posts.rb +19 -0
  144. data/db/seeds.rb +7 -0
  145. data/doc/README_FOR_APP +2 -0
  146. data/lib/generators/open_porch_generator.rb +37 -0
  147. data/lib/open_porch/engine.rb +20 -0
  148. data/lib/open_porch.rb +3 -0
  149. data/lib/tasks/.gitkeep +0 -0
  150. data/lib/tasks/open_porch.rake +10 -0
  151. data/lib/tasks/postageapp_tasks.rake +78 -0
  152. data/open_porch.gemspec +335 -0
  153. data/public/404.html +26 -0
  154. data/public/422.html +26 -0
  155. data/public/500.html +26 -0
  156. data/public/favicon.ico +0 -0
  157. data/public/images/icons/ajax-loader.gif +0 -0
  158. data/public/images/icons/calendar.png +0 -0
  159. data/public/images/icons/post_new.png +0 -0
  160. data/public/images/icons/post_reviewed.png +0 -0
  161. data/public/javascripts/application.js +3 -0
  162. data/public/javascripts/google_maps.js +153 -0
  163. data/public/javascripts/highcharts.js +162 -0
  164. data/public/javascripts/highcharts_init.js +30 -0
  165. data/public/javascripts/issue_edit.js +57 -0
  166. data/public/javascripts/jquery-ui.min.js +191 -0
  167. data/public/javascripts/jquery.js +154 -0
  168. data/public/javascripts/rails.js +137 -0
  169. data/public/javascripts/region_editor.js +616 -0
  170. data/public/javascripts/user_activity.js +29 -0
  171. data/public/robots.txt +5 -0
  172. data/public/stylesheets/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  173. data/public/stylesheets/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  174. data/public/stylesheets/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  175. data/public/stylesheets/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  176. data/public/stylesheets/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  177. data/public/stylesheets/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  178. data/public/stylesheets/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  179. data/public/stylesheets/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  180. data/public/stylesheets/images/ui-icons_222222_256x240.png +0 -0
  181. data/public/stylesheets/images/ui-icons_2e83ff_256x240.png +0 -0
  182. data/public/stylesheets/images/ui-icons_454545_256x240.png +0 -0
  183. data/public/stylesheets/images/ui-icons_888888_256x240.png +0 -0
  184. data/public/stylesheets/images/ui-icons_cd0a0a_256x240.png +0 -0
  185. data/public/stylesheets/jquery-ui.css +362 -0
  186. data/script/rails +6 -0
  187. data/test/dummy/area.rb +5 -0
  188. data/test/dummy/area_activity.rb +7 -0
  189. data/test/dummy/issue.rb +4 -0
  190. data/test/dummy/membership.rb +4 -0
  191. data/test/dummy/post.rb +12 -0
  192. data/test/dummy/user.rb +29 -0
  193. data/test/dummy/user_activity.rb +11 -0
  194. data/test/functional/admin/areas/issues_controller_test.rb +48 -0
  195. data/test/functional/admin/areas/memberships_controller_test.rb +45 -0
  196. data/test/functional/admin/areas/posts_controller_test.rb +54 -0
  197. data/test/functional/admin/areas_controller_test.rb +134 -0
  198. data/test/functional/admin/base_controller_test.rb +8 -0
  199. data/test/functional/admin/user_activity_controller_test.rb +28 -0
  200. data/test/functional/admin/users_controller_test.rb +144 -0
  201. data/test/functional/areas/issues_controller_test.rb +33 -0
  202. data/test/functional/areas/posts_controller_test.rb +50 -0
  203. data/test/functional/areas_controller_test.rb +12 -0
  204. data/test/functional/passwords_controller_test.rb +64 -0
  205. data/test/functional/registrations_controller_test.rb +64 -0
  206. data/test/functional/sessions_controller_test.rb +120 -0
  207. data/test/functional/users_controller_test.rb +144 -0
  208. data/test/performance/browsing_test.rb +9 -0
  209. data/test/test_helper.rb +92 -0
  210. data/test/unit/address_test.rb +25 -0
  211. data/test/unit/area_activity_test.rb +57 -0
  212. data/test/unit/area_test.rb +92 -0
  213. data/test/unit/email_message_test.rb +8 -0
  214. data/test/unit/issue_number_test.rb +25 -0
  215. data/test/unit/issue_test.rb +154 -0
  216. data/test/unit/membership_test.rb +20 -0
  217. data/test/unit/post_test.rb +69 -0
  218. data/test/unit/session_user_test.rb +65 -0
  219. data/test/unit/user_activity_test.rb +31 -0
  220. data/test/unit/user_mailer_test.rb +20 -0
  221. data/test/unit/user_test.rb +61 -0
  222. data/vendor/plugins/.gitkeep +0 -0
  223. metadata +456 -0
@@ -0,0 +1,17 @@
1
+ = content_for :head do
2
+ = javascript_include_tag "http://maps.google.com/maps/api/js?sensor=false"
3
+ = javascript_include_tag 'google_maps'
4
+
5
+
6
+ = content_for :doc_ready do
7
+ initialize_gmap(document.getElementById("map_canvas"), #{@address.lat}, #{@address.lng});
8
+ add_marker(#{@address.lat}, #{@address.lng}, '#{@address.full}');
9
+
10
+ .columns
11
+ .left_column
12
+ %h2 Find your address on the map
13
+
14
+ = render :partial => 'address_form'
15
+
16
+ .right_column
17
+ #map_canvas{:style => 'width:260px; height:400px'}
@@ -0,0 +1,18 @@
1
+ .columns
2
+
3
+ %h1 Login
4
+
5
+ .left_column
6
+ = formatted_form_for @session_user, :url => login_path do |f|
7
+ = f.text_field :email, :label => 'Email address'
8
+ = f.password_field :password
9
+ = f.check_box :remember_me, :label => 'Remember me when I come back'
10
+ = f.submit 'Log In'
11
+
12
+ .right_column
13
+ %p
14
+ Did you forget your password?
15
+ = link_to 'Recover it here.', new_password_path
16
+ %br/
17
+ Don't have an account yet?
18
+ = link_to 'Register here.', root_path
@@ -0,0 +1,239 @@
1
+ // === Columns ========================================
2
+ .columns
3
+ overflow: hidden
4
+ background: #fff
5
+ padding: 30px 40px
6
+ .left_column
7
+ float: left
8
+ width: 560px
9
+ margin-right: 40px
10
+ .right_column
11
+ float: right
12
+ width: 280px
13
+
14
+ .columns.half
15
+ .left_column
16
+ width: 420px
17
+ .right_column
18
+ width: 420px
19
+
20
+ // === Tabs ========================================
21
+ ul.tabs
22
+ overflow: hidden
23
+ font: 14px Georgia, serif
24
+ li
25
+ float: left
26
+ margin-bottom: 0px
27
+ padding: 10px 10px
28
+ margin: 5px 5px 0px 0px
29
+ background: #9f9a9f
30
+ color: #fff
31
+ a
32
+ color: #fff
33
+ li.active
34
+ margin-top: 0px
35
+ border-top: 5px solid #00AFDB
36
+ background: #fff
37
+ color: #2D212D
38
+ a
39
+ color: #2D212D
40
+ li.right
41
+ float: right
42
+ margin: 5px 0px 0px 5px
43
+ a
44
+ background: none
45
+
46
+ // === Sub nav ========================================
47
+ ul.sub_nav
48
+ overflow: hidden
49
+ li
50
+ float: left
51
+ line-height: 30px
52
+ margin-right: 10px
53
+ a
54
+ padding: 4px 5px
55
+ a.active
56
+ background-color: #00AFDB
57
+ color: #fff
58
+
59
+ ul.list
60
+ margin-bottom: 20px
61
+ line-height: 15px
62
+ clear: both
63
+ li
64
+ padding: 5px
65
+ border-top: 1px solid #a6a8ab
66
+ border-bottom: 1px solid #a6a8ab
67
+ .name
68
+ margin-bottom: 5px
69
+ h4
70
+ margin-bottom: 0px
71
+ p.meta
72
+ font-size: 10px
73
+ text-transform: uppercase
74
+
75
+ li+li
76
+ border-top: none
77
+
78
+ // === Table ========================================
79
+ table
80
+ border-bottom: 1px solid #a6a8ab
81
+ width: 100%
82
+ margin-bottom: 10px
83
+ th
84
+ border-bottom: 1px solid #a6a8ab
85
+ th, td
86
+ padding: 5px
87
+ td
88
+ vertical-align: top
89
+ border-bottom: 1px solid #ddd
90
+ td.action_link
91
+ white-space: nowrap
92
+ th.center, td.center
93
+ text-align: center
94
+ tr.important
95
+ td
96
+ background: #ddd
97
+
98
+ // === Form ========================================
99
+ form.formatted
100
+ .form_element
101
+ margin-bottom: 10px
102
+ .label
103
+ font: 10px/20px Arial, sans-serif
104
+ color: #6E666E
105
+ text-transform: uppercase
106
+ letter-spacing: 1px
107
+ margin-bottom: 5px
108
+ .errors, .description
109
+ font: 11px/20px Arial, sans-serif
110
+ letter-spacing: 1px
111
+ .errors
112
+ color: red
113
+ .description
114
+ font-style: italic
115
+ color: #6E666E
116
+
117
+ .form_element.text_field, .form_element.password_field
118
+ input
119
+ border: 1px solid #a6a8ab
120
+ padding: 5px
121
+ width: 90%
122
+ .search
123
+ width: 150px
124
+
125
+ .form_element.text_area textarea
126
+ border: 1px solid #a6a8ab
127
+ padding: 5px
128
+ width: 90%
129
+
130
+ .form_element.check_box
131
+ .value
132
+ label
133
+ padding-left: 5px
134
+
135
+ // === Form admin search========================================
136
+
137
+ .columns
138
+ .header
139
+ overflow: hidden
140
+ h2
141
+ float: left
142
+ h5
143
+ float: left
144
+ margin-left: 10px
145
+ margin-top: 12px
146
+
147
+ form.admin_search
148
+ overflow: hidden
149
+ float: right
150
+ .form_element
151
+ float: left
152
+ width: auto
153
+ margin-right: 10px
154
+ .label
155
+ margin-bottom: 0px
156
+ .value
157
+ input[type=text], input[type=date]
158
+ width: 150px
159
+ .form_element.submit_element
160
+ padding-top: 20px
161
+ width: 50px
162
+
163
+
164
+
165
+ // === Flash messages ========================================
166
+ .flash_wrapper
167
+ .flash_message
168
+ padding: 5px 5px
169
+ margin: -15px auto 15px auto
170
+ text-align: center
171
+ background: #fff
172
+ color: #00AFDB
173
+ .flash_message.alert
174
+ color: #c21a1a
175
+
176
+
177
+ // === Google map ========================================
178
+ #map_canvas
179
+ border: 2px solid #2D212D
180
+ margin-bottom: 10px
181
+
182
+
183
+ #user_activity
184
+ overflow: hidden
185
+ margin: 5px 0
186
+ float: right
187
+ width: 400px
188
+ font: 10px/15px Arial, sans-serif
189
+ text-align: right
190
+ .user
191
+ background: #ddd
192
+ float: right
193
+ padding: 0px 5px
194
+ margin-left: 5px
195
+
196
+ // === Pagination ========================================
197
+ .pagination
198
+ font: 13px/20px Arial, sans-serif
199
+ margin-bottom: 10px
200
+ float: right
201
+ .previous_page, .next_page
202
+ background: #ebebeb
203
+ text-transform: uppercase
204
+ font-size: 11px
205
+ span, a, em
206
+ background-color: #ebebeb
207
+ font-size: 12px
208
+ line-height: 20px
209
+ padding: 4px 10px
210
+ text-decoration: none
211
+ margin: 0
212
+ .current
213
+ background-color: #404041
214
+ color: #fff
215
+ font-style: normal
216
+ a:hover
217
+ text-decoration: underline
218
+
219
+ h2
220
+ .pagination
221
+ margin-top: 20px
222
+
223
+ .ajax-loader
224
+ width: 20px
225
+ height: 20px
226
+ background: url('/images/icons/ajax-loader.gif') no-repeat center
227
+
228
+ div.ui-datepicker
229
+ font-size: 10px
230
+ input[type=date]
231
+ background: url(/images/icons/calendar.png) no-repeat 98%
232
+
233
+ // === Ads ========================================
234
+ a.ad.current_issue
235
+ width: 140px
236
+ height: 140px
237
+ margin: 15px auto
238
+ display: block
239
+
@@ -0,0 +1,193 @@
1
+ .wrapper.registrations_index
2
+ .main_content
3
+ overflow: hidden
4
+ padding-top: 0px
5
+ .intro
6
+ float: left
7
+ width: 550px
8
+ padding-top: 80px
9
+ h5
10
+ display: inline
11
+ margin-right: 10px
12
+ h3.join
13
+ width: 100px
14
+ .columns
15
+ float: right
16
+ width: 280px
17
+ .flash_wrapper
18
+ .flash_message.alert
19
+ background: #c21a1a
20
+ color: #fff
21
+
22
+ .registrations_create
23
+ li.selected, li.hover
24
+ background: #eee
25
+
26
+ .users_show
27
+ .main_content
28
+ ul.list li
29
+ overflow: hidden
30
+ .label
31
+ float: left
32
+ width: 150px
33
+ .value
34
+ float: left
35
+ width: 300px
36
+ .list_header
37
+ overflow: hidden
38
+ h3
39
+ float: left
40
+ width: 200px
41
+ h5
42
+ float: right
43
+ width: 100px
44
+ text-align: right
45
+
46
+ .areas_show, .admin_areas_issues_show
47
+ .main_content
48
+ .stats
49
+ margin-bottom: 20px
50
+ h2, h3
51
+ margin-bottom: 0px
52
+ ul.list
53
+ padding-top: 20px
54
+ li
55
+ padding: 10px 5px
56
+ h4
57
+ margin-bottom: 0px
58
+ p.meta
59
+ text-transform: uppercase
60
+ font-size: 10px
61
+ line-height: 15px
62
+ color: #6E666E
63
+
64
+ .admin_areas_edit_borders
65
+ #map_canvas
66
+ #google_map
67
+ .editor_button
68
+ font: 12px/12px Arial,sans-serif
69
+ background: #fff
70
+ color: #000
71
+ border: solid #000 2px
72
+ margin: 5px
73
+ padding: 2px 4px
74
+ cursor: pointer
75
+ .disabled
76
+ color: #bbb
77
+ border: solid #bbb 2px
78
+ cursor: default
79
+ .flash_message
80
+ position: absolute
81
+ z-index: 100
82
+ padding: 2px 5px
83
+ margin: 5px 0px 0px 70px
84
+ font: 12px/12px Arial,sans-serif
85
+ float: none
86
+ border: solid #000 1px
87
+ background-color: #c4d2a6
88
+ color: #000
89
+ .flash_message.alert
90
+ background-color: #f2d9d9
91
+ color: #c21a1a
92
+ .region_details
93
+ position: absolute
94
+ z-index: 100
95
+ padding: 2px 5px
96
+ margin: 5px 0px 0px 200px
97
+ font: 12px/12px Arial,sans-serif
98
+ float: none
99
+ border: solid #000 1px
100
+ background-color: #a6c4d2
101
+ color: #000
102
+
103
+
104
+
105
+ .posts
106
+ border-bottom: 1px solid #a6a8ab
107
+ margin-bottom: 10px
108
+ .post
109
+ overflow: hidden
110
+ padding: 5px 0
111
+ .select
112
+ float: left
113
+ width: 20px
114
+ .content
115
+ float: left
116
+ width: 360px
117
+ h6
118
+ margin-bottom: 0px
119
+ .meta
120
+ font-size: 10px
121
+ text-transform: uppercase
122
+ input[type=text], textarea
123
+ width: 350px
124
+ margin-bottom: 10px
125
+ .edit_post
126
+ .ajax-loader
127
+ display: inline-block
128
+ width: 14px
129
+ height: 14px
130
+ .status
131
+ float: left
132
+ width: 40px
133
+ a
134
+ width: 20px
135
+ height: 20px
136
+ display: block
137
+ background-repeat: no-repeat
138
+ background-position: center
139
+ a.reviewed
140
+ background-image: url('/images/icons/post_reviewed.png')
141
+ a.unreviewed
142
+ background-image: url('/images/icons/post_new.png')
143
+
144
+ .header
145
+ overflow: hidden
146
+ border-bottom: 1px solid #a6a8ab
147
+ padding: 5px 0
148
+ .select
149
+ float: left
150
+ width: 20px
151
+ .text
152
+ float: left
153
+ width: 400px
154
+ font-weight: bold
155
+
156
+ .right_column
157
+ .posts
158
+ .status
159
+ cursor: move
160
+
161
+ #chart-container
162
+ margin-bottom: 20px
163
+ width: 100%
164
+ height: 200px
165
+
166
+ .area_issues_index
167
+ .left_column
168
+ ul.list li
169
+ overflow: hidden
170
+ .post
171
+ float: left
172
+ width: 270px
173
+ margin-bottom: 20px
174
+ h4
175
+ margin-bottom: 0px
176
+ p.meta
177
+ font-size: 10px
178
+ text-transform: uppercase
179
+ .right_column
180
+ .pagination
181
+ float: none
182
+
183
+ .area_issues_show
184
+ .pagination
185
+ float: none
186
+
187
+ .users_edit
188
+ .delete_account
189
+ color: #ecbdbd
190
+ a
191
+ color: #ecbdbd
192
+ a:hover
193
+ color: #cc0000
@@ -0,0 +1,46 @@
1
+ body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td
2
+ margin: 0
3
+ padding: 0
4
+
5
+ table
6
+ border-collapse: collapse
7
+ border-spacing: 0
8
+
9
+ fieldset, img
10
+ border: 0
11
+
12
+ img
13
+ display: block
14
+
15
+ address, caption, cite, code, dfn, var
16
+ font-style: normal
17
+ font-weight: normal
18
+
19
+ ol, ul
20
+ list-style: none
21
+
22
+ caption, th
23
+ text-align: left
24
+
25
+ h1, h2, h3, h4, h5, h6
26
+ font-size: 100%
27
+
28
+ q:before, q:after
29
+ content: ''
30
+
31
+ abbr, acronym
32
+ border: 0
33
+
34
+ sup, sub
35
+ height: 0
36
+ line-height: 1
37
+ vertical-align: baseline
38
+ _vertical-align: bottom
39
+ position: relative
40
+
41
+ sup
42
+ bottom: 1ex
43
+
44
+ sub
45
+ top: .5ex
46
+ left: -0.25em
@@ -0,0 +1,11 @@
1
+ body
2
+ background-color: #D1DBCD
3
+ .wrapper
4
+ margin: auto
5
+ width: 960px
6
+ .main_content
7
+ margin-bottom: 50px
8
+ padding-top: 50px
9
+ .footer
10
+ border-top: 1px solid #a6a8ab
11
+ padding: 10px 0
@@ -0,0 +1,57 @@
1
+ a
2
+ color: #00AFDB
3
+ text-decoration: none
4
+ a:hover
5
+ text-decoration: underline
6
+
7
+ h1
8
+ font: 50px/55px Georgia, serif
9
+ color: #2D212D
10
+ em
11
+ font-style: italic
12
+ h2
13
+ font: 35px/38px Georgia, serif
14
+ color: #2D212D
15
+ h3
16
+ font: 20px/28px Georgia, serif
17
+ color: #6E666E
18
+ text-transform: none
19
+ em
20
+ font-style: italic
21
+ strong
22
+ font-weight: normal
23
+ color: #2D212D
24
+
25
+ h4
26
+ font: 15px/20px Georgia, serif
27
+ color: #2D212D
28
+
29
+ h5
30
+ font: bold 13px/20px Arial, sans-serif
31
+ color: #fff
32
+ a
33
+ text-decoration: none
34
+ background-color: #00AFDB
35
+ padding: 4px 5px
36
+ color: #fff
37
+ a.active
38
+ background-color: #2D212D
39
+
40
+ h1,h2
41
+ margin-bottom: 20px
42
+ h3,h4,h5
43
+ margin-bottom: 10px
44
+
45
+ p+p
46
+ margin-top: 10px
47
+
48
+ p, ul, table, .posts
49
+ font: 13px/20px Arial, sans-serif
50
+ color: #2D212D
51
+
52
+
53
+ label
54
+ font: 10px/20px Arial, sans-serif
55
+ color: #6E666E
56
+ text-transform: uppercase
57
+ letter-spacing: 1px
@@ -0,0 +1,5 @@
1
+ <p>Hi <%= @user.first_name %></p>
2
+
3
+ <p>Welcome to OpenPorch. Thanks for signing up.</p>
4
+
5
+ <h2><%= link_to 'To complete your registration, please click here.', verify_email_url(@user.email_verification_key) %></h2>
@@ -0,0 +1,7 @@
1
+ Hi <%= @user.first_name %>
2
+
3
+ Welcome to OpenPorch. Thanks for signing up.
4
+
5
+ To complete your registration, please go to:
6
+
7
+ <%= verify_email_url(@user.email_verification_key) %>
@@ -0,0 +1,32 @@
1
+ <p>To POST your message, email to <%= mail_to(@issue.area.email) %></p>
2
+
3
+
4
+ <h2><%= "#{@issue.area.name} NEIGHBORHOOD FORUM NO.#{@issue.number}".upcase %></h2>
5
+
6
+
7
+
8
+
9
+ <% @issue.posts.order(:position).each do |post| %>
10
+ <h3><%=post.title %></h3>
11
+ <p class="author">
12
+ By
13
+ <strong><%= post.user_first_name%> <%= post.user_last_name%>, <%=post.user_address %></strong>
14
+ </p>
15
+
16
+ <% end %>
17
+
18
+
19
+ <% @issue.posts.order(:position).each do |post| %>
20
+ <br/>
21
+ <hr/>
22
+ <br/>
23
+ <h3><%= post.title %></h3>
24
+ <p class="author">
25
+ By
26
+ <strong><%= post.user_first_name%> <%= post.user_last_name%>, <%=post.user_address %>, <%= mail_to(post.user_email) %></strong>
27
+ <br/>
28
+ <%= post.created_at.to_date.to_s(:long)%>
29
+ <br/>Post your note to neighbors: <%= mail_to(@issue.area.email) %>
30
+ </p>
31
+ <%= simple_format(auto_link(post.content)) %>
32
+ <% end %>
@@ -0,0 +1,26 @@
1
+ To POST your message, email to <%= mail_to(@issue.area.email) %>
2
+
3
+ <%= "#{@issue.area.name} NEIGHBORHOOD FORUM NO.#{@issue.number}".upcase %>
4
+
5
+
6
+ <% @issue.posts.order(:position).each do |post| %>
7
+ <%=post.title.upcase %>
8
+ By <%= post.user_first_name%> <%= post.user_last_name%>, <%=post.user_address %>
9
+
10
+ <% end %>
11
+
12
+
13
+
14
+ <% @issue.posts.order(:position).each do |post| %>
15
+ ---------------------------------------------
16
+
17
+
18
+ <%= post.title.upcase %>
19
+ By <%= post.user_first_name%> <%= post.user_last_name%>, <%=post.user_address %>, <%=post.user_email %>
20
+ <%= post.created_at.to_date.to_s(:long) %>
21
+ Post your note to neighbors: <%= mail_to(@issue.area.email) %>
22
+
23
+ <%= post.content %>
24
+
25
+ <% end %>
26
+
@@ -0,0 +1,7 @@
1
+ <p>Hi <%= @user.first_name %></p>
2
+
3
+ <p>A new password was requested for this email address.</p>
4
+
5
+ <p>Please ignore this if you think this email is sent to you in error.</p>
6
+
7
+ <h2><%= link_to 'Reset your password', edit_password_url(:id => @user.perishable_token) %></h2
@@ -0,0 +1,6 @@
1
+ Hi <%= @user.first_name %>,
2
+
3
+ A new password was requested for this email address. Please ignore this if you think this email is sent to you in error.
4
+
5
+ To reset your password please follow this link:
6
+ <%= edit_password_url(:id => @user.perishable_token) %>
@@ -0,0 +1,5 @@
1
+ = f.text_field :first_name
2
+ = f.text_field :last_name
3
+ = f.text_field :email
4
+ = f.password_field :password, :autocomplete => :off
5
+ = f.password_field :password_confirmation
@@ -0,0 +1,11 @@
1
+ = render :partial => 'layouts/account_nav'
2
+
3
+ .columns
4
+ .left_column
5
+ %h2 Edit your details
6
+ = formatted_form_for @user, :url => user_path do |f|
7
+ = render :partial => 'form', :locals => {:f => f}
8
+ = f.submit 'Save', :cancel_url => link_to('cancel', user_path(@user))
9
+ .right_column
10
+ .delete_account
11
+ = link_to 'Click here if you wish to delete your account.', user_path, :method => :delete, :confirm => "Are you sure you want to delete your account? This action is irreversible."