fe 0.0.3 → 0.0.4

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 (303) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +36 -1
  3. data/Rakefile +22 -13
  4. data/app/assets/javascripts/application.js.erb +1 -0
  5. data/app/assets/javascripts/fe/admin.js +1 -4
  6. data/app/assets/javascripts/fe/{qe.admin.js → fe.admin.js} +15 -0
  7. data/app/assets/javascripts/fe/{qe.common.js → fe.common.js} +0 -0
  8. data/app/assets/javascripts/fe/{qe.public.js → fe.public.js} +115 -27
  9. data/app/assets/javascripts/fe/rails.extra.js +6 -0
  10. data/app/assets/stylesheets/fe/{qe.screen.css.scss.erb → fe.screen.css.scss.erb} +12 -18
  11. data/app/controllers/fe/admin/elements_controller.rb +4 -4
  12. data/app/controllers/fe/admin/email_templates_controller.rb +10 -4
  13. data/app/controllers/fe/admin/question_pages_controller.rb +3 -3
  14. data/app/controllers/fe/admin/question_sheets_controller.rb +6 -5
  15. data/app/controllers/fe/applications_controller.rb +183 -0
  16. data/app/controllers/fe/concerns/answer_pages_controller_concern.rb +5 -2
  17. data/app/controllers/fe/concerns/answer_sheets_controller_concern.rb +10 -6
  18. data/app/controllers/fe/concerns/application_controller_concern.rb +34 -0
  19. data/app/controllers/fe/payments_controller.rb +184 -0
  20. data/app/controllers/fe/reference_pages_controller.rb +41 -0
  21. data/app/controllers/fe/reference_sheets_controller.rb +1 -1
  22. data/app/controllers/fe/references_controller.rb +74 -0
  23. data/app/controllers/fe/submit_pages_controller.rb +22 -0
  24. data/app/helpers/fe/application_helper.rb +14 -5
  25. data/app/mailers/fe/notifier.rb +1 -1
  26. data/app/models/fe/address.rb +3 -0
  27. data/app/models/fe/answer_pages_presenter.rb +1 -1
  28. data/app/models/fe/answer_sheet.rb +6 -2
  29. data/app/models/fe/answer_sheet_question_sheet.rb +1 -1
  30. data/app/models/fe/application.rb +58 -0
  31. data/app/models/fe/choice_field.rb +1 -1
  32. data/app/models/fe/concerns/answer_concern.rb +10 -11
  33. data/app/models/fe/concerns/answer_pages_presenter_concern.rb +16 -7
  34. data/app/models/fe/concerns/answer_sheet_concern.rb +10 -16
  35. data/app/models/fe/concerns/choice_field_concern.rb +21 -10
  36. data/app/models/fe/condition.rb +1 -1
  37. data/app/models/fe/current_address.rb +12 -0
  38. data/app/models/fe/date_field.rb +3 -3
  39. data/app/models/fe/element.rb +66 -9
  40. data/app/models/fe/email_address.rb +7 -0
  41. data/app/models/fe/email_template.rb +1 -1
  42. data/app/models/fe/option.rb +1 -1
  43. data/app/models/fe/option_group.rb +1 -1
  44. data/app/models/fe/page.rb +13 -4
  45. data/app/models/fe/page_element.rb +13 -1
  46. data/app/models/fe/page_link.rb +1 -1
  47. data/app/models/fe/paragraph.rb +1 -1
  48. data/app/models/fe/payment.rb +32 -7
  49. data/app/models/fe/payment_question.rb +1 -1
  50. data/app/models/fe/person.rb +33 -0
  51. data/app/models/fe/phone_number.rb +5 -0
  52. data/app/models/fe/presenter.rb +3 -2
  53. data/app/models/fe/question.rb +7 -7
  54. data/app/models/fe/question_grid.rb +1 -2
  55. data/app/models/fe/question_set.rb +1 -1
  56. data/app/models/fe/question_sheet.rb +9 -3
  57. data/app/models/fe/reference_question.rb +2 -2
  58. data/app/models/fe/reference_sheet.rb +28 -4
  59. data/app/models/fe/section.rb +1 -1
  60. data/app/models/fe/state_chooser.rb +1 -1
  61. data/app/models/fe/text_field.rb +3 -3
  62. data/app/models/fe/user.rb +3 -0
  63. data/app/models/staff.rb +120 -0
  64. data/app/views/fe/admin/elements/_errors.html.erb +11 -1
  65. data/app/views/fe/admin/elements/create.js.erb +3 -3
  66. data/app/views/fe/admin/elements/destroy.js.erb +2 -2
  67. data/app/views/fe/admin/elements/drop.js.erb +1 -1
  68. data/app/views/fe/admin/elements/duplicate.js.erb +1 -1
  69. data/app/views/fe/admin/elements/edit.js.erb +1 -1
  70. data/app/views/fe/admin/elements/error.js.erb +1 -1
  71. data/app/views/fe/admin/elements/new.js.erb +3 -3
  72. data/app/views/fe/admin/elements/update.js.erb +2 -2
  73. data/app/views/fe/admin/email_templates/edit.html.erb +9 -9
  74. data/app/views/fe/admin/email_templates/index.html.erb +3 -3
  75. data/app/views/fe/admin/email_templates/new.html.erb +2 -2
  76. data/app/views/fe/admin/panels/_advanced_options.html.erb +28 -1
  77. data/app/views/fe/admin/panels/_common_fields.html.erb +1 -1
  78. data/app/views/fe/admin/panels/_condition.html.erb +1 -1
  79. data/app/views/fe/admin/panels/_insert.html.erb +13 -13
  80. data/app/views/fe/admin/panels/_nav_controls.html.erb +4 -4
  81. data/app/views/fe/admin/panels/_page.html.erb +2 -2
  82. data/app/views/fe/admin/panels/_pages_list.html.erb +4 -4
  83. data/app/views/fe/admin/panels/_prop_attachment_field.html.erb +1 -1
  84. data/app/views/fe/admin/panels/_prop_choice_field.html.erb +10 -10
  85. data/app/views/fe/admin/panels/_prop_date_field.html.erb +1 -1
  86. data/app/views/fe/admin/panels/_prop_element.html.erb +7 -7
  87. data/app/views/fe/admin/panels/_prop_page.html.erb +2 -2
  88. data/app/views/fe/admin/panels/_prop_paragraph.html.erb +1 -1
  89. data/app/views/fe/admin/panels/_prop_payment_question.html.erb +1 -0
  90. data/app/views/fe/admin/panels/_prop_question_grid.html.erb +2 -2
  91. data/app/views/fe/admin/panels/_prop_question_grid_with_total.html.erb +1 -1
  92. data/app/views/fe/admin/panels/_prop_reference_question.html.erb +2 -2
  93. data/app/views/fe/admin/panels/_prop_section.html.erb +1 -1
  94. data/app/views/fe/admin/panels/_prop_sheet.html.erb +9 -9
  95. data/app/views/fe/admin/panels/_prop_text_field.html.erb +10 -10
  96. data/app/views/fe/admin/question_pages/_element.html.erb +5 -5
  97. data/app/views/fe/admin/question_pages/_element_show.html.erb +1 -1
  98. data/app/views/fe/admin/question_pages/_errors.html.erb +10 -1
  99. data/app/views/fe/admin/question_pages/_question_page.html.erb +3 -3
  100. data/app/views/fe/admin/question_pages/create.js.erb +3 -3
  101. data/app/views/fe/admin/question_pages/destroy.js.erb +3 -3
  102. data/app/views/fe/admin/question_pages/edit.js.erb +1 -1
  103. data/app/views/fe/admin/question_pages/show.js.erb +3 -2
  104. data/app/views/fe/admin/question_pages/show_panel.js.erb +1 -1
  105. data/app/views/fe/admin/question_sheets/_errors.html.erb +11 -1
  106. data/app/views/fe/admin/question_sheets/edit.js.erb +1 -1
  107. data/app/views/fe/admin/question_sheets/error.js.erb +1 -1
  108. data/app/views/fe/admin/question_sheets/index.html.erb +8 -8
  109. data/app/views/fe/admin/question_sheets/new.html.erb +1 -1
  110. data/app/views/fe/admin/question_sheets/show.html.erb +18 -18
  111. data/app/views/fe/admin/question_sheets/update.js.erb +1 -1
  112. data/app/views/fe/answer_pages/_answer_page.html.erb +27 -30
  113. data/app/views/fe/answer_pages/_element.html.erb +5 -1
  114. data/app/views/fe/answer_pages/update.js.erb +1 -1
  115. data/app/views/fe/answer_sheets/_answer_sheet.html.erb +16 -14
  116. data/app/views/fe/answer_sheets/_element.html.erb +1 -1
  117. data/app/views/fe/answer_sheets/_incomplete.html.erb +8 -8
  118. data/app/views/fe/answer_sheets/_page_link.html.erb +2 -2
  119. data/app/views/fe/answer_sheets/_pages_list.html.erb +4 -4
  120. data/app/views/fe/answer_sheets/_title.html.erb +1 -1
  121. data/app/views/fe/answer_sheets/edit.html.erb +59 -53
  122. data/app/views/fe/answer_sheets/incomplete.js.erb +2 -2
  123. data/app/views/fe/answer_sheets/send_reference_invite.js.erb +1 -1
  124. data/app/views/fe/application/_logout.html.erb +1 -0
  125. data/app/views/fe/payment_pages/_credit.html.erb +47 -0
  126. data/app/views/fe/payment_pages/_mail.html.erb +27 -0
  127. data/app/views/fe/payment_pages/_payment.html.erb +6 -0
  128. data/app/views/fe/payment_pages/_staff.html.erb +25 -0
  129. data/app/views/fe/payment_pages/_staff_results.html.erb +17 -0
  130. data/app/views/fe/payment_pages/edit.html.erb +75 -0
  131. data/app/views/fe/payment_pages/staff_search.js.erb +2 -0
  132. data/app/views/fe/payments/_credit.html.erb +47 -0
  133. data/app/views/fe/payments/_errors.html.erb +1 -0
  134. data/app/views/fe/payments/_payment.html.erb +13 -0
  135. data/app/views/fe/payments/_staff.html.erb +21 -0
  136. data/app/views/fe/payments/_staff_results.html.erb +18 -0
  137. data/app/views/fe/payments/approve.js.erb +3 -0
  138. data/app/views/fe/payments/create.js.erb +19 -0
  139. data/app/views/fe/payments/destroy.js.erb +7 -0
  140. data/app/views/fe/payments/edit.html.erb +56 -0
  141. data/app/views/fe/payments/error.js.erb +3 -0
  142. data/app/views/fe/payments/no_access.html.erb +7 -0
  143. data/app/views/fe/payments/staff_search.js.erb +1 -0
  144. data/app/views/fe/payments/update.html.erb +24 -0
  145. data/app/views/fe/questions/{_acceptance.html.erb → fe/_acceptance.html.erb} +0 -0
  146. data/app/views/fe/questions/{_attachment_field.html.erb → fe/_attachment_field.html.erb} +2 -2
  147. data/app/views/fe/questions/{_checkbox_field.html.erb → fe/_checkbox_field.html.erb} +1 -1
  148. data/app/views/fe/questions/{_country.html.erb → fe/_country.html.erb} +1 -1
  149. data/app/views/fe/questions/{_date_field.html.erb → fe/_date_field.html.erb} +0 -0
  150. data/app/views/fe/questions/{_date_field_mmyy.html.erb → fe/_date_field_mmyy.html.erb} +0 -0
  151. data/app/views/fe/questions/{_drop_down_field.html.erb → fe/_drop_down_field.html.erb} +1 -1
  152. data/app/views/fe/questions/fe/_paragraph.html.erb +1 -0
  153. data/app/views/fe/questions/fe/_payment_question.html.erb +70 -0
  154. data/app/views/fe/questions/{_question_grid.html.erb → fe/_question_grid.html.erb} +7 -7
  155. data/app/views/fe/questions/{_question_grid_with_total.html.erb → fe/_question_grid_with_total.html.erb} +1 -1
  156. data/app/views/fe/questions/{_questions.html.erb → fe/_questions.html.erb} +2 -2
  157. data/app/views/fe/questions/{_radio_button_field.html.erb → fe/_radio_button_field.html.erb} +13 -11
  158. data/app/views/fe/questions/{_rating.html.erb → fe/_rating.html.erb} +0 -0
  159. data/app/views/fe/questions/fe/_reference_discipler.html.erb +1 -0
  160. data/app/views/fe/questions/fe/_reference_friend.html.erb +1 -0
  161. data/app/views/fe/questions/fe/_reference_parent.html.erb +1 -0
  162. data/app/views/fe/questions/fe/_reference_peer.html.erb +1 -0
  163. data/app/views/fe/questions/fe/_reference_question.html.erb +38 -0
  164. data/app/views/fe/questions/fe/_reference_roommate.html.erb +1 -0
  165. data/app/views/fe/questions/fe/_reference_spiritual.html.erb +1 -0
  166. data/app/views/fe/questions/fe/_reference_staff.html.erb +1 -0
  167. data/app/views/fe/questions/fe/_section.html.erb +1 -0
  168. data/app/views/fe/questions/{_state_chooser.html.erb → fe/_state_chooser.html.erb} +0 -0
  169. data/app/views/fe/questions/{_text_area_field.html.erb → fe/_text_area_field.html.erb} +0 -0
  170. data/app/views/fe/questions/{_text_field.html.erb → fe/_text_field.html.erb} +0 -0
  171. data/app/views/fe/questions/{_yes_no.html.erb → fe/_yes_no.html.erb} +6 -6
  172. data/app/views/fe/questions/{_yes_no_field.erb → fe/_yes_no_field.erb} +1 -1
  173. data/app/views/fe/reference_pages/_reference.html.erb +31 -0
  174. data/app/views/fe/reference_pages/edit.html.erb +24 -0
  175. data/app/views/fe/reference_sheets/done.html.erb +2 -0
  176. data/app/views/fe/reference_sheets/submitted.js.erb +1 -0
  177. data/app/views/fe/references/edit.html.erb +8 -0
  178. data/app/views/fe/references/send_invite.js.erb +7 -0
  179. data/app/views/fe/references/show.html.erb +18 -0
  180. data/app/views/fe/references/submit.js.erb +3 -0
  181. data/app/views/fe/submit_pages/_errors.html.erb +1 -0
  182. data/app/views/fe/submit_pages/_thankyou.html.erb +2 -0
  183. data/app/views/fe/submit_pages/edit.html.erb +36 -0
  184. data/app/views/fe/submit_pages/error.js.erb +1 -0
  185. data/app/views/fe/submit_pages/submit.js.erb +3 -0
  186. data/app/views/layouts/fe/application.html.erb +30 -13
  187. data/app/views/layouts/fe/{qe.admin.html.erb → fe.admin.html.erb} +1 -1
  188. data/config/locales/en.yml +37 -0
  189. data/config/routes.rb +69 -27
  190. data/db/migrate/20131003041856_core.rb +4 -4
  191. data/db/migrate/20131003044518_create_email_templates.rb +1 -1
  192. data/db/migrate/20140623153424_create_fe_people.rb +12 -0
  193. data/db/migrate/20140624180246_create_fe_addresses.rb +20 -0
  194. data/db/migrate/20140624182216_create_create_fe_phone_numbers.rb +16 -0
  195. data/db/migrate/20140625160545_create_fe_users.rb +12 -0
  196. data/db/migrate/20140808202507_add_conditional_type_to_elements.rb +5 -0
  197. data/db/migrate/20140808203609_add_conditional_answer_to_elements.rb +5 -0
  198. data/db/migrate/20140828045339_create_payments.rb +13 -0
  199. data/db/migrate/20141103204704_remove_short_value_column.rb +5 -0
  200. data/db/migrate/20141109154522_move_conditional_ids_used_for_choice_field_to_their_own_column.rb +7 -0
  201. data/db/seeds.rb +7 -0
  202. data/lib/fe.rb +1 -1
  203. data/lib/fe/engine.rb +46 -1
  204. data/lib/fe/version.rb +1 -1
  205. data/lib/tasks/fe_tasks.rake +14 -0
  206. data/spec/controllers/fe/admin/elements_controller_spec.rb +1 -1
  207. data/spec/controllers/fe/admin/email_templates_controller_spec.rb +1 -1
  208. data/spec/controllers/fe/admin/question_pages_controller_spec.rb +1 -1
  209. data/spec/controllers/fe/admin/question_sheets_controller_spec.rb +1 -1
  210. data/spec/controllers/fe/answer_pages_controller_spec.rb +1 -1
  211. data/spec/controllers/fe/answer_sheets_controller_spec.rb +1 -1
  212. data/spec/controllers/fe/reference_sheets_controller_spec.rb +1 -1
  213. data/spec/dummy/README.rdoc +28 -0
  214. data/spec/dummy/Rakefile +6 -0
  215. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  216. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  217. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  218. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  219. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  220. data/spec/dummy/bin/bundle +3 -0
  221. data/spec/dummy/bin/rails +4 -0
  222. data/spec/dummy/bin/rake +4 -0
  223. data/spec/dummy/config.ru +4 -0
  224. data/spec/dummy/config/application.rb +29 -0
  225. data/spec/dummy/config/boot.rb +5 -0
  226. data/spec/dummy/config/database.yml +25 -0
  227. data/spec/dummy/config/environment.rb +5 -0
  228. data/spec/dummy/config/environments/development.rb +37 -0
  229. data/spec/dummy/config/environments/production.rb +82 -0
  230. data/spec/dummy/config/environments/test.rb +39 -0
  231. data/spec/dummy/config/initializers/assets.rb +8 -0
  232. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  233. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  234. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  235. data/spec/dummy/config/initializers/inflections.rb +16 -0
  236. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  237. data/spec/dummy/config/initializers/session_store.rb +3 -0
  238. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  239. data/spec/dummy/config/locales/en.yml +23 -0
  240. data/spec/dummy/config/routes.rb +56 -0
  241. data/spec/dummy/config/secrets.yml +22 -0
  242. data/spec/dummy/db/schema.rb +203 -0
  243. data/spec/dummy/db/test.sqlite3 +0 -0
  244. data/spec/dummy/log/test.log +440 -0
  245. data/spec/dummy/public/404.html +67 -0
  246. data/spec/dummy/public/422.html +67 -0
  247. data/spec/dummy/public/500.html +66 -0
  248. data/spec/dummy/public/favicon.ico +0 -0
  249. data/spec/factories/answer_sheet_question_sheets.rb +4 -0
  250. data/spec/factories/answer_sheets.rb +1 -1
  251. data/spec/factories/applications.rb +7 -0
  252. data/spec/factories/elements.rb +19 -0
  253. data/spec/factories/fe_addresses.rb +14 -0
  254. data/spec/factories/fe_email_addresses.rb +7 -0
  255. data/spec/factories/fe_people.rb +10 -0
  256. data/spec/factories/fe_phone_numbers.rb +7 -0
  257. data/spec/factories/page.rb +9 -0
  258. data/spec/factories/page_elements.rb +5 -0
  259. data/spec/factories/payments.rb +7 -0
  260. data/spec/factories/question_sheet.rb +10 -0
  261. data/spec/models/fe/answer_sheet_question_sheet_spec.rb +3 -3
  262. data/spec/models/fe/answer_spec.rb +5 -5
  263. data/spec/models/fe/application_spec.rb +8 -0
  264. data/spec/models/fe/attachment_field_spec.rb +1 -1
  265. data/spec/models/fe/choice_field_spec.rb +29 -2
  266. data/spec/models/fe/condition_spec.rb +5 -5
  267. data/spec/models/fe/date_field_spec.rb +9 -9
  268. data/spec/models/fe/element_spec.rb +139 -9
  269. data/spec/models/fe/email_template_spec.rb +2 -2
  270. data/spec/models/fe/option_group_spec.rb +1 -1
  271. data/spec/models/fe/option_spec.rb +1 -1
  272. data/spec/models/fe/page_element_spec.rb +3 -3
  273. data/spec/models/fe/page_link_spec.rb +1 -1
  274. data/spec/models/fe/page_spec.rb +43 -11
  275. data/spec/models/fe/paragraph_spec.rb +4 -4
  276. data/spec/models/fe/payment_question_spec.rb +65 -0
  277. data/spec/models/fe/person_spec.rb +4 -0
  278. data/spec/models/fe/question_grid_spec.rb +1 -1
  279. data/spec/models/fe/question_grid_with_total_spec.rb +1 -1
  280. data/spec/models/fe/question_set_spec.rb +1 -1
  281. data/spec/models/fe/question_sheet_spec.rb +5 -5
  282. data/spec/models/fe/question_spec.rb +13 -12
  283. data/spec/models/fe/reference_question_spec.rb +4 -4
  284. data/spec/models/fe/reference_sheet_spec.rb +8 -8
  285. data/spec/models/fe/section_spec.rb +1 -1
  286. data/spec/models/fe/state_chooser_spec.rb +1 -1
  287. data/spec/models/fe/text_field_spec.rb +3 -3
  288. data/spec/{spec_helper.rb → rails_helper.rb} +3 -3
  289. data/spec/support/database.txt +3 -3
  290. metadata +261 -75
  291. data/app/views/fe/questions/_paragraph.html.erb +0 -1
  292. data/app/views/fe/questions/_reference_discipler.html.erb +0 -1
  293. data/app/views/fe/questions/_reference_friend.html.erb +0 -1
  294. data/app/views/fe/questions/_reference_parent.html.erb +0 -1
  295. data/app/views/fe/questions/_reference_peer.html.erb +0 -1
  296. data/app/views/fe/questions/_reference_question.html.erb +0 -38
  297. data/app/views/fe/questions/_reference_roommate.html.erb +0 -1
  298. data/app/views/fe/questions/_reference_spiritual.html.erb +0 -1
  299. data/app/views/fe/questions/_reference_staff.html.erb +0 -1
  300. data/app/views/fe/questions/_section.html.erb +0 -1
  301. data/lib/generators/fe/install_generator.rb +0 -132
  302. data/lib/tasks/qe_tasks.rake +0 -4
  303. data/spec/models/fe/answer_sheet_spec.rb +0 -8
@@ -0,0 +1 @@
1
+ page.replace_html 'application_errors', :partial => 'errors', :locals => {:application => @application}
@@ -0,0 +1,3 @@
1
+ page.replace_html "submit_app", :partial => "thankyou"
2
+ page.replace "meta", :partial => "fe/applications/meta_info"
3
+ page << "new Effect.ScrollTo('meta');"
@@ -3,29 +3,46 @@
3
3
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4
4
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
5
5
  <head>
6
- <title>Dynamic Forms</title>
7
- <%= javascript_include_tag 'https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js' ,
8
- 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js' %>
9
- <%= stylesheet_link_tag 'jquery-ui-1.8.2.custom' %>
10
- <%= stylesheet_link_tag 'sp' %>
11
- <%= questionnaire_engine_includes(:area => :public) %>
12
- <%= javascript_include_tag 'rails', 'rails.extra' %>
6
+ <title><%= @title %></title>
7
+ <%= stylesheet_link_tag "print", :media => 'print' %>
8
+ <%= stylesheet_link_tag "base" %>
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ var answer_sheet_type = '<%= @answer_sheet.class %>'
12
+ </script>
13
13
  <%= csrf_meta_tag %>
14
+ <%= stylesheet_link_tag 'message_block' %>
15
+ <%= stylesheet_link_tag asset_path('fe/fe.screen.css') %>
16
+ <script type="text/javascript" charset="utf-8">
17
+ <%#= raw Rack::TimeZone::Javascript %>
18
+ setTimezoneCookie()
19
+ </script>
20
+ <%= javascript_include_tag asset_path("fe/fe.public.js") %>
14
21
  </head>
15
22
  <body>
16
23
 
17
24
  <div id="wrapper">
18
- <div id="header">
25
+
26
+ <div id="header" style="height: 72px;">
27
+ <h1 style="display: inline; position: absolute; color: #F3F3F3; margin: 4.5px 10px; line-height: 36px;"><%= @title %></h1>
28
+
29
+ <%= render "fe/application/logout" %>
19
30
  </div>
31
+
32
+ <% flash.each do |key, value| %>
33
+ <div class="alert alert-<%= key %>"><%= value %></div>
34
+ <% end %>
20
35
 
21
36
  <div id="main">
22
- <%= yield %>
37
+ <%= yield %>
23
38
  </div>
24
39
  </div>
25
-
26
- <div id="footer">
27
- Form Engine | Created by <a href="http://www.26am.com">26AM Design Studio</a>
40
+ <div id="footerwrap">
41
+ <div style="clear:both"></div>
42
+ <div id="footer">
43
+ <!-- anything in here my be custom branded -->
44
+ <center>Form Engine Footer</center>
45
+ </div>
28
46
  </div>
29
-
30
47
  </body>
31
48
  </html>
@@ -16,7 +16,7 @@
16
16
  <div id="wrapper">
17
17
  <div id="header">
18
18
  <ul id="nav-main">
19
- <li class="active"><%= link_to 'Forms', admin_question_sheets_path %></li>
19
+ <li class="active"><%= link_to 'Forms', fe_admin_question_sheets_path %></li>
20
20
  <div class="clear"></div>
21
21
  </ul>
22
22
  </div>
@@ -0,0 +1,37 @@
1
+ # Sample localization file for English. Add more files in this directory for other locales.
2
+ # See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3
+
4
+ en:
5
+ date:
6
+ formats:
7
+ # Use the strftime parameters for formats.
8
+ # When no format has been given, it uses default.
9
+ # You can provide other formats here if you like!
10
+ default: "%m/%d/%Y"
11
+ ps: "%m/%d/%Y %H:%M:%S"
12
+ short: "%b %d"
13
+ long: "%B %d, %Y"
14
+
15
+ day_names: [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
16
+ abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
17
+
18
+ # Don't forget the nil at the beginning; there's no such thing as a 0th month
19
+ month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December]
20
+ abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
21
+ # Used in date_select and datime_select.
22
+
23
+ time:
24
+ formats:
25
+ default: "%m/%d/%Y"
26
+ datetime: "%b %d, %Y %H:%M:%S %p"
27
+ short: "%d %b %H:%M"
28
+ long: "%B %d, %Y %H:%M"
29
+ am: "am"
30
+ pm: "pm"
31
+
32
+ # Used in array.to_sentence.
33
+ support:
34
+ array:
35
+ words_connector: ", "
36
+ two_words_connector: " and "
37
+ last_word_connector: ", and "
data/config/routes.rb CHANGED
@@ -1,49 +1,91 @@
1
1
  Rails.application.routes.draw do
2
2
 
3
- namespace :admin do
4
- resources :email_templates
5
- resources :question_sheets do
6
- member do
7
- post :archive
8
- post :unarchive
9
- post :duplicate
10
- end
11
- resources :pages, # pages/
12
- :controller => :question_pages do # question_sheet_pages_path(),
13
- collection do
14
- post :reorder
15
- end
3
+ namespace "fe" do
4
+ namespace :admin do
5
+ resources :email_templates
6
+ resources :question_sheets do
16
7
  member do
17
- get :show_panel
8
+ post :archive
9
+ post :unarchive
10
+ post :duplicate
18
11
  end
19
- resources :elements do
12
+ resources :pages, # pages/
13
+ :controller => :question_pages do # question_sheet_pages_path(),
20
14
  collection do
21
15
  post :reorder
22
16
  end
23
17
  member do
24
- get :remove_from_grid
25
- post :use_existing
26
- post :drop
27
- post :duplicate
18
+ get :show_panel
19
+ end
20
+ resources :elements do
21
+ collection do
22
+ post :reorder
23
+ end
24
+ member do
25
+ get :remove_from_grid
26
+ post :use_existing
27
+ post :drop
28
+ post :duplicate
29
+ end
28
30
  end
29
31
  end
30
32
  end
31
33
  end
32
34
  end
33
35
 
36
+ match 'fe/references/done' => "fe/reference_sheets#done", via: [:get, :post]
37
+ match 'fe/applications/show_default' => 'fe/applications#show_default', :as => 'show_default', via: [:get, :post]
38
+ match 'fe/payment_pages/staff_search' => 'fe/payment_pages#staff_search', :as => :payment_page_staff_search, via: [:get, :post]
39
+
34
40
  # form capture and review
35
- resources :reference_sheets
36
- resources :answer_sheets do
37
- member do
38
- post :send_reference_invite
39
- post :submit
41
+ namespace "fe" do
42
+ resources :reference_sheets
43
+ resources :answer_sheets do
44
+ member do
45
+ post :send_reference_invite
46
+ post :submit
47
+ end
48
+ resources :page, :controller => :answer_pages do
49
+ member do
50
+ post :save_file
51
+ end
52
+ end
40
53
  end
41
- resources :page, :controller => :answer_pages do
54
+ resources :applications do
42
55
  member do
43
- post :save_file
56
+ get :no_ref
57
+ get :no_conf
58
+ get :collated_refs
59
+ get :done
60
+ end
61
+
62
+ resources :references do
63
+ member do
64
+ get :print
65
+ post :submit
66
+ post :send_invite
67
+ end
68
+ end
69
+
70
+ # custom pages (singular resources)
71
+ resource :reference_page
72
+
73
+ resources :payments do
74
+ member do
75
+ get :approve
76
+ end
77
+ collection do
78
+ post :staff_search
79
+ end
80
+ end
81
+
82
+ resource :submit_page do
83
+ member do
84
+ post :submit
85
+ end
44
86
  end
45
87
  end
46
88
  end
47
89
 
48
- resources :elements
90
+ resources :elements, :namespace => "fe"
49
91
  end
@@ -7,13 +7,13 @@
7
7
  end
8
8
 
9
9
  create_table Fe.answer_sheet_class.constantize.table_name do |t|
10
- t.integer :question_sheet_id
11
- t.datetime :created_at
12
- t.datetime :completed_at
10
+ t.integer :applicant_id
11
+ t.string :status
12
+ t.datetime :submitted_at
13
13
  t.timestamps
14
14
  end
15
15
 
16
- add_index Fe.answer_sheet_class.constantize.table_name, :question_sheet_id, name: 'question_sheet_id'
16
+ add_index Fe.answer_sheet_class.constantize.table_name, :applicant_id, name: 'question_sheet_id'
17
17
 
18
18
  create_table Fe::Page.table_name do |t|
19
19
  t.integer :question_sheet_id, :null => false
@@ -8,7 +8,7 @@ class CreateEmailTemplates < ActiveRecord::Migration
8
8
 
9
9
  t.timestamps
10
10
  end
11
- add_index Fe::EmailTemplate.table_name, :name
11
+ # add_index Fe::EmailTemplate.table_name, :name
12
12
  end
13
13
 
14
14
  def down
@@ -0,0 +1,12 @@
1
+ class CreateFePeople < ActiveRecord::Migration
2
+ def change
3
+ create_table :fe_people do |t|
4
+ t.string :first_name
5
+ t.string :last_name
6
+ t.integer :user_id
7
+ t.boolean :is_staff
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,20 @@
1
+ class CreateFeAddresses < ActiveRecord::Migration
2
+ def change
3
+ create_table :fe_addresses do |t|
4
+ t.datetime :startdate
5
+ t.datetime :enddate
6
+ t.string :address1
7
+ t.string :address2
8
+ t.string :address3
9
+ t.string :address4
10
+ t.string :address_type
11
+ t.string :city
12
+ t.string :state
13
+ t.string :zip
14
+ t.string :country
15
+ t.integer :person_id
16
+
17
+ t.timestamps
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ class CreateCreateFePhoneNumbers < ActiveRecord::Migration
2
+ def change
3
+ create_table :create_fe_phone_numbers do |t|
4
+ t.string :number
5
+ t.string :extensions
6
+ t.integer :person_id
7
+ t.string :location
8
+ t.boolean :primary
9
+ t.string :txt_to_email
10
+ t.integer :carrier_id
11
+ t.datetime :email_updated_at
12
+
13
+ t.timestamps
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ class CreateFeUsers < ActiveRecord::Migration
2
+ def change
3
+ create_table :fe_users do |t|
4
+ t.integer :user_id
5
+ t.datetime :last_login
6
+ t.string :type
7
+ t.string :role
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,5 @@
1
+ class AddConditionalTypeToElements < ActiveRecord::Migration
2
+ def change
3
+ add_column Fe::Element.table_name, :conditional_type, :string
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddConditionalAnswerToElements < ActiveRecord::Migration
2
+ def change
3
+ add_column Fe::Element.table_name, :conditional_answer, :text
4
+ end
5
+ end
@@ -0,0 +1,13 @@
1
+ class CreatePayments < ActiveRecord::Migration
2
+ def change
3
+ create_table Fe::Payment.table_name do |t|
4
+ t.timestamps
5
+ t.integer "application_id"
6
+ t.string "payment_type"
7
+ t.string "amount"
8
+ t.string "payment_account_no"
9
+ t.string "auth_code"
10
+ t.string "status"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ class RemoveShortValueColumn < ActiveRecord::Migration
2
+ def change
3
+ remove_column Fe::Answer.table_name, :short_value
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ class MoveConditionalIdsUsedForChoiceFieldToTheirOwnColumn < ActiveRecord::Migration
2
+ def change
3
+ add_column Fe::Element.table_name, :choice_field_id, :integer
4
+ Fe::Element.reset_column_information
5
+ Fe::Element.where(conditional_type: nil).where("conditional_id is not null").update_all("choice_field_id = conditional_id, conditional_id = null")
6
+ end
7
+ end
data/db/seeds.rb ADDED
@@ -0,0 +1,7 @@
1
+ unless User.where(email: 'example@example.com').first
2
+ User.create(email: 'example@example.com', password: 'password', password_confirmation: 'password')
3
+ end
4
+ unless admin = User.where(email: 'admin@example.com').first
5
+ admin = User.create(email: 'admin@example.com', password: 'password', password_confirmation: 'password')
6
+ end
7
+ Fe::User.where(user_id: admin.id).first_or_create
data/lib/fe.rb CHANGED
@@ -6,7 +6,7 @@ module Fe
6
6
  self.table_name_prefix ||= 'fe_'
7
7
 
8
8
  mattr_accessor :answer_sheet_class
9
- self.answer_sheet_class ||='Fe::AnswerSheet'
9
+ self.answer_sheet_class ||= 'Fe::Application'
10
10
 
11
11
  mattr_accessor :from_email
12
12
  self.from_email ||= 'info@example.com'
data/lib/fe/engine.rb CHANGED
@@ -1,11 +1,49 @@
1
1
  module Fe
2
2
  class Engine < ::Rails::Engine
3
- isolate_namespace Fe
3
+ # isolate_namespace is causing problems accessing the app's url helpers when the app
4
+ # mixes in methods to a controller.
5
+ #
6
+ # Using the si as an example:
7
+ #
8
+ # si/app/controllers/fe/test_controller.rb
9
+ #
10
+ # class Fe::TestController < ApplicationController
11
+ # def index
12
+ # end
13
+ # end
14
+ #
15
+ # si/app/views/fe/test/index.html.erb
16
+ #
17
+ # <%= logout_path %> <-- this will crash, no url helpers are accessible
18
+ #
19
+ # As explained here,
20
+ # http://crypt.codemancers.com/posts/2013-09-22-isolate-namespace-in-rails-engines/
21
+ # it's a real pain to extend an isolated namespace engine from the app:
22
+ #
23
+ # "Other issues include extending models and controllers. Rails
24
+ # guides gives two options here. One to use class_eval, and other
25
+ # to use concerns introduced in Rails 4. Both are kind of hacky.
26
+ # Hope there is a better solution."
27
+ #
28
+ # and as per a user comment on that page:
29
+ #
30
+ # "I've had a similar experience with `isolate_namespace`, if the engines
31
+ # need to be truely isolated it works, but if you need to extend the engine
32
+ # from the client app its best to remove it and just namespace manually.
33
+ #
34
+ # I'm disabling the isolate_namespace
35
+ #
36
+ #isolate_namespace Fe
37
+
4
38
 
5
39
  config.to_prepare do
6
40
  Dir.glob(File.join(File.dirname(__FILE__), "..", "..", "app", "**", "*_concern.rb")).each do |c|
7
41
  require_dependency(c)
8
42
  end
43
+
44
+ Dir.glob(File.join(Rails.root + 'app/decorators/**/*_decorator.rb')).each do |c|
45
+ require_dependency(c)
46
+ end
9
47
  end
10
48
 
11
49
  config.generators do |g|
@@ -15,5 +53,12 @@ module Fe
15
53
  g.helper false
16
54
  end
17
55
 
56
+ initializer "fe.asset_precompile_paths" do |app|
57
+ app.config.assets.precompile += %w(fe/admin.js fe/fe.screen.css)
58
+ end
59
+
60
+ initializer "model_core.factories", :after => "factory_girl.set_factory_paths" do
61
+ FactoryGirl.definition_file_paths << File.expand_path('../../../spec/factories', __FILE__) if defined?(FactoryGirl)
62
+ end
18
63
  end
19
64
  end