fe 0.0.4 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +16 -36
- data/app/assets/javascripts/fe/admin.js +0 -1
- data/app/assets/javascripts/fe/fe.admin.js +40 -16
- data/app/assets/javascripts/fe/fe.common.js +48 -14
- data/app/assets/javascripts/fe/fe.public.js +1 -414
- data/app/assets/javascripts/fe/fe.public.nojquery.js +450 -0
- data/app/assets/javascripts/fe/jquery.validate.pack.js +3 -15
- data/app/assets/stylesheets/360front.css +0 -0
- data/app/assets/stylesheets/fe/fe.screen.css.scss.erb +69 -10
- data/app/controllers/fe/admin/elements_controller.rb +64 -48
- data/app/controllers/fe/admin/email_templates_controller.rb +2 -2
- data/app/controllers/fe/admin/question_pages_controller.rb +1 -1
- data/app/controllers/fe/admin/question_sheets_controller.rb +2 -103
- data/app/controllers/fe/concerns/admin/question_sheets_controller_concern.rb +112 -0
- data/app/controllers/fe/concerns/answer_pages_controller_concern.rb +2 -1
- data/app/controllers/fe/concerns/answer_sheets_controller_concern.rb +1 -1
- data/app/controllers/fe/concerns/application_controller_concern.rb +13 -0
- data/app/controllers/fe/reference_sheets_controller.rb +2 -0
- data/app/controllers/fe/references_controller.rb +1 -0
- data/app/helpers/fe/application_helper.rb +5 -0
- data/app/mailers/fe/notifier.rb +11 -4
- data/app/models/answer_sheet.rb +2 -0
- data/app/models/fe/application.rb +2 -1
- data/app/models/fe/concerns/answer_pages_presenter_concern.rb +10 -1
- data/app/models/fe/concerns/answer_sheet_concern.rb +38 -8
- data/app/models/fe/concerns/choice_field_concern.rb +17 -10
- data/app/models/fe/date_field.rb +1 -1
- data/app/models/fe/element.rb +105 -31
- data/app/models/fe/page.rb +52 -20
- data/app/models/fe/page_element.rb +6 -1
- data/app/models/fe/page_link.rb +6 -3
- data/app/models/fe/person.rb +11 -8
- data/app/models/fe/question.rb +2 -6
- data/app/models/fe/question_grid.rb +1 -1
- data/app/models/fe/question_grid_with_total.rb +15 -0
- data/app/models/fe/question_set.rb +1 -1
- data/app/models/fe/question_sheet.rb +15 -13
- data/app/models/fe/reference_question.rb +0 -10
- data/app/models/fe/reference_sheet.rb +17 -13
- data/app/models/staff.rb +2 -0
- data/app/validators/email_validator.rb +11 -0
- data/app/views/fe/admin/elements/create.js.erb +1 -0
- data/app/views/fe/admin/elements/drop.js.erb +1 -0
- data/app/views/fe/admin/elements/duplicate.js.erb +1 -0
- data/app/views/fe/admin/panels/_advanced_options.html.erb +9 -3
- data/app/views/fe/admin/panels/_common_fields.html.erb +19 -5
- data/app/views/fe/admin/panels/_page.html.erb +1 -1
- data/app/views/fe/admin/panels/_prop_choice_field.html.erb +20 -11
- data/app/views/fe/admin/panels/_prop_element.html.erb +2 -9
- data/app/views/fe/admin/panels/_prop_page.html.erb +8 -3
- data/app/views/fe/admin/panels/_prop_paragraph.html.erb +38 -24
- data/app/views/fe/admin/panels/_prop_section.html.erb +8 -2
- data/app/views/fe/admin/panels/_prop_sheet.html.erb +4 -1
- data/app/views/fe/admin/question_pages/_element.html.erb +11 -1
- data/app/views/fe/answer_pages/_answer_page.html.erb +9 -8
- data/app/views/fe/answer_pages/_element.html.erb +6 -7
- data/app/views/fe/answer_pages/_page_name.html.erb +1 -0
- data/app/views/fe/answer_pages/update.js.erb +3 -3
- data/app/views/fe/answer_sheets/_answer_sheet.html.erb +3 -3
- data/app/views/fe/answer_sheets/_element.html.erb +52 -34
- data/app/views/fe/answer_sheets/_incomplete.html.erb +1 -1
- data/app/views/fe/answer_sheets/_page_link.html.erb +2 -2
- data/app/views/fe/answer_sheets/_pages_list.html.erb +3 -3
- data/app/views/fe/answer_sheets/_submit_to.html.erb +1 -0
- data/app/views/fe/answer_sheets/edit.html.erb +14 -14
- data/app/views/fe/answer_sheets/incomplete.js.erb +3 -0
- data/app/views/fe/answer_sheets/index.html.erb +3 -3
- data/app/views/fe/answer_sheets/show.html.erb +1 -1
- data/app/views/fe/applications/_logout.html.erb +1 -0
- data/app/views/fe/applications/show.html.erb +1 -0
- data/app/views/fe/questions/fe/_acceptance.html.erb +3 -3
- data/app/views/fe/questions/fe/_attachment_field.html.erb +7 -3
- data/app/views/fe/questions/fe/_checkbox_field.html.erb +26 -24
- data/app/views/fe/questions/fe/_date_field.html.erb +1 -2
- data/app/views/fe/questions/fe/_date_field_mmyy.html.erb +2 -2
- data/app/views/fe/questions/fe/_drop_down_field.html.erb +3 -2
- data/app/views/fe/questions/fe/_paragraph.html.erb +1 -1
- data/app/views/fe/questions/fe/_question_grid.html.erb +14 -9
- data/app/views/fe/questions/fe/_question_grid_with_total.html.erb +21 -14
- data/app/views/fe/questions/fe/_questions.html.erb +2 -2
- data/app/views/fe/questions/fe/_radio_button_field.html.erb +12 -11
- data/app/views/fe/questions/fe/_rating.html.erb +9 -8
- data/app/views/fe/questions/fe/_reference_discipler.html.erb +1 -1
- data/app/views/fe/questions/fe/_reference_friend.html.erb +1 -1
- data/app/views/fe/questions/fe/_reference_parent.html.erb +1 -1
- data/app/views/fe/questions/fe/_reference_peer.html.erb +1 -1
- data/app/views/fe/questions/fe/_reference_question.html.erb +22 -15
- data/app/views/fe/questions/fe/_reference_roommate.html.erb +1 -1
- data/app/views/fe/questions/fe/_reference_spiritual.html.erb +1 -1
- data/app/views/fe/questions/fe/_reference_staff.html.erb +1 -1
- data/app/views/fe/questions/fe/_section.html.erb +1 -1
- data/app/views/fe/questions/fe/_text_area_field.html.erb +10 -3
- data/app/views/fe/questions/fe/_text_field.html.erb +1 -1
- data/app/views/fe/questions/fe/_yes_no_field.erb +3 -3
- data/app/views/fe/reference_pages/_reference.html.erb +11 -11
- data/app/views/fe/reference_pages/edit.html.erb +7 -7
- data/app/views/fe/reference_sheets/done.html.erb +2 -2
- data/app/views/fe/reference_sheets/not_found.html.erb +4 -4
- data/app/views/fe/references/edit.html.erb +6 -6
- data/app/views/fe/references/show.html.erb +7 -7
- data/app/views/fe/references/submit.js.erb +1 -1
- data/app/views/fe/submit_pages/_thankyou.html.erb +1 -1
- data/app/views/fe/submit_pages/edit.html.erb +9 -9
- data/app/views/layouts/fe/_error_messages_for.html.erb +7 -0
- data/app/views/layouts/fe/application.html.erb +1 -1
- data/config/routes.rb +0 -36
- data/db/migrate/20131003044250_create_reference_sheets.rb +1 -0
- data/db/migrate/20140623153424_create_fe_people.rb +1 -1
- data/db/migrate/20140624180246_create_fe_addresses.rb +1 -1
- data/db/migrate/20140624182216_create_fe_phone_numbers.rb +16 -0
- data/db/migrate/20140625160545_create_fe_users.rb +1 -1
- data/db/migrate/20150504221439_add_all_element_ids_to_pages.rb +5 -0
- data/db/migrate/20150713022326_add_locale_columns.rb +9 -0
- data/db/migrate/20150714220730_add_locale_to_answer_sheet.rb +5 -0
- data/db/migrate/20150928085325_change_pages_all_element_ids_to_text.rb +5 -0
- data/db/migrate/20150930191538_add_locale_to_reference_sheets.rb +5 -0
- data/lib/access_key_generator.rb +12 -0
- data/lib/distinct_distinct_patch.rb +20 -0
- data/lib/fe.rb +4 -0
- data/lib/fe/engine.rb +16 -4
- data/lib/fe/version.rb +1 -1
- data/spec/controllers/fe/admin/elements_controller_spec.rb +201 -1
- data/spec/controllers/fe/admin/email_templates_controller_spec.rb +26 -1
- data/spec/controllers/fe/admin/question_pages_controller_spec.rb +8 -1
- data/spec/controllers/fe/admin/question_sheets_controller_spec.rb +48 -1
- data/spec/controllers/fe/answer_pages_controller_spec.rb +73 -1
- data/spec/controllers/fe/answer_sheets_controller_spec.rb +80 -1
- data/spec/controllers/fe/reference_pages_controller.rb +4 -0
- data/spec/controllers/fe/references_controller_spec.rb +4 -0
- data/spec/controllers/fe/submit_pages_controller_spec.rb +4 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/helpers/application_helper.rb +9 -0
- data/spec/dummy/app/models/application.rb +3 -0
- data/spec/dummy/app/models/person.rb +11 -0
- data/spec/dummy/app/models/user.rb +3 -0
- data/spec/dummy/config/application.rb +2 -1
- data/spec/dummy/config/database.yml +20 -17
- data/spec/dummy/config/environments/production.rb +1 -5
- data/spec/dummy/config/environments/test.rb +3 -1
- data/spec/dummy/config/initializers/fast_gettext.rb +5 -0
- data/spec/dummy/config/secrets.yml +2 -2
- data/spec/dummy/db/migrate/20141203214017_core.fe_engine.rb +92 -0
- data/spec/dummy/db/migrate/20141203214018_create_reference_sheets.fe_engine.rb +25 -0
- data/spec/dummy/db/migrate/20141203214019_add_element_and_answer_fields.fe_engine.rb +11 -0
- data/spec/dummy/db/migrate/20141203214020_create_email_templates.fe_engine.rb +18 -0
- data/spec/dummy/db/migrate/20141203214021_add_max_lengths.fe_engine.rb +9 -0
- data/spec/dummy/db/migrate/20141203214022_create_join_table.fe_engine.rb +12 -0
- data/spec/dummy/db/migrate/20141203214023_remove_question_id_from_element.fe_engine.rb +10 -0
- data/spec/dummy/db/migrate/20141203214024_create_fe_people.fe_engine.rb +13 -0
- data/spec/dummy/db/migrate/20141203214025_create_fe_addresses.fe_engine.rb +21 -0
- 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
- data/spec/dummy/db/migrate/20141203214027_create_fe_users.fe_engine.rb +13 -0
- data/spec/dummy/db/migrate/20141203214028_add_conditional_type_to_elements.fe_engine.rb +6 -0
- data/spec/dummy/db/migrate/20141203214029_add_conditional_answer_to_elements.fe_engine.rb +6 -0
- data/spec/dummy/db/migrate/20141203214030_remove_short_value_column.fe_engine.rb +6 -0
- data/spec/dummy/db/migrate/20141203214031_move_conditional_ids_used_for_choice_field_to_their_own_column.fe_engine.rb +8 -0
- data/spec/dummy/db/migrate/20150123215803_create_users.rb +9 -0
- data/spec/dummy/db/migrate/20150504222619_add_all_element_ids_to_pages.fe_engine.rb +6 -0
- data/spec/dummy/db/migrate/20150930190001_create_fe_phone_numbers.fe_engine.rb +20 -0
- data/spec/dummy/db/migrate/20150930190002_add_locale_columns.fe_engine.rb +10 -0
- data/spec/dummy/db/migrate/20150930190003_add_locale_to_answer_sheet.fe_engine.rb +6 -0
- data/spec/dummy/db/migrate/20150930190004_change_pages_all_element_ids_to_text.fe_engine.rb +6 -0
- data/spec/dummy/db/migrate/20150930191756_add_locale_to_reference_sheets.fe_engine.rb +6 -0
- data/spec/dummy/db/schema.rb +50 -20
- data/spec/dummy/log/development.log +5 -0
- data/spec/factories/applications.rb +0 -1
- data/spec/factories/dummy_applications.rb +6 -0
- data/spec/factories/dummy_people.rb +6 -0
- data/spec/factories/dummy_users.rb +6 -0
- data/spec/factories/elements.rb +28 -3
- data/spec/factories/email_templates.rb +5 -0
- data/spec/factories/fe_email_templates.rb +9 -0
- data/spec/factories/fe_people.rb +0 -2
- data/spec/factories/fe_user.rb +6 -0
- data/spec/factories/question_sheet.rb +1 -1
- data/spec/factories/reference_sheets.rb +9 -0
- data/spec/mailers/fe/notifier_spec.rb +39 -0
- data/spec/models/fe/choice_field_spec.rb +20 -0
- data/spec/models/fe/element_spec.rb +185 -0
- data/spec/models/fe/page_spec.rb +112 -0
- data/spec/models/fe/question_sheet_spec.rb +106 -0
- data/spec/models/fe/reference_sheet_spec.rb +20 -0
- data/spec/rails_helper.rb +41 -13
- data/spec/support/choices.xml +6 -0
- metadata +136 -48
- data/app/assets/javascripts/fe/rails.extra.js +0 -6
- data/app/controllers/fe/applications_controller.rb +0 -183
- data/app/controllers/fe/payments_controller.rb +0 -184
- data/app/models/fe/payment.rb +0 -77
- data/app/models/fe/payment_question.rb +0 -22
- data/app/views/fe/admin/panels/_prop_payment_question.html.erb +0 -1
- data/app/views/fe/application/_logout.html.erb +0 -1
- data/app/views/fe/payment_pages/_credit.html.erb +0 -47
- data/app/views/fe/payment_pages/_mail.html.erb +0 -27
- data/app/views/fe/payment_pages/_payment.html.erb +0 -6
- data/app/views/fe/payment_pages/_staff.html.erb +0 -25
- data/app/views/fe/payment_pages/_staff_results.html.erb +0 -17
- data/app/views/fe/payment_pages/edit.html.erb +0 -75
- data/app/views/fe/payment_pages/staff_search.js.erb +0 -2
- data/app/views/fe/payments/_credit.html.erb +0 -47
- data/app/views/fe/payments/_errors.html.erb +0 -1
- data/app/views/fe/payments/_payment.html.erb +0 -13
- data/app/views/fe/payments/_staff.html.erb +0 -21
- data/app/views/fe/payments/_staff_results.html.erb +0 -18
- data/app/views/fe/payments/approve.js.erb +0 -3
- data/app/views/fe/payments/create.js.erb +0 -19
- data/app/views/fe/payments/destroy.js.erb +0 -7
- data/app/views/fe/payments/edit.html.erb +0 -56
- data/app/views/fe/payments/error.js.erb +0 -3
- data/app/views/fe/payments/no_access.html.erb +0 -7
- data/app/views/fe/payments/staff_search.js.erb +0 -1
- data/app/views/fe/payments/update.html.erb +0 -24
- data/app/views/fe/questions/fe/_payment_question.html.erb +0 -70
- data/db/migrate/20140828045339_create_payments.rb +0 -13
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/factories/payments.rb +0 -7
- data/spec/models/fe/payment_question_spec.rb +0 -65
|
@@ -1,4 +1,83 @@
|
|
|
1
1
|
require 'rails_helper'
|
|
2
2
|
|
|
3
|
-
describe Fe::AnswerSheetsController do
|
|
3
|
+
describe Fe::AnswerSheetsController, type: :controller do
|
|
4
|
+
let(:question_sheet) { create(:question_sheet) }
|
|
5
|
+
let(:answer_sheet) { create(:answer_sheet, applicant_id: create(:fe_person).id) }
|
|
6
|
+
|
|
7
|
+
context '#index' do
|
|
8
|
+
it 'should work' do
|
|
9
|
+
create(:answer_sheet_question_sheet, question_sheet: question_sheet, answer_sheet: answer_sheet)
|
|
10
|
+
|
|
11
|
+
get :index
|
|
12
|
+
expect(assigns(:answer_sheets).to_a).to eq([answer_sheet])
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
context '#create' do
|
|
16
|
+
it 'should work' do
|
|
17
|
+
create(:answer_sheet_question_sheet, question_sheet: question_sheet, answer_sheet: answer_sheet)
|
|
18
|
+
|
|
19
|
+
post :create, question_sheet_id: question_sheet.id
|
|
20
|
+
expect(assigns(:answer_sheet)).to_not be_nil
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
context '#edit' do
|
|
24
|
+
it 'should work' do
|
|
25
|
+
create(:answer_sheet_question_sheet, question_sheet: question_sheet, answer_sheet: answer_sheet)
|
|
26
|
+
page = create(:page, question_sheet: question_sheet)
|
|
27
|
+
|
|
28
|
+
get :edit, id: answer_sheet.id
|
|
29
|
+
expect(assigns(:elements)).to eq([])
|
|
30
|
+
expect(assigns(:page)).to eq(page)
|
|
31
|
+
end
|
|
32
|
+
context 'when the question_sheet is blank' do
|
|
33
|
+
context 'when referrer is available' do
|
|
34
|
+
it 'should redirect to referrer' do
|
|
35
|
+
create(:answer_sheet_question_sheet, question_sheet: question_sheet, answer_sheet: answer_sheet)
|
|
36
|
+
request.env['HTTP_REFERER'] = '/referrer'
|
|
37
|
+
|
|
38
|
+
get :edit, id: answer_sheet.id
|
|
39
|
+
expect(response).to redirect_to('http://test.host/referrer')
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
context 'when referrer is not available' do
|
|
43
|
+
it 'should render an empty page with a flash message' do
|
|
44
|
+
create(:answer_sheet_question_sheet, question_sheet: question_sheet, answer_sheet: answer_sheet)
|
|
45
|
+
|
|
46
|
+
get :edit, id: answer_sheet.id
|
|
47
|
+
expect(response.body['Sorry, there are no questions for this form yet.']).to_not be_nil
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
context '#show' do
|
|
53
|
+
it 'should work' do
|
|
54
|
+
create(:answer_sheet_question_sheet, question_sheet: question_sheet, answer_sheet: answer_sheet)
|
|
55
|
+
page = create(:page, question_sheet: question_sheet)
|
|
56
|
+
text_field = create(:text_field_element)
|
|
57
|
+
create(:page_element, element: text_field, page: page)
|
|
58
|
+
|
|
59
|
+
get :show, id: answer_sheet.id
|
|
60
|
+
expect(assigns(:elements)).to eq(page => [text_field])
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
context '#send_reference_invite' do
|
|
64
|
+
it 'should work' do
|
|
65
|
+
create(:answer_sheet_question_sheet, question_sheet: question_sheet, answer_sheet: answer_sheet)
|
|
66
|
+
page = create(:page, question_sheet: question_sheet)
|
|
67
|
+
ref_question = create(:reference_element)
|
|
68
|
+
create(:page_element, element: ref_question, page: page)
|
|
69
|
+
ref_sheet = create(:reference_sheet, applicant_answer_sheet: answer_sheet, question: ref_question)
|
|
70
|
+
create(:email_template, name: 'Reference Invite')
|
|
71
|
+
create(:email_template, name: 'Reference Notification to Applicant')
|
|
72
|
+
|
|
73
|
+
xhr :post, :send_reference_invite, reference: { ref_sheet.id.to_s => { relationship: 'rel', title: 'title', first_name: 'first_name', last_name: 'last_name', phone: 'phone', email: 'email@email.com' } }, reference_id: ref_sheet.id, id: answer_sheet.id
|
|
74
|
+
ref_sheet.reload
|
|
75
|
+
expect(ref_sheet.relationship).to eq('rel')
|
|
76
|
+
expect(ref_sheet.title).to eq('title')
|
|
77
|
+
expect(ref_sheet.first_name).to eq('first_name')
|
|
78
|
+
expect(ref_sheet.last_name).to eq('last_name')
|
|
79
|
+
expect(ref_sheet.phone).to eq('phone')
|
|
80
|
+
expect(ref_sheet.email).to eq('email@email.com')
|
|
81
|
+
end
|
|
82
|
+
end
|
|
4
83
|
end
|
|
@@ -1,2 +1,11 @@
|
|
|
1
1
|
module ApplicationHelper
|
|
2
|
+
# apps will define their own implementation of this, to facilitate tests running just allow anyone
|
|
3
|
+
def user_signed_in?
|
|
4
|
+
true
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
# apps will define their own implementation of this, to facilitate tests running just allow anyone
|
|
8
|
+
def destroy_user_session_path
|
|
9
|
+
"/sessions/destroy"
|
|
10
|
+
end
|
|
2
11
|
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
class Person < Fe::Person
|
|
2
|
+
belongs_to :user
|
|
3
|
+
has_many :applications, class_name: Fe.answer_sheet_class, foreign_key: :applicant_id
|
|
4
|
+
|
|
5
|
+
def application
|
|
6
|
+
applications.first
|
|
7
|
+
end
|
|
8
|
+
def application=(val)
|
|
9
|
+
applications << val unless applications.include?(val)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -23,7 +23,8 @@ module Dummy
|
|
|
23
23
|
|
|
24
24
|
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
|
25
25
|
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
|
26
|
-
|
|
26
|
+
config.i18n.default_locale = :en
|
|
27
|
+
config.action_view.raise_on_missing_translations = false
|
|
27
28
|
end
|
|
28
29
|
end
|
|
29
30
|
|
|
@@ -1,25 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
mysql: &mysql
|
|
2
|
+
adapter: mysql<%= "2" unless ( ENV["TRAVIS_RUBY_VERSION"].include? "j" if ENV["TRAVIS_RUBY_VERSION"] ) %>
|
|
3
|
+
username: root
|
|
4
|
+
password:
|
|
5
|
+
|
|
6
|
+
postgresql: &postgresql
|
|
7
|
+
adapter: postgresql
|
|
8
|
+
username: postgres
|
|
9
|
+
password:
|
|
10
|
+
min_messages: ERROR
|
|
11
|
+
|
|
12
|
+
defaults: &defaults
|
|
9
13
|
pool: 5
|
|
10
14
|
timeout: 5000
|
|
15
|
+
host: localhost
|
|
16
|
+
<<: *<%= ENV['DB'] || "mysql" %>
|
|
11
17
|
|
|
12
18
|
development:
|
|
13
|
-
|
|
14
|
-
|
|
19
|
+
database: fe_dev
|
|
20
|
+
<<: *defaults
|
|
15
21
|
|
|
16
|
-
# Warning: The database defined as "test" will be erased and
|
|
17
|
-
# re-generated from your development database when you run "rake".
|
|
18
|
-
# Do not set this db to the same as development or production.
|
|
19
22
|
test:
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
database: fe_test
|
|
24
|
+
<<: *defaults
|
|
22
25
|
|
|
23
26
|
production:
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
database: fe_prod
|
|
28
|
+
<<: *defaults
|
|
@@ -32,7 +32,7 @@ Rails.application.configure do
|
|
|
32
32
|
# Generate digests for assets URLs.
|
|
33
33
|
config.assets.digest = true
|
|
34
34
|
|
|
35
|
-
# `config.assets.precompile`
|
|
35
|
+
# `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
|
|
36
36
|
|
|
37
37
|
# Specifies the header that your server uses for sending files.
|
|
38
38
|
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
|
|
@@ -56,10 +56,6 @@ Rails.application.configure do
|
|
|
56
56
|
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
|
57
57
|
# config.action_controller.asset_host = "http://assets.example.com"
|
|
58
58
|
|
|
59
|
-
# Precompile additional assets.
|
|
60
|
-
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
|
|
61
|
-
# config.assets.precompile += %w( search.js )
|
|
62
|
-
|
|
63
59
|
# Ignore bad email addresses and do not raise email delivery errors.
|
|
64
60
|
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
|
65
61
|
# config.action_mailer.raise_delivery_errors = false
|
|
@@ -13,7 +13,7 @@ Rails.application.configure do
|
|
|
13
13
|
config.eager_load = false
|
|
14
14
|
|
|
15
15
|
# Configure static asset server for tests with Cache-Control for performance.
|
|
16
|
-
config.
|
|
16
|
+
config.serve_static_files = true
|
|
17
17
|
config.static_cache_control = 'public, max-age=3600'
|
|
18
18
|
|
|
19
19
|
# Show full error reports and disable caching.
|
|
@@ -36,4 +36,6 @@ Rails.application.configure do
|
|
|
36
36
|
|
|
37
37
|
# Raises error for missing translations
|
|
38
38
|
# config.action_view.raise_on_missing_translations = true
|
|
39
|
+
|
|
40
|
+
config.action_mailer.default_url_options = { :host => 'test.com' }
|
|
39
41
|
end
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
FastGettext.add_text_domain 'app', :path => 'locale', :type => :po
|
|
2
|
+
FastGettext.default_available_locales = ['en', 'fr'] #all you want to allow
|
|
3
|
+
FastGettext.default_text_domain = 'app'
|
|
4
|
+
FastGettext.locale = 'en'
|
|
5
|
+
I18n.backend = I18n::Backend::Chain.new(GettextI18nRails::Backend.new, I18n.backend)
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
# if you're sharing your code publicly.
|
|
12
12
|
|
|
13
13
|
development:
|
|
14
|
-
secret_key_base:
|
|
14
|
+
secret_key_base: 613f7a6dfc25927231de971f1e695b8660ef741aad76edba571d2401be7849a46d5272b34c7d05cc06a9372aafafda3e444f9c430a3734c816975d9da328d808
|
|
15
15
|
|
|
16
16
|
test:
|
|
17
|
-
secret_key_base:
|
|
17
|
+
secret_key_base: d464adcbe289a6e1ccf10e9e52739cb066f7732242cb7274da4332bd453689e3c07a4f105a66d1bd075dfc08ff23fe82309524bac6e9b7976b39e94690ae77e7
|
|
18
18
|
|
|
19
19
|
# Do not keep production secrets in the repository,
|
|
20
20
|
# instead read values from the environment.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# This migration comes from fe_engine (originally 20131003041856)
|
|
2
|
+
class Core < ActiveRecord::Migration
|
|
3
|
+
def change
|
|
4
|
+
create_table Fe::QuestionSheet.table_name do |t|
|
|
5
|
+
t.string :label, :limit => 100, :null => false # name used internally in admin
|
|
6
|
+
t.boolean :archived, :default => false, :nil => false
|
|
7
|
+
t.timestamps
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
create_table Fe.answer_sheet_class.constantize.table_name do |t|
|
|
11
|
+
t.integer :applicant_id
|
|
12
|
+
t.string :status
|
|
13
|
+
t.datetime :submitted_at
|
|
14
|
+
t.timestamps
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
add_index Fe.answer_sheet_class.constantize.table_name, :applicant_id, name: 'question_sheet_id'
|
|
18
|
+
|
|
19
|
+
create_table Fe::Page.table_name do |t|
|
|
20
|
+
t.integer :question_sheet_id, :null => false
|
|
21
|
+
t.string :label, :limit => 60, :null => false # page title
|
|
22
|
+
t.integer :number # page number (order)
|
|
23
|
+
t.boolean :no_cache, :default => false
|
|
24
|
+
t.boolean :hidden, :default => false
|
|
25
|
+
t.timestamps
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
create_table Fe::Element.table_name do |t|
|
|
29
|
+
t.integer :question_grid_id, :null => true
|
|
30
|
+
t.string :kind, :limit => 40, :null => false # single table inheritance: class name
|
|
31
|
+
t.string :style, :limit => 40 # render style
|
|
32
|
+
t.string :label, :limit => 255 # question label, section heading
|
|
33
|
+
t.text :content, :null => true # for content/instructions, and for choices (one per line)
|
|
34
|
+
t.boolean :required # question is required?
|
|
35
|
+
t.string :slug, :limit => 36 # variable reference
|
|
36
|
+
t.integer :position
|
|
37
|
+
t.string :object_name, :attribute_name
|
|
38
|
+
t.string :source
|
|
39
|
+
t.string :value_xpath
|
|
40
|
+
t.string :text_xpath
|
|
41
|
+
t.string :cols
|
|
42
|
+
t.boolean :is_confidential, :default => false
|
|
43
|
+
t.string :total_cols
|
|
44
|
+
t.string :css_id
|
|
45
|
+
t.string :css_class
|
|
46
|
+
t.integer :question_sheet_id, :null => false
|
|
47
|
+
t.timestamps
|
|
48
|
+
end
|
|
49
|
+
add_index Fe::Element.table_name, :slug
|
|
50
|
+
|
|
51
|
+
create_table Fe::PageElement.table_name do |t|
|
|
52
|
+
t.integer :page_id
|
|
53
|
+
t.integer :element_id
|
|
54
|
+
t.integer :position
|
|
55
|
+
t.timestamps
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
add_index Fe::PageElement.table_name, [:page_id, :element_id], name: 'page_element'
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
create_table Fe::Answer.table_name do |t|
|
|
62
|
+
t.integer :answer_sheet_id, :null => false
|
|
63
|
+
t.integer :question_id, :null => false
|
|
64
|
+
t.text :value
|
|
65
|
+
t.string :short_value, :null => true, :limit => 255 # indexed copy of :value
|
|
66
|
+
# paperclip columns
|
|
67
|
+
t.integer :attachment_file_size
|
|
68
|
+
t.string :attachment_content_type
|
|
69
|
+
t.string :attachment_file_name
|
|
70
|
+
t.datetime :attachment_updated_at
|
|
71
|
+
t.timestamps
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
add_index Fe::Answer.table_name, :short_value
|
|
75
|
+
add_index Fe::Answer.table_name, [:answer_sheet_id, :question_id], name: 'answer_sheet_question'
|
|
76
|
+
|
|
77
|
+
create_table Fe::Condition.table_name do |t|
|
|
78
|
+
t.integer :question_sheet_id, :null => false
|
|
79
|
+
t.integer :trigger_id, :null => false
|
|
80
|
+
t.string :expression, :null => false, :limit => 255
|
|
81
|
+
t.integer :toggle_page_id, :null => false
|
|
82
|
+
t.integer :toggle_id, :null => true # null if toggles whole page
|
|
83
|
+
t.timestamps
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
add_index Fe::Condition.table_name, :question_sheet_id
|
|
87
|
+
add_index Fe::Condition.table_name, :trigger_id
|
|
88
|
+
add_index Fe::Condition.table_name, :toggle_page_id
|
|
89
|
+
add_index Fe::Condition.table_name, :toggle_id
|
|
90
|
+
|
|
91
|
+
end
|
|
92
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# This migration comes from fe_engine (originally 20131003044250)
|
|
2
|
+
class CreateReferenceSheets < ActiveRecord::Migration
|
|
3
|
+
def change
|
|
4
|
+
create_table Fe::ReferenceSheet.table_name do |t|
|
|
5
|
+
t.integer :question_id
|
|
6
|
+
t.integer :applicant_answer_sheet_id
|
|
7
|
+
t.datetime :email_sent_at
|
|
8
|
+
t.string :relationship
|
|
9
|
+
t.string :title
|
|
10
|
+
t.string :first_name
|
|
11
|
+
t.string :last_name
|
|
12
|
+
t.string :phone
|
|
13
|
+
t.string :email
|
|
14
|
+
t.string :status
|
|
15
|
+
t.datetime :submitted_at
|
|
16
|
+
t.datetime :started_at
|
|
17
|
+
t.string :access_key
|
|
18
|
+
t.timestamps
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
add_column Fe::Element.table_name, :related_question_sheet_id, :integer
|
|
22
|
+
add_index Fe::ReferenceSheet.table_name, :question_id
|
|
23
|
+
add_index Fe::ReferenceSheet.table_name, :applicant_answer_sheet_id
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# This migration comes from fe_engine (originally 20131003044436)
|
|
2
|
+
class AddElementAndAnswerFields < ActiveRecord::Migration
|
|
3
|
+
def change
|
|
4
|
+
add_column Fe::Element.table_name, :conditional_id, :integer
|
|
5
|
+
add_column Fe::Element.table_name, :tooltip, :text
|
|
6
|
+
add_column Fe::Element.table_name, :hide_label, :boolean, :default => false, :nil => false
|
|
7
|
+
add_column Fe::Element.table_name, :hide_option_labels, :boolean, :default => false, :nil => false
|
|
8
|
+
|
|
9
|
+
#add_index Fe::Element.table_name, :conditional_id
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# This migration comes from fe_engine (originally 20131003044518)
|
|
2
|
+
class CreateEmailTemplates < ActiveRecord::Migration
|
|
3
|
+
def up
|
|
4
|
+
create_table Fe::EmailTemplate.table_name do |t|
|
|
5
|
+
t.string :name, :limit => 1000, :null => false
|
|
6
|
+
t.text :content
|
|
7
|
+
t.boolean :enabled
|
|
8
|
+
t.string :subject
|
|
9
|
+
|
|
10
|
+
t.timestamps
|
|
11
|
+
end
|
|
12
|
+
# add_index Fe::EmailTemplate.table_name, :name
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def down
|
|
16
|
+
remove_table Fe::EmailTemplate.table_name
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# This migration comes from fe_engine (originally 20131003044621)
|
|
2
|
+
class AddMaxLengths < ActiveRecord::Migration
|
|
3
|
+
def change
|
|
4
|
+
add_column Fe::Element.table_name, :max_length, :integer
|
|
5
|
+
|
|
6
|
+
add_index Fe::Element.table_name, :conditional_id
|
|
7
|
+
add_index Fe::Element.table_name, :question_grid_id
|
|
8
|
+
end
|
|
9
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# This migration comes from fe_engine (originally 20131003044714)
|
|
2
|
+
class CreateJoinTable < ActiveRecord::Migration
|
|
3
|
+
def change
|
|
4
|
+
create_table Fe::AnswerSheetQuestionSheet.table_name do |t|
|
|
5
|
+
t.integer :answer_sheet_id
|
|
6
|
+
t.integer :question_sheet_id
|
|
7
|
+
t.timestamps
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
add_index Fe::AnswerSheetQuestionSheet.table_name, [:answer_sheet_id, :question_sheet_id], name: 'answer_sheet_question_sheet'
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# This migration comes from fe_engine (originally 20131016162128)
|
|
2
|
+
class RemoveQuestionIdFromElement < ActiveRecord::Migration
|
|
3
|
+
def up
|
|
4
|
+
remove_column Fe::Element.table_name, :question_sheet_id
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def down
|
|
8
|
+
add_column Fe::Element.table_name, :question_sheet_id, :integer
|
|
9
|
+
end
|
|
10
|
+
end
|