answers-core 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (293) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +6 -0
  3. data/answers-core.gemspec +30 -0
  4. data/app/assets/fonts/answers/League_Gothic-webfont.eot +0 -0
  5. data/app/assets/fonts/answers/League_Gothic-webfont.svg +230 -0
  6. data/app/assets/fonts/answers/League_Gothic-webfont.ttf +0 -0
  7. data/app/assets/fonts/answers/League_Gothic-webfont.woff +0 -0
  8. data/app/assets/images/OaklandCityTree.png +0 -0
  9. data/app/assets/images/background_image.jpg +0 -0
  10. data/app/assets/images/background_pattern.png +0 -0
  11. data/app/assets/images/beta.png +0 -0
  12. data/app/assets/images/bg_transparent.png +0 -0
  13. data/app/assets/images/border.png +0 -0
  14. data/app/assets/images/brigade.png +0 -0
  15. data/app/assets/images/cfa.png +0 -0
  16. data/app/assets/images/cfa_logo.png +0 -0
  17. data/app/assets/images/cfa_logo_footer.png +0 -0
  18. data/app/assets/images/favicon.ico +0 -0
  19. data/app/assets/images/forest.jpeg +0 -0
  20. data/app/assets/images/getting_started_btn.png +0 -0
  21. data/app/assets/images/govuk.png +0 -0
  22. data/app/assets/images/openoaklandlogo.png +0 -0
  23. data/app/assets/images/quick_answers_icon.png +0 -0
  24. data/app/assets/images/quick_answers_icon_small.png +0 -0
  25. data/app/assets/images/searchIcon.png +0 -0
  26. data/app/assets/images/wmd-buttons.png +0 -0
  27. data/app/assets/images/yellow_bg.png +0 -0
  28. data/app/assets/javascripts/answers.js +19 -0
  29. data/app/assets/javascripts/answers/Markdown.Extra.js +304 -0
  30. data/app/assets/javascripts/answers/active_admin.js +62 -0
  31. data/app/assets/javascripts/answers/pagedown/LICENSE.txt +32 -0
  32. data/app/assets/javascripts/answers/pagedown/Markdown.Converter.js +1332 -0
  33. data/app/assets/javascripts/answers/pagedown/Markdown.Editor.js +2212 -0
  34. data/app/assets/javascripts/answers/pagedown/Markdown.Sanitizer.js +108 -0
  35. data/app/assets/javascripts/answers/pagedown/README.txt +0 -0
  36. data/app/assets/javascripts/answers/pagedown/demo/browser/demo.css +120 -0
  37. data/app/assets/javascripts/answers/pagedown/demo/browser/demo.html +83 -0
  38. data/app/assets/javascripts/answers/pagedown/demo/node/demo.js +44 -0
  39. data/app/assets/javascripts/answers/pagedown/local/Markdown.local.fr.js +43 -0
  40. data/app/assets/javascripts/answers/pagedown/node-pagedown.js +2 -0
  41. data/app/assets/javascripts/answers/pagedown/package.json +12 -0
  42. data/app/assets/javascripts/answers/pagedown/resources/wmd-buttons.psd +0 -0
  43. data/app/assets/javascripts/answers/pagedown/wmd-buttons.png +0 -0
  44. data/app/assets/javascripts/answers/skip_nav.js +8 -0
  45. data/app/assets/stylesheets/answers/active_admin.css.scss +17 -0
  46. data/app/assets/stylesheets/answers/active_admin_custom.css.scss +35 -0
  47. data/app/assets/stylesheets/answers/formatting.css +82 -0
  48. data/app/assets/stylesheets/answers/mobile.css +149 -0
  49. data/app/assets/stylesheets/answers/tags.css.scss +3 -0
  50. data/app/assets/stylesheets/answers/theme.css +916 -0
  51. data/app/controllers/answers/answers_controller.rb +26 -0
  52. data/app/controllers/answers/api/v1/answers_controller.rb +38 -0
  53. data/app/controllers/answers/api/v1/api_controller.rb +13 -0
  54. data/app/controllers/answers/api/v1/questions_controller.rb +39 -0
  55. data/app/controllers/answers/api/v1/taggings_controller.rb +46 -0
  56. data/app/controllers/answers/api/v1/tags_controller.rb +38 -0
  57. data/app/controllers/answers/application_controller.rb +27 -0
  58. data/app/controllers/answers/home_controller.rb +17 -0
  59. data/app/controllers/answers/questions_controller.rb +33 -0
  60. data/app/controllers/answers/search_controller.rb +22 -0
  61. data/app/controllers/answers/tags_controller.rb +36 -0
  62. data/app/helpers/answers/tags_helper.rb +7 -0
  63. data/app/models/.gitkeep +0 -0
  64. data/app/models/answers/ability.rb +28 -0
  65. data/app/models/answers/administrator.rb +5 -0
  66. data/app/models/answers/answer.rb +6 -0
  67. data/app/models/answers/api/v1/api_user.rb +5 -0
  68. data/app/models/answers/question.rb +31 -0
  69. data/app/models/answers/user.rb +30 -0
  70. data/app/views/answers/admin/contacts/_article.html.erb +0 -0
  71. data/app/views/answers/admin/dashboard/_dashboard.html.erb +5 -0
  72. data/app/views/answers/admin/guide_steps/_form.html.erb +17 -0
  73. data/app/views/answers/api/v1/answers/_answer.json.jbuilder +2 -0
  74. data/app/views/answers/api/v1/answers/index.json.jbuilder +1 -0
  75. data/app/views/answers/api/v1/answers/show.json.jbuilder +1 -0
  76. data/app/views/answers/api/v1/questions/_question.json.jbuilder +2 -0
  77. data/app/views/answers/api/v1/questions/index.json.jbuilder +1 -0
  78. data/app/views/answers/api/v1/questions/show.json.jbuilder +1 -0
  79. data/app/views/answers/api/v1/taggings/_tagging.json.jbuilder +3 -0
  80. data/app/views/answers/api/v1/taggings/index.json.jbuilder +1 -0
  81. data/app/views/answers/api/v1/taggings/show.json.jbuilder +1 -0
  82. data/app/views/answers/api/v1/tags/_tag.json.jbuilder +2 -0
  83. data/app/views/answers/api/v1/tags/index.json.jbuilder +1 -0
  84. data/app/views/answers/api/v1/tags/show.json.jbuilder +1 -0
  85. data/app/views/answers/devise/confirmations/new.html.erb +12 -0
  86. data/app/views/answers/devise/mailer/confirmation_instructions.html.erb +5 -0
  87. data/app/views/answers/devise/mailer/reset_password_instructions.html.erb +8 -0
  88. data/app/views/answers/devise/mailer/unlock_instructions.html.erb +7 -0
  89. data/app/views/answers/devise/passwords/edit.html.erb +24 -0
  90. data/app/views/answers/devise/passwords/new.html.erb +20 -0
  91. data/app/views/answers/devise/registrations/edit.html.erb +25 -0
  92. data/app/views/answers/devise/registrations/new.html.erb +18 -0
  93. data/app/views/answers/devise/sessions/new.html.erb +25 -0
  94. data/app/views/answers/devise/shared/_links.erb +25 -0
  95. data/app/views/answers/devise/unlocks/new.html.erb +12 -0
  96. data/app/views/answers/home/_article.html.erb +3 -0
  97. data/app/views/answers/home/_category.html.erb +8 -0
  98. data/app/views/answers/home/about.html.erb +72 -0
  99. data/app/views/answers/home/index.html.erb +44 -0
  100. data/app/views/answers/questions/index.html.erb +21 -0
  101. data/app/views/answers/questions/show.html.erb +31 -0
  102. data/app/views/answers/search/index.html.erb +32 -0
  103. data/app/views/answers/shared/_articles_sidebar.html.erb +22 -0
  104. data/app/views/answers/shared/_autocomplete.html.erb +8 -0
  105. data/app/views/answers/shared/_categories_sidebar.html.erb +12 -0
  106. data/app/views/answers/shared/_search_form.html.erb +4 -0
  107. data/app/views/answers/shared/admin/_administration.html.erb +38 -0
  108. data/app/views/answers/shared/admin/_article_actions.html.erb +86 -0
  109. data/app/views/answers/shared/admin/_article_content.html.erb +27 -0
  110. data/app/views/answers/shared/admin/_article_details.html.erb +11 -0
  111. data/app/views/answers/shared/admin/_article_form.html.erb +20 -0
  112. data/app/views/answers/shared/admin/_author_pic.html.erb +0 -0
  113. data/app/views/answers/tags/index.html.erb +34 -0
  114. data/app/views/answers/tags/show.html.erb +31 -0
  115. data/app/views/layouts/answers/application.html.erb +97 -0
  116. data/config.ru +5 -0
  117. data/config/initializers/active_admin.rb +245 -0
  118. data/config/initializers/devise.rb +228 -0
  119. data/config/locales/devise.en.yml +57 -0
  120. data/config/locales/en.yml +129 -0
  121. data/config/routes.rb +22 -0
  122. data/config/secrets.yml +68 -0
  123. data/db/migrate/20140911060606_answers_up.rb +79 -0
  124. data/lib/answers-core.rb +1 -0
  125. data/lib/answers.rb +175 -0
  126. data/lib/answers/admin/answer.rb +29 -0
  127. data/lib/answers/admin/dashboard.rb +75 -0
  128. data/lib/answers/admin/question.rb +57 -0
  129. data/lib/answers/admin/tag.rb +12 -0
  130. data/lib/answers/admin/users.rb +65 -0
  131. data/lib/answers/core.rb +25 -0
  132. data/lib/answers/core/configuration.rb +90 -0
  133. data/lib/answers/core/engine.rb +116 -0
  134. data/lib/answers/engine.rb +62 -0
  135. data/lib/answers/errors.rb +13 -0
  136. data/lib/answers/plugin.rb +75 -0
  137. data/lib/answers/plugins.rb +73 -0
  138. data/lib/answers/version.rb +16 -0
  139. data/lib/api_client.rb +20 -0
  140. data/lib/assets/.gitkeep +0 -0
  141. data/lib/assets/eng_stop.csv +1 -0
  142. data/lib/generators/answers/clash_keywords.yml +3 -0
  143. data/lib/generators/answers/cms/cms_generator.rb +314 -0
  144. data/lib/generators/answers/cms/templates/.gitignore +91 -0
  145. data/lib/generators/answers/cms/templates/app/decorators/controllers/answers/.keep +0 -0
  146. data/lib/generators/answers/cms/templates/app/decorators/models/answers/.keep +0 -0
  147. data/lib/generators/answers/cms/templates/app/views/sitemap/index.xml.builder +15 -0
  148. data/lib/generators/answers/cms/templates/config/database.yml.mysql +20 -0
  149. data/lib/generators/answers/cms/templates/config/database.yml.postgresql +58 -0
  150. data/lib/generators/answers/cms/templates/config/database.yml.sqlite3 +18 -0
  151. data/lib/generators/answers/core/core_generator.rb +10 -0
  152. data/lib/generators/answers/core/templates/config/initializers/answers/core.rb.erb +35 -0
  153. data/lib/generators/answers/dummy/dummy_generator.rb +86 -0
  154. data/lib/generators/answers/dummy/templates/rails/Rakefile +7 -0
  155. data/lib/generators/answers/dummy/templates/rails/application.js +3 -0
  156. data/lib/generators/answers/dummy/templates/rails/application.rb.erb +12 -0
  157. data/lib/generators/answers/dummy/templates/rails/boot.rb.erb +6 -0
  158. data/lib/generators/answers/dummy/templates/rails/database.yml +34 -0
  159. data/lib/generators/answers/dummy/templates/rails/routes.rb +3 -0
  160. data/lib/generators/answers/engine/USAGE +24 -0
  161. data/lib/generators/answers/engine/engine_generator.rb +44 -0
  162. data/lib/generators/answers/engine/templates/.gitignore +2 -0
  163. data/lib/generators/answers/engine/templates/Gemfile +42 -0
  164. data/lib/generators/answers/engine/templates/Rakefile +19 -0
  165. data/lib/generators/answers/engine/templates/answers-extension_plural_name.gemspec +19 -0
  166. data/lib/generators/answers/engine/templates/app/controllers/answers/namespace/admin/plural_name_controller.rb.erb +14 -0
  167. data/lib/generators/answers/engine/templates/app/controllers/answers/namespace/plural_name_controller.rb.erb +34 -0
  168. data/lib/generators/answers/engine/templates/app/models/answers/namespace/singular_name.rb.erb +37 -0
  169. data/lib/generators/answers/engine/templates/app/views/answers/namespace/admin/plural_name/_actions.html.erb +25 -0
  170. data/lib/generators/answers/engine/templates/app/views/answers/namespace/admin/plural_name/_form.html.erb +65 -0
  171. data/lib/generators/answers/engine/templates/app/views/answers/namespace/admin/plural_name/_plural_name.html.erb +2 -0
  172. data/lib/generators/answers/engine/templates/app/views/answers/namespace/admin/plural_name/_records.html.erb +16 -0
  173. data/lib/generators/answers/engine/templates/app/views/answers/namespace/admin/plural_name/_singular_name.html.erb +33 -0
  174. data/lib/generators/answers/engine/templates/app/views/answers/namespace/admin/plural_name/_sortable_list.html.erb +5 -0
  175. data/lib/generators/answers/engine/templates/app/views/answers/namespace/admin/plural_name/edit.html.erb +1 -0
  176. data/lib/generators/answers/engine/templates/app/views/answers/namespace/admin/plural_name/index.html.erb +7 -0
  177. data/lib/generators/answers/engine/templates/app/views/answers/namespace/admin/plural_name/new.html.erb +1 -0
  178. data/lib/generators/answers/engine/templates/app/views/answers/namespace/plural_name/index.html.erb +11 -0
  179. data/lib/generators/answers/engine/templates/app/views/answers/namespace/plural_name/show.html.erb +39 -0
  180. data/lib/generators/answers/engine/templates/config/locales/cs.yml +28 -0
  181. data/lib/generators/answers/engine/templates/config/locales/en.yml +28 -0
  182. data/lib/generators/answers/engine/templates/config/locales/es.yml +29 -0
  183. data/lib/generators/answers/engine/templates/config/locales/fr.yml +28 -0
  184. data/lib/generators/answers/engine/templates/config/locales/it.yml +28 -0
  185. data/lib/generators/answers/engine/templates/config/locales/nb.yml +28 -0
  186. data/lib/generators/answers/engine/templates/config/locales/nl.yml +28 -0
  187. data/lib/generators/answers/engine/templates/config/locales/sk.yml +28 -0
  188. data/lib/generators/answers/engine/templates/config/locales/tr.yml +28 -0
  189. data/lib/generators/answers/engine/templates/config/locales/zh-CN.yml +30 -0
  190. data/lib/generators/answers/engine/templates/config/routes.rb.erb +19 -0
  191. data/lib/generators/answers/engine/templates/db/migrate/1_create_namespace_plural_name.rb.erb +39 -0
  192. data/lib/generators/answers/engine/templates/db/seeds.rb.erb +21 -0
  193. data/lib/generators/answers/engine/templates/lib/answers-extension_plural_name.rb.erb +1 -0
  194. data/lib/generators/answers/engine/templates/lib/answers/plural_name.rb.erb +21 -0
  195. data/lib/generators/answers/engine/templates/lib/answers/plural_name/engine.rb.erb +23 -0
  196. data/lib/generators/answers/engine/templates/lib/generators/answers/extension_plural_name_generator.rb.erb +19 -0
  197. data/lib/generators/answers/engine/templates/lib/tasks/answers/extension_plural_name.rake +13 -0
  198. data/lib/generators/answers/engine/templates/readme.md +10 -0
  199. data/lib/generators/answers/engine/templates/script/rails +10 -0
  200. data/lib/generators/answers/engine/templates/spec/features/answers/namespace/admin/plural_name_spec.rb.erb +200 -0
  201. data/lib/generators/answers/engine/templates/spec/models/answers/namespace/singular_name_spec.rb.erb +20 -0
  202. data/lib/generators/answers/engine/templates/spec/spec_helper.rb +31 -0
  203. data/lib/generators/answers/engine/templates/spec/support/factories/answers/plural_name.rb.erb +7 -0
  204. data/lib/generators/answers/engine/templates/tasks/rspec.rake +6 -0
  205. data/lib/generators/answers/engine/templates/tasks/testing.rake +8 -0
  206. data/lib/generators/answers/generator.rb +292 -0
  207. data/lib/markdownifier.rb +11 -0
  208. data/log/.gitkeep +0 -0
  209. data/log/development.log +12870 -0
  210. data/log/newrelic_agent.log +1339 -0
  211. data/log/test.log +233181 -0
  212. data/public/404.html +25 -0
  213. data/public/422.html +25 -0
  214. data/public/500.html +24 -0
  215. data/public/favicon.ico +0 -0
  216. data/public/robots.txt +5 -0
  217. data/script/delayed_job +5 -0
  218. data/spec/controllers/answers_controller_spec.rb +55 -0
  219. data/spec/controllers/api/v1/answers_controller_spec.rb +144 -0
  220. data/spec/controllers/api/v1/questions_controller_spec.rb +144 -0
  221. data/spec/controllers/api/v1/taggings_controller_spec.rb +126 -0
  222. data/spec/controllers/api/v1/tags_controller_spec.rb +126 -0
  223. data/spec/controllers/home_controller_spec.rb +60 -0
  224. data/spec/controllers/questions_controller_spec.rb +55 -0
  225. data/spec/controllers/tags_controller_spec.rb +42 -0
  226. data/spec/factories/answers.rb +10 -0
  227. data/spec/factories/questions.rb +8 -0
  228. data/spec/factories/tags.rb +8 -0
  229. data/spec/factories/user.rb +32 -0
  230. data/spec/features/admin_dashboard_spec.rb +53 -0
  231. data/spec/features/admin_user_spec.rb +61 -0
  232. data/spec/features/searches_spec.rb +101 -0
  233. data/spec/fixtures/Article/_before_validation/sets_access_count_if_nil.yml +223 -0
  234. data/spec/fixtures/Article/_delete_orphaned_keywords/updating_an_article/destroys_orphaned_keywords_associated.yml +223 -0
  235. data/spec/fixtures/Article/_delete_orphaned_keywords/when_deleting_an_article/destroys_all_keywords_associated.yml +223 -0
  236. data/spec/fixtures/Article/_find_by_friendly_id/when_an_article_does_not_exist/does_not_raise_an_exception.yml +223 -0
  237. data/spec/fixtures/Article/_find_by_friendly_id/when_an_article_exists/returns_the_corresponding_article.yml +223 -0
  238. data/spec/fixtures/Article/_find_by_type/excludes_articles_not_matching_specified_type.yml +223 -0
  239. data/spec/fixtures/Article/_find_by_type/returns_articles_matching_type.yml +223 -0
  240. data/spec/fixtures/Article/_hits/before_an_article_has_been_viewed/has_zero_hits.yml +223 -0
  241. data/spec/fixtures/Article/_hits/returns_number_of_views/has_seven_views.yml +223 -0
  242. data/spec/fixtures/Article/_indexable_/returns_false_if_article_is_not_published.yml +223 -0
  243. data/spec/fixtures/Article/_indexable_/returns_true_if_article_is_published.yml +223 -0
  244. data/spec/fixtures/Article/_legacy_/returns_true_if_render_markdown_is_false.yml +223 -0
  245. data/spec/fixtures/Article/_qm_after_create/creates_wordcounts_for_relevant_keywords.yml +223 -0
  246. data/spec/fixtures/Article/_record_hit/viewing_an_article/increases_hit_by_one.yml +223 -0
  247. data/spec/fixtures/Article/_related/has_no_related_articles/.yml +223 -0
  248. data/spec/fixtures/Article/_related/has_related_articles/.yml +223 -0
  249. data/spec/fixtures/Article/_remove_stop_words/removes_common_english_words_from_the_string.yml +223 -0
  250. data/spec/fixtures/Article/_search/_search_titles/query_is_present_in_the_title/.yml +223 -0
  251. data/spec/fixtures/Article/_search/_search_titles/returns_an_empty_array_when_the_search_term_is_present_in_an_article_but_not_the_title.yml +223 -0
  252. data/spec/fixtures/Article/_search/matches_articles_in_the_database.yml +223 -0
  253. data/spec/fixtures/Article/_search/query_does_not_match_anything_in_the_database/returns_an_empty_array.yml +223 -0
  254. data/spec/fixtures/Article/_search/query_is_a_single_space/.yml +223 -0
  255. data/spec/fixtures/Article/_search/query_is_an_empty_string/.yml +223 -0
  256. data/spec/fixtures/Article/_to_s/when_an_article_has_a_category/returns_a_string_containing_title_id_and_category.yml +223 -0
  257. data/spec/fixtures/Article/can_be_published/an_unpublished_article/is_published.yml +223 -0
  258. data/spec/fixtures/Article/can_be_published/an_unpublished_article/returns_status_Published.yml +223 -0
  259. data/spec/fixtures/Article/has_a_friendly_url.yml +223 -0
  260. data/spec/fixtures/Article/is_valid_with_a_title.yml +223 -0
  261. data/spec/fixtures/Searches/search_results/1_result_found/.yml +22047 -0
  262. data/spec/fixtures/Searches/search_results/no_results_found/.yml +393 -0
  263. data/spec/fixtures/Searches/search_results/several_results_found/should_contain_the_title_and_preview_of_both_articles.yml +223 -0
  264. data/spec/fixtures/Searches/search_results/several_results_found/show_the_query.yml +277 -0
  265. data/spec/fixtures/articles.yml +428 -0
  266. data/spec/fixtures/categories.yml +17 -0
  267. data/spec/fixtures/contacts.yml +11 -0
  268. data/spec/fixtures/dragon_keyword_cassette.yml +77 -0
  269. data/spec/fixtures/oakland_answers.yml +2379 -0
  270. data/spec/helpers/tags_helper_spec.rb +15 -0
  271. data/spec/lib/markdownifier_spec.rb +12 -0
  272. data/spec/models/ability_spec.rb +36 -0
  273. data/spec/models/answer_spec.rb +5 -0
  274. data/spec/models/question_spec.rb +70 -0
  275. data/spec/models/user_spec.rb +55 -0
  276. data/spec/routing/answers_routing_spec.rb +19 -0
  277. data/spec/routing/questions_routing_spec.rb +19 -0
  278. data/spec/routing/routes_spec.rb +13 -0
  279. data/spec/security/brakeman_spec.rb +37 -0
  280. data/spec/spec_helper.rb +61 -0
  281. data/spec/support/login_helpers.rb +10 -0
  282. data/spec/support/wait_for_ajax_helper.rb +7 -0
  283. data/spec/support/wait_for_dom_helper.rb +12 -0
  284. data/spec/views/questions/index.html.erb_spec.rb +16 -0
  285. data/spec/views/questions/show.html.erb_spec.rb +14 -0
  286. data/spec/views/tags/index.html.erb_spec.rb +5 -0
  287. data/spec/views/tags/show.html.erb_spec.rb +5 -0
  288. data/vendor/assets/javascripts/.gitkeep +0 -0
  289. data/vendor/assets/stylesheets/.gitkeep +0 -0
  290. data/vendor/assets/stylesheets/bootstrap.css +3990 -0
  291. data/vendor/crudgen/lib/generators/crudgen/install_generator.rb +23 -0
  292. data/vendor/plugins/.gitkeep +0 -0
  293. metadata +484 -0
@@ -0,0 +1,30 @@
1
+ module Answers
2
+ class User < ActiveRecord::Base
3
+ # Include default devise modules. Others available are:
4
+ # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable, :registerable,
5
+
6
+ #acts_as_token_authenticatable
7
+
8
+ # belongs_to :department
9
+ # has_many :articles
10
+ devise :database_authenticatable,
11
+ :recoverable, :rememberable, :trackable, :validatable
12
+
13
+ after_validation :make_roles_exclusive
14
+
15
+ def to_s
16
+ email
17
+ end
18
+
19
+ private
20
+
21
+ def make_roles_exclusive
22
+ if is_admin
23
+ self.is_editor = false
24
+ self.is_writer = false
25
+ elsif is_editor
26
+ self.is_writer = false
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,5 @@
1
+ <% if current_user %>
2
+ Current User
3
+ <% else %>
4
+ No Current User
5
+ <% end %>
@@ -0,0 +1,17 @@
1
+ <%= semantic_form_for [:admin, @guide_step] do |f| %>
2
+ <%= f.inputs "Guide Steps Details" do %>
3
+ <%=f.input :guide %>
4
+ <%=f.input :title %>
5
+ <%=f.input :step %>
6
+
7
+ <div class="wmd-panel">
8
+ <div id="wmd-button-bar-content" class="wmd-button-bar"></div>
9
+ <%= f.input :content, :label => "Content", :input_html => {
10
+ :class => 'wmd-input', :id => 'wmd-input-content'} %>
11
+ <div id="wmd-preview-content" class="wmd-preview article"></div>
12
+ </div>
13
+ <div class="clear"></div>
14
+
15
+ <%end%>
16
+ <%=f.actions :submit %>
17
+ <% end %>
@@ -0,0 +1,2 @@
1
+ json.extract! answer, :id, :created_at, :updated_at, :text
2
+ json.url api_v1_answer_url(answer)
@@ -0,0 +1 @@
1
+ json.answers answers, partial: 'answers/answer', as: :answer
@@ -0,0 +1 @@
1
+ json.answers [answer], partial: 'answers/answer', as: :answer
@@ -0,0 +1,2 @@
1
+ json.extract! question, :id, :created_at, :updated_at, :text
2
+ json.url api_v1_question_url(question)
@@ -0,0 +1 @@
1
+ json.questions questions, partial: 'questions/question', as: :question
@@ -0,0 +1 @@
1
+ json.questions [question], partial: 'questions/question', as: :question
@@ -0,0 +1,3 @@
1
+ json.extract! tagging, :id, :created_at, :tag_id, :taggable_id, :taggable_type, :tagger_id, :tagger_type, :context
2
+ json.url api_v1_tagging_url(tagging)
3
+
@@ -0,0 +1 @@
1
+ json.taggings taggings, partial: 'taggings/tagging', as: :tagging
@@ -0,0 +1 @@
1
+ json.taggings [tagging], partial: 'taggings/tagging', as: :tagging
@@ -0,0 +1,2 @@
1
+ json.extract! tag, :id, :created_at, :name, :taggings_count
2
+ json.url api_v1_tag_url(tag)
@@ -0,0 +1 @@
1
+ json.tags tags, partial: 'tags/tag', as: :tag
@@ -0,0 +1 @@
1
+ json.tags [tag], partial: 'tags/tag', as: :tag
@@ -0,0 +1,12 @@
1
+ <h2>Resend confirmation instructions</h2>
2
+
3
+ <%= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f| %>
4
+ <%= devise_error_messages! %>
5
+
6
+ <div><%= f.label :email %><br />
7
+ <%= f.email_field :email %></div>
8
+
9
+ <div><%= f.submit "Resend confirmation instructions" %></div>
10
+ <% end %>
11
+
12
+ <%= render "devise/shared/links" %>
@@ -0,0 +1,5 @@
1
+ <p>Welcome <%= @resource.email %>!</p>
2
+
3
+ <p>You can confirm your account email through the link below:</p>
4
+
5
+ <p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
@@ -0,0 +1,8 @@
1
+ <p>Hello <%= @resource.email %>!</p>
2
+
3
+ <p>Someone has requested a link to change your password, and you can do this through the link below.</p>
4
+
5
+ <p><%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) %></p>
6
+
7
+ <p>If you didn't request this, please ignore this email.</p>
8
+ <p>Your password won't change until you access the link above and create a new one.</p>
@@ -0,0 +1,7 @@
1
+ <p>Hello <%= @resource.email %>!</p>
2
+
3
+ <p>Your account has been locked due to an excessive amount of unsuccessful sign in attempts.</p>
4
+
5
+ <p>Click the link below to unlock your account:</p>
6
+
7
+ <p><%= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @resource.unlock_token) %></p>
@@ -0,0 +1,24 @@
1
+ <div class="modal-container span8">
2
+ <div class="main-modal">
3
+ <div class="popular">
4
+ <div class="pop-heading">
5
+ <h2>Change your password</h2>
6
+ </div>
7
+
8
+ <%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>
9
+ <%= devise_error_messages! %>
10
+ <%= f.hidden_field :reset_password_token %>
11
+
12
+ <div><%= f.label :password, "New password" %><br />
13
+ <%= f.password_field :password %></div>
14
+
15
+ <div><%= f.label :password_confirmation, "Confirm new password" %><br />
16
+ <%= f.password_field :password_confirmation %></div>
17
+
18
+ <div style="padding:20px 0px;"><%= f.submit "Change my password" %></div>
19
+ <% end %>
20
+
21
+ <%= render "devise/shared/links" %>
22
+ </div>
23
+ </div>
24
+ </div>
@@ -0,0 +1,20 @@
1
+ <div class="modal-container span8">
2
+ <div class="main-modal">
3
+ <div class="popular">
4
+ <div class="pop-heading">
5
+ <h2>Forgot your password?</h2>
6
+ </div>
7
+
8
+ <%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f| %>
9
+ <%= devise_error_messages! %>
10
+
11
+ <div><%= f.label :email %><br />
12
+ <%= f.email_field :email %></div>
13
+
14
+ <div style="padding:20px 0px;"><%= f.submit "Send me reset password instructions" %></div>
15
+ <% end %>
16
+
17
+ <%= render "devise/shared/links" %>
18
+ </div>
19
+ </div>
20
+ </div>
@@ -0,0 +1,25 @@
1
+ <h2>Edit <%= resource_name.to_s.humanize %></h2>
2
+
3
+ <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
4
+ <%= devise_error_messages! %>
5
+
6
+ <div><%= f.label :email %><br />
7
+ <%= f.email_field :email %></div>
8
+
9
+ <div><%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
10
+ <%= f.password_field :password, :autocomplete => "off" %></div>
11
+
12
+ <div><%= f.label :password_confirmation %><br />
13
+ <%= f.password_field :password_confirmation %></div>
14
+
15
+ <div><%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
16
+ <%= f.password_field :current_password %></div>
17
+
18
+ <div><%= f.submit "Update" %></div>
19
+ <% end %>
20
+
21
+ <h3>Cancel my account</h3>
22
+
23
+ <p>Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), :data => { :confirm => "Are you sure?" }, :method => :delete %>.</p>
24
+
25
+ <%= link_to "Back", :back %>
@@ -0,0 +1,18 @@
1
+ <h2>Sign up</h2>
2
+
3
+ <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
4
+ <%= devise_error_messages! %>
5
+
6
+ <div><%= f.label :email %><br />
7
+ <%= f.email_field :email %></div>
8
+
9
+ <div><%= f.label :password %><br />
10
+ <%= f.password_field :password %></div>
11
+
12
+ <div><%= f.label :password_confirmation %><br />
13
+ <%= f.password_field :password_confirmation %></div>
14
+
15
+ <div><%= f.submit "Sign up" %></div>
16
+ <% end %>
17
+
18
+ <%= render "devise/shared/links" %>
@@ -0,0 +1,25 @@
1
+ <div class="modal-container span8">
2
+ <div class="main-modal">
3
+ <div class="popular">
4
+ <div class="pop-heading">
5
+ <h2>Sign in</h2>
6
+ </div>
7
+
8
+ <%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
9
+ <div><%= f.label :email %><br />
10
+ <%= f.email_field :email %></div>
11
+
12
+ <div><%= f.label :password %><br />
13
+ <%= f.password_field :password %></div>
14
+
15
+ <% if devise_mapping.rememberable? -%>
16
+ <div><%= f.check_box :remember_me %> <%= f.label :remember_me %></div>
17
+ <% end -%>
18
+
19
+ <div style="padding:20px 0px;"><%= f.submit "Sign in" %></div>
20
+ <% end %>
21
+
22
+ <%= render "devise/shared/links" %>
23
+ </div>
24
+ </div>
25
+ </div>
@@ -0,0 +1,25 @@
1
+ <%- if controller_name != 'sessions' %>
2
+ <%= link_to "Sign in", new_session_path(resource_name) %><br />
3
+ <% end -%>
4
+
5
+ <%- if devise_mapping.registerable? && controller_name != 'registrations' %>
6
+ <%= link_to "Sign up", new_registration_path(resource_name) %><br />
7
+ <% end -%>
8
+
9
+ <%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
10
+ <%= link_to "Forgot your password?", new_password_path(resource_name) %><br />
11
+ <% end -%>
12
+
13
+ <%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
14
+ <%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %><br />
15
+ <% end -%>
16
+
17
+ <%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
18
+ <%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %><br />
19
+ <% end -%>
20
+
21
+ <%- if devise_mapping.omniauthable? %>
22
+ <%- resource_class.omniauth_providers.each do |provider| %>
23
+ <%= link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider) %><br />
24
+ <% end -%>
25
+ <% end -%>
@@ -0,0 +1,12 @@
1
+ <h2>Resend unlock instructions</h2>
2
+
3
+ <%= form_for(resource, :as => resource_name, :url => unlock_path(resource_name), :html => { :method => :post }) do |f| %>
4
+ <%= devise_error_messages! %>
5
+
6
+ <div><%= f.label :email %><br />
7
+ <%= f.email_field :email %></div>
8
+
9
+ <div><%= f.submit "Resend unlock instructions" %></div>
10
+ <% end %>
11
+
12
+ <%= render "devise/shared/links" %>
@@ -0,0 +1,3 @@
1
+ <% if article.title.present? %><li><%= link_to( article.title, article) %></li><% end %>
2
+ <% if article.title_es.present? %><li><%= link_to( article.title_es, article) %></li><% end %>
3
+ <% if article.title_cn.present? %><li><%= link_to( article.title_cn, article) %></li><% end %>
@@ -0,0 +1,8 @@
1
+ <div class="category">
2
+ <span class="left"><%= link_to(category.name, category) %></span>
3
+ <p class="right">
4
+ <ul>
5
+ <%= render :partial => 'home/article', :collection => category.articles.limit(3) %>
6
+ </ul>
7
+ </p>
8
+ </div>
@@ -0,0 +1,72 @@
1
+ <% set_meta_tags description: " #{} is an experimental new approach designed to make it easier for people to find City information and services quickly." %>
2
+ <div class="page-container about-page">
3
+ <div class="breadcrumbs">
4
+ <ol><%= render_breadcrumbs :tag=> :li, :separator =>" > " %></ol>
5
+ </div>
6
+ <div class="container">
7
+ <div class="row">
8
+ <div class="span9 main">
9
+ <div class="main-content">
10
+ <p><%= ENV['official_site_title'] %> is an new approach to a City website, designed to make it easier for people to find City information and services quickly.</p>
11
+ <div class="title-spacing">
12
+ <h1>What It Is</h1>
13
+ <p><%= ENV['official_site_title'] %> is a citizen-focused website that is question-driven, with clean, easy-to-navigate design. You can ask a question or type in keywords using plain language. You'll receive simple, friendly, concise, easy-to-understand responses, as though they're coming from a neighbor.</p>
14
+ <p><%= ENV['official_site_title'] %> is based on the application built for Honolulu by 2012 Code for America fellows. Watch this <a href="https://vimeo.com/43632898#" target="_blank" class="highlight">short video</a> to learn more about Honolulu Answers.</p>
15
+ </div>
16
+
17
+ <div class="title-spacing">
18
+ <h1>The Design</h1>
19
+ <p>People begin most internet journeys with Search, so the site is designed with that in mind. At the same time, the most frequently viewed topics are bubbled up front, so most people can just click straight to their topic of interest. The content is organized based on citizen understanding, the intuitive way you'd think of a problem, not the way the City is organized internally.</p>
20
+ <!--p>There are 3 types of content on the site:
21
+ <ul class="about-list"><li>Quick Answers tell you the key things the majority of people need to know in order to answer the question.</li>
22
+ <li>Guides provide more detailed step-by-step information for more complex answers.</li>
23
+ <li>Web Services let you conduct transactions online to answer your questions.</li></ul></p>
24
+ <p>Overall, <%= ENV['official_site_title'] %> is designed to be user-friendly, to make people's lives easier. It declutters the government website experience, and it solves a need people ordinarily have.</p-->
25
+ </div>
26
+
27
+ <div class="clearfix"></div>
28
+ <div class="title-spacing">
29
+ <!--
30
+ <div class="clearfix"></div>
31
+ <div class="title-spacing">
32
+ <h1>With a little help from our friends...</h1>
33
+ <p>
34
+ <a href="http://twitter.com/forestf" target="_blank"><div class="shoutout"><%= image_tag "forest.jpeg", :class => "biopic" %><em>Forest Frizzell</em></div></a>
35
+ <a href="http://twitter.com/angelk" target="_blank"><div class="shoutout"><%= image_tag "angel.jpeg", :class => "biopic" %><em>Angel Kittiyachavalit</em></div></a>
36
+ <a href="http://twitter.com/robdotd" target="_blank"><div class="shoutout"><%= image_tag "rob.jpg", :class => "biopic" %><em>Rob Davis</em></div></a>
37
+ <a href="http://twitter.com/dthompson" target="_blank"><div class="shoutout"><%= image_tag "mick.jpeg", :class => "biopic" %><em>Mick Thompson</em></div></a>
38
+ <a href="http://twitter.com/dianavtran" target="_blank"><div class="shoutout"><%= image_tag "diana.jpeg", :class => "biopic" %><em>Diana Tran</em></div></a>
39
+ <a href="http://twitter.com/cydharrell" target="_blank"><div class="shoutout"><%= image_tag "cyd.jpeg", :class => "biopic" %><em>Cyd Harrell</em></div></a>
40
+ <a href="http://twitter.com/mapmeld" target="_blank"><div class="shoutout"><%= image_tag "nick.jpeg", :class => "biopic" %><em>Nick Doiron</em></div></a>
41
+ <a href="http://gov.uk/" target="_blank"><div class="shoutout"><%= image_tag "govuk.png", :class => "biopic" %><em>Gov.uk</em></div></a>
42
+ <a href="http://www.honolulu.gov" target="_blank"><div class="shoutout"><%= image_tag "hnl_gov.png", :class => "biopic" %><em>City &amp; County of Honolulu</em></div></a>
43
+ <a href="http://codeforamerica.org/" target="_blank"><div class="shoutout"><%= image_tag "cfa.png", :class => "biopic" %><em>Code for America</em></div></a>
44
+ <a href="http://brigade.codeforamerica.org/" target="_blank"><div class="shoutout"><%= image_tag "brigade.png", :class => "biopic" %><em>CfA Honolulu Brigade</em></div></a>
45
+ </p>
46
+ </div>
47
+ <br />
48
+ <div class="about-list"><p>Thanks to <a href="http://royalrealtyllc.com/">Royal Realty</a> for the background photo.</p></div>
49
+
50
+ <div class="clearfix"></div>
51
+ <div class="title-spacing">
52
+ <h1>We'd love to hear from you</h1>
53
+ <p>Send us your ideas and feedback via email or tweet!
54
+ <ul>
55
+ <li>Want the website for your city?&nbsp;
56
+ <span class="comment">Email <a href="mailto:staff@codeforamerica.org">staff@codeforamerica.org</a>.</span></li>
57
+ <li>Are you a developer?&nbsp;
58
+ <span class="comment">Fork the app on <a href="https://github.com/honolulu/honolulu_answers" target="_blank">GitHub</a>.</span></li>
59
+ <li>Want to write answers for your city?&nbsp;
60
+ <span class="comment">Read our <a href="https://docs.google.com/a/codeforamerica.org/file/d/0B9kmre1G2wdIQmhJVFdZYzRkQXc/edit" target="_blank">Content Style Guide</a>.</span></li>
61
+ <li>Get your community involved in writing answers:&nbsp;
62
+ <span class="comment"><a href="http://neighborhow.org/guides/host-a-writeathon-in-your-city" target="_blank">Host a write-a-thon</a>.</span></li>
63
+ <li>Follow us on Twitter:&nbsp;
64
+ <span class="comment"><a href="https://twitter.com/HonoluluAnswers" target="_blank">@HonoluluAnswers</a>.</span></li>
65
+ </ul>-->
66
+ </p>
67
+ </div>
68
+ </div>
69
+ </div>
70
+ </div>
71
+ </div>
72
+ </div>
@@ -0,0 +1,44 @@
1
+ <% set_meta_tags description: "Find answers to your questions about #{ENV['official_site_title']} City Services." %>
2
+ <div class="modal-container span8">
3
+ <div class="main-modal">
4
+ <div id="welcome-line-l"></div>
5
+ <div id="welcome-line-r"></div>
6
+ <h3 class="welcome">Welcome To</h3>
7
+ <h1 class="home-modal"><%= ENV['official_site_title'] %> </h1>
8
+ <p class="call">
9
+ <%= "Find answers to your questions about City of #{ENV['official_site_title']} services." %>
10
+ </p>
11
+
12
+ <div class="ribbon-front">
13
+ <div class="triangle-l"></div>
14
+ <div class="triangle-r"></div>
15
+ <div class="ribbon-wrapper">
16
+ <form id="search" action="search" name="search" method="get">
17
+ <input type="text" name="q" id="query" title='query' placeholder="Try parking, jobs, or permits..." autofocus="autofocus">
18
+ <input class="btn-search" id="home-search" type="submit" value="SEARCH" title="Search">
19
+ </form>
20
+ </div>
21
+ </div><!-- /ribbon-wrapper -->
22
+
23
+ <div class="popular">
24
+ <div class="pop-heading">
25
+ <h2>Most Popular Tags:</h2>
26
+ </div>
27
+ <div class="pop-categories" id="tags">
28
+ <% tags_with_questions.each do |tag| %>
29
+ <div class="category">
30
+ <span class="left"><%= link_to(tag[:tag].name.capitalize, tag_path(tag[:tag])) %></span>
31
+ <p class="right">
32
+ <ul>
33
+ <% tag[:questions].each do |question| %>
34
+ <p><%= link_to(question.text, answer_path(question)) %></p>
35
+ <% end %>
36
+ </ul>
37
+ </p>
38
+ </div>
39
+ <% end %>
40
+ </div>
41
+ </div><!-- /popular -->
42
+
43
+ </div><!-- /main-modal -->
44
+ </div><!-- /modal-container -->
@@ -0,0 +1,21 @@
1
+ <div class="page-container">
2
+ <div class="breadcrumbs">
3
+ <ol><%= render_breadcrumbs :tag=> :li, :separator =>" > " %></ol>
4
+ </div>
5
+ <div class="row">
6
+ <div class="span9">
7
+ <div class="main-content">
8
+ <div class="header"><h1>All Answers</h1></div>
9
+ <ul>
10
+ <% @questions.map do |q| %>
11
+ <li class="category-listing"><%= link_to q.text, answer_path(q) %></li>
12
+ <% end %>
13
+
14
+ </ul>
15
+ </div>
16
+ </div>
17
+ <div class="span3">
18
+
19
+ </div><!-- /span3 -->
20
+ </div>
21
+ </div>