fe 0.0.4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +16 -36
  3. data/app/assets/javascripts/fe/admin.js +0 -1
  4. data/app/assets/javascripts/fe/fe.admin.js +40 -16
  5. data/app/assets/javascripts/fe/fe.common.js +48 -14
  6. data/app/assets/javascripts/fe/fe.public.js +1 -414
  7. data/app/assets/javascripts/fe/fe.public.nojquery.js +450 -0
  8. data/app/assets/javascripts/fe/jquery.validate.pack.js +3 -15
  9. data/app/assets/stylesheets/360front.css +0 -0
  10. data/app/assets/stylesheets/fe/fe.screen.css.scss.erb +69 -10
  11. data/app/controllers/fe/admin/elements_controller.rb +64 -48
  12. data/app/controllers/fe/admin/email_templates_controller.rb +2 -2
  13. data/app/controllers/fe/admin/question_pages_controller.rb +1 -1
  14. data/app/controllers/fe/admin/question_sheets_controller.rb +2 -103
  15. data/app/controllers/fe/concerns/admin/question_sheets_controller_concern.rb +112 -0
  16. data/app/controllers/fe/concerns/answer_pages_controller_concern.rb +2 -1
  17. data/app/controllers/fe/concerns/answer_sheets_controller_concern.rb +1 -1
  18. data/app/controllers/fe/concerns/application_controller_concern.rb +13 -0
  19. data/app/controllers/fe/reference_sheets_controller.rb +2 -0
  20. data/app/controllers/fe/references_controller.rb +1 -0
  21. data/app/helpers/fe/application_helper.rb +5 -0
  22. data/app/mailers/fe/notifier.rb +11 -4
  23. data/app/models/answer_sheet.rb +2 -0
  24. data/app/models/fe/application.rb +2 -1
  25. data/app/models/fe/concerns/answer_pages_presenter_concern.rb +10 -1
  26. data/app/models/fe/concerns/answer_sheet_concern.rb +38 -8
  27. data/app/models/fe/concerns/choice_field_concern.rb +17 -10
  28. data/app/models/fe/date_field.rb +1 -1
  29. data/app/models/fe/element.rb +105 -31
  30. data/app/models/fe/page.rb +52 -20
  31. data/app/models/fe/page_element.rb +6 -1
  32. data/app/models/fe/page_link.rb +6 -3
  33. data/app/models/fe/person.rb +11 -8
  34. data/app/models/fe/question.rb +2 -6
  35. data/app/models/fe/question_grid.rb +1 -1
  36. data/app/models/fe/question_grid_with_total.rb +15 -0
  37. data/app/models/fe/question_set.rb +1 -1
  38. data/app/models/fe/question_sheet.rb +15 -13
  39. data/app/models/fe/reference_question.rb +0 -10
  40. data/app/models/fe/reference_sheet.rb +17 -13
  41. data/app/models/staff.rb +2 -0
  42. data/app/validators/email_validator.rb +11 -0
  43. data/app/views/fe/admin/elements/create.js.erb +1 -0
  44. data/app/views/fe/admin/elements/drop.js.erb +1 -0
  45. data/app/views/fe/admin/elements/duplicate.js.erb +1 -0
  46. data/app/views/fe/admin/panels/_advanced_options.html.erb +9 -3
  47. data/app/views/fe/admin/panels/_common_fields.html.erb +19 -5
  48. data/app/views/fe/admin/panels/_page.html.erb +1 -1
  49. data/app/views/fe/admin/panels/_prop_choice_field.html.erb +20 -11
  50. data/app/views/fe/admin/panels/_prop_element.html.erb +2 -9
  51. data/app/views/fe/admin/panels/_prop_page.html.erb +8 -3
  52. data/app/views/fe/admin/panels/_prop_paragraph.html.erb +38 -24
  53. data/app/views/fe/admin/panels/_prop_section.html.erb +8 -2
  54. data/app/views/fe/admin/panels/_prop_sheet.html.erb +4 -1
  55. data/app/views/fe/admin/question_pages/_element.html.erb +11 -1
  56. data/app/views/fe/answer_pages/_answer_page.html.erb +9 -8
  57. data/app/views/fe/answer_pages/_element.html.erb +6 -7
  58. data/app/views/fe/answer_pages/_page_name.html.erb +1 -0
  59. data/app/views/fe/answer_pages/update.js.erb +3 -3
  60. data/app/views/fe/answer_sheets/_answer_sheet.html.erb +3 -3
  61. data/app/views/fe/answer_sheets/_element.html.erb +52 -34
  62. data/app/views/fe/answer_sheets/_incomplete.html.erb +1 -1
  63. data/app/views/fe/answer_sheets/_page_link.html.erb +2 -2
  64. data/app/views/fe/answer_sheets/_pages_list.html.erb +3 -3
  65. data/app/views/fe/answer_sheets/_submit_to.html.erb +1 -0
  66. data/app/views/fe/answer_sheets/edit.html.erb +14 -14
  67. data/app/views/fe/answer_sheets/incomplete.js.erb +3 -0
  68. data/app/views/fe/answer_sheets/index.html.erb +3 -3
  69. data/app/views/fe/answer_sheets/show.html.erb +1 -1
  70. data/app/views/fe/applications/_logout.html.erb +1 -0
  71. data/app/views/fe/applications/show.html.erb +1 -0
  72. data/app/views/fe/questions/fe/_acceptance.html.erb +3 -3
  73. data/app/views/fe/questions/fe/_attachment_field.html.erb +7 -3
  74. data/app/views/fe/questions/fe/_checkbox_field.html.erb +26 -24
  75. data/app/views/fe/questions/fe/_date_field.html.erb +1 -2
  76. data/app/views/fe/questions/fe/_date_field_mmyy.html.erb +2 -2
  77. data/app/views/fe/questions/fe/_drop_down_field.html.erb +3 -2
  78. data/app/views/fe/questions/fe/_paragraph.html.erb +1 -1
  79. data/app/views/fe/questions/fe/_question_grid.html.erb +14 -9
  80. data/app/views/fe/questions/fe/_question_grid_with_total.html.erb +21 -14
  81. data/app/views/fe/questions/fe/_questions.html.erb +2 -2
  82. data/app/views/fe/questions/fe/_radio_button_field.html.erb +12 -11
  83. data/app/views/fe/questions/fe/_rating.html.erb +9 -8
  84. data/app/views/fe/questions/fe/_reference_discipler.html.erb +1 -1
  85. data/app/views/fe/questions/fe/_reference_friend.html.erb +1 -1
  86. data/app/views/fe/questions/fe/_reference_parent.html.erb +1 -1
  87. data/app/views/fe/questions/fe/_reference_peer.html.erb +1 -1
  88. data/app/views/fe/questions/fe/_reference_question.html.erb +22 -15
  89. data/app/views/fe/questions/fe/_reference_roommate.html.erb +1 -1
  90. data/app/views/fe/questions/fe/_reference_spiritual.html.erb +1 -1
  91. data/app/views/fe/questions/fe/_reference_staff.html.erb +1 -1
  92. data/app/views/fe/questions/fe/_section.html.erb +1 -1
  93. data/app/views/fe/questions/fe/_text_area_field.html.erb +10 -3
  94. data/app/views/fe/questions/fe/_text_field.html.erb +1 -1
  95. data/app/views/fe/questions/fe/_yes_no_field.erb +3 -3
  96. data/app/views/fe/reference_pages/_reference.html.erb +11 -11
  97. data/app/views/fe/reference_pages/edit.html.erb +7 -7
  98. data/app/views/fe/reference_sheets/done.html.erb +2 -2
  99. data/app/views/fe/reference_sheets/not_found.html.erb +4 -4
  100. data/app/views/fe/references/edit.html.erb +6 -6
  101. data/app/views/fe/references/show.html.erb +7 -7
  102. data/app/views/fe/references/submit.js.erb +1 -1
  103. data/app/views/fe/submit_pages/_thankyou.html.erb +1 -1
  104. data/app/views/fe/submit_pages/edit.html.erb +9 -9
  105. data/app/views/layouts/fe/_error_messages_for.html.erb +7 -0
  106. data/app/views/layouts/fe/application.html.erb +1 -1
  107. data/config/routes.rb +0 -36
  108. data/db/migrate/20131003044250_create_reference_sheets.rb +1 -0
  109. data/db/migrate/20140623153424_create_fe_people.rb +1 -1
  110. data/db/migrate/20140624180246_create_fe_addresses.rb +1 -1
  111. data/db/migrate/20140624182216_create_fe_phone_numbers.rb +16 -0
  112. data/db/migrate/20140625160545_create_fe_users.rb +1 -1
  113. data/db/migrate/20150504221439_add_all_element_ids_to_pages.rb +5 -0
  114. data/db/migrate/20150713022326_add_locale_columns.rb +9 -0
  115. data/db/migrate/20150714220730_add_locale_to_answer_sheet.rb +5 -0
  116. data/db/migrate/20150928085325_change_pages_all_element_ids_to_text.rb +5 -0
  117. data/db/migrate/20150930191538_add_locale_to_reference_sheets.rb +5 -0
  118. data/lib/access_key_generator.rb +12 -0
  119. data/lib/distinct_distinct_patch.rb +20 -0
  120. data/lib/fe.rb +4 -0
  121. data/lib/fe/engine.rb +16 -4
  122. data/lib/fe/version.rb +1 -1
  123. data/spec/controllers/fe/admin/elements_controller_spec.rb +201 -1
  124. data/spec/controllers/fe/admin/email_templates_controller_spec.rb +26 -1
  125. data/spec/controllers/fe/admin/question_pages_controller_spec.rb +8 -1
  126. data/spec/controllers/fe/admin/question_sheets_controller_spec.rb +48 -1
  127. data/spec/controllers/fe/answer_pages_controller_spec.rb +73 -1
  128. data/spec/controllers/fe/answer_sheets_controller_spec.rb +80 -1
  129. data/spec/controllers/fe/reference_pages_controller.rb +4 -0
  130. data/spec/controllers/fe/references_controller_spec.rb +4 -0
  131. data/spec/controllers/fe/submit_pages_controller_spec.rb +4 -0
  132. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  133. data/spec/dummy/app/helpers/application_helper.rb +9 -0
  134. data/spec/dummy/app/models/application.rb +3 -0
  135. data/spec/dummy/app/models/person.rb +11 -0
  136. data/spec/dummy/app/models/user.rb +3 -0
  137. data/spec/dummy/config/application.rb +2 -1
  138. data/spec/dummy/config/database.yml +20 -17
  139. data/spec/dummy/config/environments/production.rb +1 -5
  140. data/spec/dummy/config/environments/test.rb +3 -1
  141. data/spec/dummy/config/initializers/fast_gettext.rb +5 -0
  142. data/spec/dummy/config/secrets.yml +2 -2
  143. data/spec/dummy/db/migrate/20141203214017_core.fe_engine.rb +92 -0
  144. data/spec/dummy/db/migrate/20141203214018_create_reference_sheets.fe_engine.rb +25 -0
  145. data/spec/dummy/db/migrate/20141203214019_add_element_and_answer_fields.fe_engine.rb +11 -0
  146. data/spec/dummy/db/migrate/20141203214020_create_email_templates.fe_engine.rb +18 -0
  147. data/spec/dummy/db/migrate/20141203214021_add_max_lengths.fe_engine.rb +9 -0
  148. data/spec/dummy/db/migrate/20141203214022_create_join_table.fe_engine.rb +12 -0
  149. data/spec/dummy/db/migrate/20141203214023_remove_question_id_from_element.fe_engine.rb +10 -0
  150. data/spec/dummy/db/migrate/20141203214024_create_fe_people.fe_engine.rb +13 -0
  151. data/spec/dummy/db/migrate/20141203214025_create_fe_addresses.fe_engine.rb +21 -0
  152. data/{db/migrate/20140624182216_create_create_fe_phone_numbers.rb → spec/dummy/db/migrate/20141203214026_create_create_fe_phone_numbers.fe_engine.rb} +1 -0
  153. data/spec/dummy/db/migrate/20141203214027_create_fe_users.fe_engine.rb +13 -0
  154. data/spec/dummy/db/migrate/20141203214028_add_conditional_type_to_elements.fe_engine.rb +6 -0
  155. data/spec/dummy/db/migrate/20141203214029_add_conditional_answer_to_elements.fe_engine.rb +6 -0
  156. data/spec/dummy/db/migrate/20141203214030_remove_short_value_column.fe_engine.rb +6 -0
  157. data/spec/dummy/db/migrate/20141203214031_move_conditional_ids_used_for_choice_field_to_their_own_column.fe_engine.rb +8 -0
  158. data/spec/dummy/db/migrate/20150123215803_create_users.rb +9 -0
  159. data/spec/dummy/db/migrate/20150504222619_add_all_element_ids_to_pages.fe_engine.rb +6 -0
  160. data/spec/dummy/db/migrate/20150930190001_create_fe_phone_numbers.fe_engine.rb +20 -0
  161. data/spec/dummy/db/migrate/20150930190002_add_locale_columns.fe_engine.rb +10 -0
  162. data/spec/dummy/db/migrate/20150930190003_add_locale_to_answer_sheet.fe_engine.rb +6 -0
  163. data/spec/dummy/db/migrate/20150930190004_change_pages_all_element_ids_to_text.fe_engine.rb +6 -0
  164. data/spec/dummy/db/migrate/20150930191756_add_locale_to_reference_sheets.fe_engine.rb +6 -0
  165. data/spec/dummy/db/schema.rb +50 -20
  166. data/spec/dummy/log/development.log +5 -0
  167. data/spec/factories/applications.rb +0 -1
  168. data/spec/factories/dummy_applications.rb +6 -0
  169. data/spec/factories/dummy_people.rb +6 -0
  170. data/spec/factories/dummy_users.rb +6 -0
  171. data/spec/factories/elements.rb +28 -3
  172. data/spec/factories/email_templates.rb +5 -0
  173. data/spec/factories/fe_email_templates.rb +9 -0
  174. data/spec/factories/fe_people.rb +0 -2
  175. data/spec/factories/fe_user.rb +6 -0
  176. data/spec/factories/question_sheet.rb +1 -1
  177. data/spec/factories/reference_sheets.rb +9 -0
  178. data/spec/mailers/fe/notifier_spec.rb +39 -0
  179. data/spec/models/fe/choice_field_spec.rb +20 -0
  180. data/spec/models/fe/element_spec.rb +185 -0
  181. data/spec/models/fe/page_spec.rb +112 -0
  182. data/spec/models/fe/question_sheet_spec.rb +106 -0
  183. data/spec/models/fe/reference_sheet_spec.rb +20 -0
  184. data/spec/rails_helper.rb +41 -13
  185. data/spec/support/choices.xml +6 -0
  186. metadata +136 -48
  187. data/app/assets/javascripts/fe/rails.extra.js +0 -6
  188. data/app/controllers/fe/applications_controller.rb +0 -183
  189. data/app/controllers/fe/payments_controller.rb +0 -184
  190. data/app/models/fe/payment.rb +0 -77
  191. data/app/models/fe/payment_question.rb +0 -22
  192. data/app/views/fe/admin/panels/_prop_payment_question.html.erb +0 -1
  193. data/app/views/fe/application/_logout.html.erb +0 -1
  194. data/app/views/fe/payment_pages/_credit.html.erb +0 -47
  195. data/app/views/fe/payment_pages/_mail.html.erb +0 -27
  196. data/app/views/fe/payment_pages/_payment.html.erb +0 -6
  197. data/app/views/fe/payment_pages/_staff.html.erb +0 -25
  198. data/app/views/fe/payment_pages/_staff_results.html.erb +0 -17
  199. data/app/views/fe/payment_pages/edit.html.erb +0 -75
  200. data/app/views/fe/payment_pages/staff_search.js.erb +0 -2
  201. data/app/views/fe/payments/_credit.html.erb +0 -47
  202. data/app/views/fe/payments/_errors.html.erb +0 -1
  203. data/app/views/fe/payments/_payment.html.erb +0 -13
  204. data/app/views/fe/payments/_staff.html.erb +0 -21
  205. data/app/views/fe/payments/_staff_results.html.erb +0 -18
  206. data/app/views/fe/payments/approve.js.erb +0 -3
  207. data/app/views/fe/payments/create.js.erb +0 -19
  208. data/app/views/fe/payments/destroy.js.erb +0 -7
  209. data/app/views/fe/payments/edit.html.erb +0 -56
  210. data/app/views/fe/payments/error.js.erb +0 -3
  211. data/app/views/fe/payments/no_access.html.erb +0 -7
  212. data/app/views/fe/payments/staff_search.js.erb +0 -1
  213. data/app/views/fe/payments/update.html.erb +0 -24
  214. data/app/views/fe/questions/fe/_payment_question.html.erb +0 -70
  215. data/db/migrate/20140828045339_create_payments.rb +0 -13
  216. data/spec/dummy/db/test.sqlite3 +0 -0
  217. data/spec/factories/payments.rb +0 -7
  218. data/spec/models/fe/payment_question_spec.rb +0 -65
@@ -1,25 +1,26 @@
1
+ <% choices = rating.choices(session[:locale]) %>
1
2
  <% dom_id = "" %>
2
3
  <div id="<%= dom_id(rating) %>">
3
4
  <table cellspacing="0" class="rating">
4
5
  <tr>
5
6
  <% css_class = ' ' -%>
6
- <% rating.choices.each_with_index do |choice, num| -%>
7
- <% dom_id = dom_id(rating) + "_" + pretty_tag(choice[1])
8
- last_choice = (num == rating.choices.length - 1)
7
+ <% choices.each_with_index do |choice, num| -%>
8
+ <% dom_id = dom_id(rating) + "_" + pretty_tag(choice[1])
9
+ last_choice = (num == choices.length - 1)
9
10
  css_class += rating.validation_class(@answer_sheet) if last_choice
10
11
  checked = rating.has_answer?(choice[1],@answer_sheet) -%>
11
- <td><%= radio_button_tag "answers[#{rating.id}]", choice[1], checked,
12
+ <td><%= radio_button_tag "answers[#{rating.id}]", choice[1], checked,
12
13
  :id => dom_id,
13
14
  :class => css_class,
14
- :disabled => @answer_sheet.frozen?&&!@presenter.reference?,
15
- :readonly => @answer_sheet.frozen?&&!@presenter.reference? %></td>
15
+ :disabled => @answer_sheet.frozen?&&!@presenter.try(:reference?),
16
+ :readonly => @answer_sheet.frozen?&&!@presenter.try(:reference?) %></td>
16
17
  <% end -%>
17
18
  </tr>
18
19
  <tr>
19
- <% rating.choices.each do |choice| %>
20
+ <% choices.each do |choice| %>
20
21
  <td><%= choice[0] %></td>
21
22
  <% end -%>
22
23
  </tr>
23
24
  </table>
24
- <div id="advice-validate-rating-<%= dom_id %>" class="validation-advice" style="display: none;">Please select one of the above options.</div>
25
+ <div id="advice-validate-rating-<%= dom_id %>" class="validation-advice" style="display: none;"><%= _('Please select one of the above options.') %></div>
25
26
  </div>
@@ -1 +1 @@
1
- <%= render 'fe/questions/fe/reference_question', :reference_question => reference_discipler, :title => 'Discipler Reference' %>
1
+ <%= render 'fe/questions/fe/reference_question', :reference_question => reference_discipler, :title => _('Discipler Reference') %>
@@ -1 +1 @@
1
- <%= render 'fe/questions/fe/reference_question', :reference_question => reference_friend, :title => 'Friend Reference' %>
1
+ <%= render 'fe/questions/fe/reference_question', :reference_question => reference_friend, :title => _('Friend Reference') %>
@@ -1 +1 @@
1
- <%= render 'fe/questions/fe/reference_question', :reference_question => reference_parent, :title => 'Parent Reference' %>
1
+ <%= render 'fe/questions/fe/reference_question', :reference_question => reference_parent, :title => _('Parent Reference') %>
@@ -1 +1 @@
1
- <%= render 'fe/questions/fe/reference_question', :reference_question => reference_peer, :title => 'Peer Reference' %>
1
+ <%= render 'fe/questions/fe/reference_question', :reference_question => reference_peer, :title => _('Peer Reference') %>
@@ -1,38 +1,45 @@
1
1
  <% reference = reference_question.response(@answer_sheet) %>
2
2
  <% reference ||= Fe::ReferenceSheet.new %>
3
- <% css_class = reference_question.required?(@answer_sheet) ? 'required' : '' %>
4
- <% email_css_class = reference_question.required?(@answer_sheet) ? 'required validate-email' : '' %>
5
- <% phone_css_class = reference_question.required?(@answer_sheet) ? 'required validate-phone' : '' %>
3
+ <% css_class = reference_question.required?(@answer_sheet, @page) ? 'required' : '' %>
4
+ <% email_css_class = reference_question.required?(@answer_sheet, @page) ? 'required email email' : '' %>
5
+ <% phone_css_class = reference_question.required?(@answer_sheet, @page) ? 'required phone phone' : '' %>
6
6
  <%#= hidden_field_tag "reference[#{reference.id}]", :class => reference_question.required? && !reference.email_sent? ? 'required' : '' %>
7
7
  <div id="<%= dom_id(reference_question) %>" class="reference_question">
8
8
  <ul class="questions level1">
9
9
  <li>
10
- <label for="<%= "name_#{reference.id}" %>" class="desc">First Name</label>
10
+ <label for="<%= "name_#{reference.id}" %>" class="desc"><%= _('First Name') %></label>
11
11
  <%= text_field_tag "reference[#{reference.id}][first_name]", reference.first_name, :class => "text #{css_class}", :id => "name_#{reference.id}", :readonly => !@answer_sheet.try(:can_change_references?), :disabled => !@answer_sheet.try(:can_change_references?) %>
12
12
  </li>
13
13
  <li>
14
- <label for="<%= "name_#{reference.id}" %>" class="desc">Last Name</label>
14
+ <label for="<%= "name_#{reference.id}" %>" class="desc"><%= _('Last Name') %> </label>
15
15
  <%= text_field_tag "reference[#{reference.id}][last_name]", reference.last_name, :class => "text #{css_class}", :id => "name_#{reference.id}", :readonly => !@answer_sheet.try(:can_change_references?), :disabled => !@answer_sheet.try(:can_change_references?) %>
16
16
  </li>
17
17
  <li>
18
- <label for="<%= "name_#{reference.id}" %>" class="desc">Relationship to You</label>
18
+ <label for="<%= "name_#{reference.id}" %>" class="desc"><%= _('Relationship to You') %></label>
19
19
  <%= text_field_tag "reference[#{reference.id}][relationship]", reference.relationship, :class => "text #{css_class}", :id => "name_#{reference.id}", :readonly => !@answer_sheet.try(:can_change_references?), :disabled => !@answer_sheet.try(:can_change_references?) %>
20
20
  </li>
21
21
  <li>
22
- <label for="<%= "email_#{reference.id}" %>" class="desc">E-mail</label>
23
- <% if (!reference.email.blank?) %><div class="warningText">Please be aware that any changes to this email address after your reference has started filling out their form will cause their answers to be lost.</div><% end %>
22
+ <label for="<%= "email_#{reference.id}" %>" class="desc"><%= _('E-mail') %></label>
23
+ <% if (!reference.email.blank?) %>
24
+ <div class="warningText">
25
+ <%= _('Please be aware that any changes to this email address after your reference has started filling out their form will cause their answers to be lost.') %>
26
+ </div>
27
+ <% end %>
24
28
  <%= text_field_tag "reference[#{reference.id}][email]", reference.email, :class => "text #{email_css_class}", :id => "email_#{reference.id}", :readonly => !@answer_sheet.try(:can_change_references?), :disabled => !@answer_sheet.try(:can_change_references?) %>
25
29
  </li>
26
30
  <li>
27
- <label for="<%= "phone_#{reference.id}" %>" class="desc">Phone</label>
31
+ <label for="<%= "phone_#{reference.id}" %>" class="desc"><%= _('Phone') %></label>
28
32
  <%= text_field_tag "reference[#{reference.id}][phone]", reference.phone, :class => "text #{phone_css_class}", :id => "phone_#{reference.id}", :readonly => !@answer_sheet.try(:can_change_references?), :disabled => !@answer_sheet.try(:can_change_references?) %>
29
33
  </li>
30
- <li><p>An invitation will be sent to this reference when you submit your application. If you would
31
- like to get a head start, please feel free to click 'Send Email Invitation' below.<br/>
32
- <em><strong>If you already submitted your application and have returned to update your reference information - you must click "Send Email Invitation" after you
33
- have edited the information in order for your reference to receive another email. </strong></em></p></li>
34
+ <li><p>
35
+ <%= _("An invitation will be sent to this reference when you submit your application. If you would " \
36
+ "like to get a head start, please feel free to click 'Send Email Invitation' below.") %><br/>
37
+ <em><strong>
38
+ <%= _('If you already submitted your application and have returned to update your reference information - you must click "Send Email Invitation" after you ' \
39
+ 'have edited the information in order for your reference to receive another email.') %>
40
+ </strong></em></p></li>
34
41
 
35
- <li><%= link_to('Send Email Invitation', @answer_sheet ? send_reference_invite_fe_answer_sheet_path(@answer_sheet, :reference_id => reference.id) : '#', :class => 'reference_send_invite button no-left-margin') %>
36
- <br/>Invitation last sent: <span id="ref_last_sent_<%= reference.id %>"><% if reference.email_sent_at.nil? -%>Never<% else %><%= reference.email_sent_at.strftime("%m/%d/%Y @ %I:%M%p") %><% end %></span></li>
42
+ <li><%= link_to(_('Send Email Invitation'), @answer_sheet ? send_reference_invite_fe_answer_sheet_path(@answer_sheet, :reference_id => reference.id) : '#', :class => 'reference_send_invite button no-left-margin') %>
43
+ <br/><%= _('Invitation last sent:') %> <span id="ref_last_sent_<%= reference.id %>"><% if reference.email_sent_at.nil? -%><%= _('Never') %><% else %><%= reference.email_sent_at.strftime("%Y-%m-%d @ %I:%M%p") %><% end %></span></li>
37
44
  </ul>
38
45
  </div>
@@ -1 +1 @@
1
- <%= render 'fe/questions/fe/reference_question', :reference_question => reference_roommate, :title => 'Roommate Reference' %>
1
+ <%= render 'fe/questions/fe/reference_question', :reference_question => reference_roommate, :title => _('Roommate Reference') %>
@@ -1 +1 @@
1
- <%= render 'fe/questions/fe/reference_question', :reference_question => reference_spiritual, :title => 'Spiritual Reference' %>
1
+ <%= render 'fe/questions/fe/reference_question', :reference_question => reference_spiritual, :title => _('Spiritual Reference') %>
@@ -1 +1 @@
1
- <%= render 'fe/questions/fe/reference_question', :reference_question => reference_staff, :title => 'Staff Reference' %>
1
+ <%= render 'fe/questions/fe/reference_question', :reference_question => reference_staff, :title => _('Staff Reference') %>
@@ -1 +1 @@
1
- <h4><%= raw section.label %></h4>
1
+ <h4><%= raw section.label(session[:locale]) %></h4>
@@ -1,6 +1,13 @@
1
- <%= text_area_tag "answers[#{text_area_field.id}]", text_area_field.response(@answer_sheet),
1
+ <% max_length = text_area_field.max_length.to_i > 0 ? text_area_field.max_length : 4000 %>
2
+ <% response = text_area_field.response(@answer_sheet).to_s %>
3
+ <%= text_area_tag "answers[#{text_area_field.id}]", response,
2
4
  :class => 'text ' + text_area_field.validation_class(@answer_sheet),
3
5
  :id => dom_id(text_area_field),
4
6
  :rows => 6,
5
- :disabled => @answer_sheet.frozen?&&!@presenter.reference?,
6
- :readonly => @answer_sheet.frozen?&&!@presenter.reference? %>
7
+ :disabled => @answer_sheet.frozen?&&!@presenter.try(:reference?),
8
+ :readonly => @answer_sheet.frozen?&&!@presenter.try(:reference?),
9
+ :maxlength => max_length %>
10
+ <div class="small" align="right"><span class="small notice"><%= _('(Please use paragraphs for long answers)') %></span>
11
+ <%= _('Characters remaining: ') %>
12
+ <input type="text" id="<%= dom_id(text_area_field)+'_count' %>" size="4" value="<%= max_length - response.length %>" disabled="" class="small char-count">
13
+ </div>
@@ -1,6 +1,6 @@
1
1
  <% locked = text_field.locked?(params, @answer_sheet, @presenter) %>
2
2
  <%= text_field_tag "answers[#{text_field.id}]", text_field.response(@answer_sheet),
3
- :class => "text #{text_field.question_grid_id.present? ? "col_#{text_field.question_grid_id}_#{col}" : ''}" + text_field.validation_class(@answer_sheet),
3
+ :class => "text #{text_field.css_class} #{text_field.question_grid_id.present? ? "col_#{text_field.question_grid_id}_#{col}" : ''}" + text_field.validation_class(@answer_sheet),
4
4
  :id => dom_id(text_field),
5
5
  :disabled => locked,
6
6
  :readonly => locked,
@@ -1,5 +1,5 @@
1
1
  <div id="<%= dom_id(yes_no) %>" class="choice_field" style="white-space: nowrap;">
2
- <% css_class = ' ' -%>
2
+ <% css_class = "#{yes_no.css_class} " -%>
3
3
  <% yes_no.choices.each_with_index do |choice, num| -%>
4
4
  <% dom_id = dom_id(yes_no) + "_" + pretty_tag(choice[1])
5
5
  css_class += yes_no.validation_class(@answer_sheet) if num == 0
@@ -8,8 +8,8 @@
8
8
  <%= radio_button_tag "answers[#{yes_no.id}]", choice[1], checked,
9
9
  :id => dom_id,
10
10
  :class => css_class,
11
- :disabled => @answer_sheet.frozen?&&!@presenter.reference?,
12
- :readonly => @answer_sheet.frozen?&&!@presenter.reference? %>
11
+ :disabled => @answer_sheet.frozen?&&!@presenter.try(:reference?),
12
+ :readonly => @answer_sheet.frozen?&&!@presenter.try(:reference?) %>
13
13
  <label class="choice horiz" for="<%= dom_id %>"><%= choice[0] %></label>
14
14
  </div>
15
15
  <% end -%>
@@ -4,28 +4,28 @@
4
4
 
5
5
  <ul class="questions">
6
6
  <li>
7
- <label for="<%= "name_#{index}" %>" class="desc">Name</label>
7
+ <label for="<%= "name_#{index}" %>" class="desc"><%= _('Name') %></label>
8
8
  <%= text_field_tag "references[#{index}][name]", reference.name, :class => 'text required', :id => "name_#{index}" %>
9
9
  </li>
10
10
  <li>
11
- <label for="<%= "email_#{index}" %>" class="desc">E-mail</label>
11
+ <label for="<%= "email_#{index}" %>" class="desc"><%= _('E-mail') %></label>
12
12
  <% if (!reference.email.blank?) %><div class="warningText">Please be aware that any changes to this email address after your reference has started filling out their form will cause their answers to be lost.</div><% end %>
13
13
  <%= text_field_tag "references[#{index}][email]", reference.email, :class => 'text required validate-email', :id => "email_#{index}" %>
14
14
  </li>
15
15
  <li>
16
- <label for="<%= "phone_#{index}" %>" class="desc">Phone</label>
16
+ <label for="<%= "phone_#{index}" %>" class="desc"><%= _('Phone') %></label>
17
17
  <%= text_field_tag "references[#{index}][phone]", reference.phone, :class => 'text required validate-phone', :id => "phone_#{index}" %>
18
18
  </li>
19
19
  <li>
20
- <label for="<%= "months_known_#{index}" %>" class="desc">Length of acquaintance</label>
21
- <%= select_tag "references[#{index}][months_known]",
22
- options_for_select([""] + Fe::ReferencePagesController::MONTHS_KNOWN_OPTIONS, reference.months_known),
23
- :class => 'select validate-selection',
20
+ <label for="<%= "months_known_#{index}" %>" class="desc"><%= _('Length of acquaintance') %></label>
21
+ <%= select_tag "references[#{index}][months_known]",
22
+ options_for_select([""] + Fe::ReferencePagesController::MONTHS_KNOWN_OPTIONS, reference.months_known),
23
+ :class => 'select validate-selection',
24
24
  :id => "months_known[#{index}]" %>
25
25
  </li>
26
- <li><p>An invitation will be sent to this reference when you submit your application. If you would
27
- like to get a headstart, please feel free to click 'Send Email Invitation' below.</p></li>
26
+ <li><p><%= _("An invitation will be sent to this reference when you submit your application. If you would " \
27
+ "like to get a headstart, please feel free to click 'Send Email Invitation' below.") %></p></li>
28
28
 
29
- <li><%= submit_tag 'Send Email Invitation' %>
30
- Invitation last sent: <span id="ref_last_sent_<%= reference.id %>"><% unless reference.email_sent_at.nil? -%><%= reference.email_sent_at.strftime("%m/%d/%Y @ %I:%M%p") %><% end -%></span></li>
29
+ <li><%= submit_tag(_('Send Email Invitation')) %>
30
+ <%= _('Invitation last sent:') %> <span id="ref_last_sent_<%= reference.id %>"><% unless reference.email_sent_at.nil? -%><%= reference.email_sent_at.strftime("%Y-%m-%d @ %I:%M%p") %><% end -%></span></li>
31
31
  </ul>
@@ -9,15 +9,15 @@
9
9
  <div class="page">
10
10
 
11
11
  <%= form_tag fe_application_reference_page_path(@application), remote: true, id: "#{page_dom}-form", onsubmit: next_js + "; return false;" do %>
12
-
13
- <p>Please provide your references.</p>
14
-
12
+
13
+ <p><%= _('Please provide your references.') %></p>
14
+
15
15
  <%= render :partial => 'reference', :collection => @references, :locals => {:page_dom => page_dom} %>
16
-
16
+
17
17
  <% end -%>
18
-
19
- <%= button_to_function "Next", next_js unless next_js.empty? %>
20
-
18
+
19
+ <%= button_to_function _('Next'), next_js unless next_js.empty? %>
20
+
21
21
  </div>
22
22
  </div>
23
23
 
@@ -1,2 +1,2 @@
1
- <p>Thank you for completing this reference. Your input is so valuable to us. If you are not familiar with Campus Crusade for Christ or our STINT and Internship opportunities, why not visit our website to learn more? <%= link_to('http://cruoncampus.org', 'http://cruoncampus.org') %></p>
2
- <p>If you have any questions or concerns, email us at stintandinternships@uscm.org.</p>
1
+ <p><%= _('Thank you for completing this reference. Your input is so valuable to us. If you are not familiar with Cru, why not visit our website to learn more?') %> <%= link_to('http://cru.org', 'http://cru.org') %></p>
2
+ <p><%= _('If you have any questions or concerns, email us at %{email}') % { email: Fe.from_email } %></p>
@@ -1,5 +1,5 @@
1
- We weren't able to find a reference associated with this link. The are two common reason for this issue:
2
- <ol>
3
- <li>1. The applicant has picked someone else to do their reference.</li>
4
- <li>2. The link in your email was wrapped onto two lines. Check to make sure what you see in the address bar of your browser is the full link you see in your email.</li>
1
+ <%= _("We weren't able to find a reference associated with this link. The are two common reason for this issue:") %>
2
+ <ol>
3
+ <li><%= _('The applicant has picked someone else to do their reference.') %></li>
4
+ <li><%= _('The link in your email was wrapped onto two lines. Check to make sure what you see in the address bar of your browser is the full link you see in your email.') %></li>
5
5
  </ol>
@@ -1,8 +1,8 @@
1
- We're sorry, but the reference form you are trying to access is no longer available.<br/>
1
+ <%= _("We're sorry, but the reference form you are trying to access is no longer available.") %><br/>
2
2
  <br/>
3
- If the applicant (the person you are attempting to fill out a reference for) has changed or updated any information about the reference,
4
- that would invalidate this form. If you know that you are supposed to fill out a reference for this person, please check the link
5
- that you clicked on and make sure the entire address is displayed in the address bar. Sometimes the link doesn’t fully cut and paste.<br/>
3
+ <%= _('If the applicant (the person you are attempting to fill out a reference for) has changed or updated any information about the reference, ' \
4
+ 'that would invalidate this form. If you know that you are supposed to fill out a reference for this person, please check the link ' \
5
+ 'that you clicked on and make sure the entire address is displayed in the address bar. Sometimes the link doesn’t fully cut and paste.') %><br/>
6
6
  <br/>
7
- If you still require assistance, please forward the email you received that contained the link you clicked on to
8
- <%= Fe.from_email %> with a description of your problem.
7
+ <%= _('If you still require assistance, please forward the email you received that contained the link you clicked to %{email} with a description of your problem.') %
8
+ { email: Fe.from_email } %>
@@ -1,18 +1,18 @@
1
1
  <div id="controls">
2
2
  <div id="panel">
3
3
  <div class="panel">
4
- <% unless @reference.question_sheet.nil? -%>
5
- <h2><%= @reference.question_sheet.label %></h2>
6
-
7
- <p><label class="desc">Applicant:</label> <%= @application.applicant.informal_full_name %></p>
8
- <p><label class="desc">Reference:</label> <%= @reference.name %></p>
9
- <% end -%>
4
+ <% unless @reference.question_sheet.nil? -%>
5
+ <h2><%= @reference.question_sheet.label %></h2>
6
+
7
+ <p><label class="desc"><%= _('Applicant:') %></label> <%= @application.applicant.informal_full_name %></p>
8
+ <p><label class="desc"><%= _('Reference:') %></label> <%= @reference.name %></p>
9
+ <% end -%>
10
10
  </div>
11
11
  </div>
12
12
  </div>
13
13
 
14
14
  <div id="preview" class="answer-page">
15
-
15
+
16
16
  <%= render :partial => '/answer_sheets/answer_sheet', :locals => {:answer_sheet => @answer_sheet, :elements => @elements } %>
17
17
 
18
18
  </div>
@@ -1,3 +1,3 @@
1
- $('#submit_message').html("Thank you for submitting your reference.")
1
+ $('#submit_message').html("<%= _('Thank you for submitting your reference.') %>")
2
2
  $('#submit_message').show()
3
3
  $('#submit_button').hide()
@@ -1,2 +1,2 @@
1
- <p>Thank you for submitting your application. It has been accepted for processing.</p>
1
+ <p><%= _('Thank you for submitting your application. It has been accepted for processing.') %></p>
2
2
 
@@ -12,25 +12,25 @@
12
12
 
13
13
  <div id="submit_app">
14
14
  <% if @application.frozen? -%>
15
- <p>You have already submitted this application.</p>
15
+ <p><%= _('You have already submitted this application.') %></p>
16
16
  <% else -%>
17
- <p>If you are sure you are finished with the application, click "Submit Application".
18
- After you submit your application, you will not be able to edit your answers in your
19
- application, but you will be able to change your your personal information, your
20
- school information, and your reference information as necessary.</p>
21
-
17
+ <p><%= _('If you are sure you are finished with the application, click "Submit Application". ' \
18
+ 'After you submit your application, you will not be able to edit your answers in your ' \
19
+ 'application, but you will be able to change your your personal information, your ' \
20
+ 'school information, and your reference information as necessary.') %></p>
21
+
22
22
  <div id="application_errors">
23
23
  <%= render :partial => "errors"%>
24
24
  </div>
25
25
 
26
26
  <%= hidden_field_tag "submit_to", submit_fe_application_submit_page_path(@application) %>
27
27
  <div id="submit_message" class="validation-advice" style="display: none;"></div>
28
- <p class="buttons"><%= submit_tag "Submit Application" %></p>
28
+ <p class="buttons"><%= submit_tag(_('Submit Application')) %></p>
29
29
  <% end -%>
30
30
  </div>
31
-
31
+
32
32
  <% end -%>
33
-
33
+
34
34
  </div>
35
35
  </div>
36
36
  </div>
@@ -0,0 +1,7 @@
1
+ <% if record.errors.any? %>
2
+ <ul>
3
+ <% record.errors.full_messages.each do |msg| %>
4
+ <li><%= msg %></li>
5
+ <% end %>
6
+ </ul>
7
+ <% end %>
@@ -26,7 +26,7 @@
26
26
  <div id="header" style="height: 72px;">
27
27
  <h1 style="display: inline; position: absolute; color: #F3F3F3; margin: 4.5px 10px; line-height: 36px;"><%= @title %></h1>
28
28
 
29
- <%= render "fe/application/logout" %>
29
+ <%= render "fe/applications/logout" %>
30
30
  </div>
31
31
 
32
32
  <% flash.each do |key, value| %>
@@ -34,8 +34,6 @@ Rails.application.routes.draw do
34
34
  end
35
35
 
36
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
37
 
40
38
  # form capture and review
41
39
  namespace "fe" do
@@ -51,40 +49,6 @@ Rails.application.routes.draw do
51
49
  end
52
50
  end
53
51
  end
54
- resources :applications do
55
- member do
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
86
- end
87
- end
88
52
  end
89
53
 
90
54
  resources :elements, :namespace => "fe"
@@ -12,6 +12,7 @@ class CreateReferenceSheets < ActiveRecord::Migration
12
12
  t.string :email
13
13
  t.string :status
14
14
  t.datetime :submitted_at
15
+ t.datetime :started_at
15
16
  t.string :access_key
16
17
  t.timestamps
17
18
  end
@@ -1,6 +1,6 @@
1
1
  class CreateFePeople < ActiveRecord::Migration
2
2
  def change
3
- create_table :fe_people do |t|
3
+ create_table Fe::Person.table_name do |t|
4
4
  t.string :first_name
5
5
  t.string :last_name
6
6
  t.integer :user_id
@@ -1,6 +1,6 @@
1
1
  class CreateFeAddresses < ActiveRecord::Migration
2
2
  def change
3
- create_table :fe_addresses do |t|
3
+ create_table Fe::Address.table_name do |t|
4
4
  t.datetime :startdate
5
5
  t.datetime :enddate
6
6
  t.string :address1
@@ -0,0 +1,16 @@
1
+ class CreateFePhoneNumbers < ActiveRecord::Migration
2
+ def change
3
+ create_table Fe::PhoneNumber 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