fe 2.1.8 → 2.1.11
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 +1 -1
- data/app/assets/javascripts/fe/jquery.html5_upload.js +1 -1
- data/app/controllers/fe/admin/elements_controller.rb +2 -2
- data/app/models/fe/question_sheet.rb +2 -2
- data/lib/fe/version.rb +1 -1
- data/spec/controllers/fe/admin/elements_controller_spec.rb +2 -2
- data/spec/dummy/config/application.rb +2 -1
- data/spec/dummy/config/database.yml +18 -3
- data/spec/dummy/db/fe_test.sqlite3 +0 -0
- data/spec/dummy/db/fe_test.sqlite3-shm +0 -0
- data/spec/dummy/db/fe_test.sqlite3-wal +0 -0
- data/spec/dummy/db/schema.rb +49 -51
- data/spec/dummy/log/test.log +240722 -0
- data/spec/dummy/tmp/local_secret.txt +1 -0
- data/spec/models/fe/question_sheet_conditional_import_export_spec.rb +121 -0
- metadata +23 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d306f5aed47841d5cb6e1eaef07f4013d83f50ad1eff4d9e2dc78673d125eaba
|
|
4
|
+
data.tar.gz: '08e9b227a6280aa3f26df0ec41b29c047230fbb43001db80e0b3ab1972a0fed1'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b5bcfdd4f594490bb5fcc0e8c400f65e850401cd8771ef0d4e60e4b28bf1f7535d19d708e7101cfccd5c01a73557f00791a14f3e9f9e28cde532acb6ee78f8ff
|
|
7
|
+
data.tar.gz: 8c833039737b8aad2f2261d148d87c3c91e52e1b85889b3662d7a1765a3dbe788135d4fbc306358e0f123ae10da10df2ec23d54879a1e5f475c627b31b10c5f1
|
data/Rakefile
CHANGED
|
@@ -2,7 +2,7 @@ require 'bundler/setup'
|
|
|
2
2
|
require 'thor'
|
|
3
3
|
|
|
4
4
|
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
|
|
5
|
-
load 'rails/tasks/engine.rake' if File.
|
|
5
|
+
load 'rails/tasks/engine.rake' if File.exist? 'spec/dummy/Rakefile'
|
|
6
6
|
|
|
7
7
|
Bundler::GemHelper.install_tasks
|
|
8
8
|
|
|
@@ -57,7 +57,7 @@ class Fe::Admin::ElementsController < ApplicationController
|
|
|
57
57
|
@page_element = Fe::PageElement.create(element: @element, page: @page)
|
|
58
58
|
format.js
|
|
59
59
|
else
|
|
60
|
-
format.js { render
|
|
60
|
+
format.js { render 'error' }
|
|
61
61
|
end
|
|
62
62
|
end
|
|
63
63
|
end
|
|
@@ -70,7 +70,7 @@ class Fe::Admin::ElementsController < ApplicationController
|
|
|
70
70
|
if @element.update(element_params)
|
|
71
71
|
format.js
|
|
72
72
|
else
|
|
73
|
-
format.js { render
|
|
73
|
+
format.js { render 'error' }
|
|
74
74
|
end
|
|
75
75
|
end
|
|
76
76
|
end
|
|
@@ -85,10 +85,10 @@ module Fe
|
|
|
85
85
|
# set page conditional_id values to new ids based on old_id
|
|
86
86
|
question_sheet.all_elements.each do |el|
|
|
87
87
|
if el.conditional_type != "Fe::Page" && el.conditional_id.present?
|
|
88
|
-
|
|
88
|
+
el.update(conditional_id: question_sheet.element_id_mappings[el.conditional_id])
|
|
89
89
|
end
|
|
90
90
|
|
|
91
|
-
#
|
|
91
|
+
# handle page conditionals separately since they use page.old_id instead of element_id_mappings
|
|
92
92
|
if el.conditional_type == "Fe::Page" && el.conditional_id
|
|
93
93
|
el.update(conditional_id: question_sheet.pages.detect{ |el2| el2.old_id == el.conditional_id }&.id)
|
|
94
94
|
end
|
data/lib/fe/version.rb
CHANGED
|
@@ -87,7 +87,7 @@ describe Fe::Admin::ElementsController, type: :controller do
|
|
|
87
87
|
}.to change{Fe::Element.count}.by(0)
|
|
88
88
|
|
|
89
89
|
expect(assigns(:page_element)).to be_nil
|
|
90
|
-
expect(response).to render_template('error
|
|
90
|
+
expect(response).to render_template('error')
|
|
91
91
|
end
|
|
92
92
|
end
|
|
93
93
|
context '#update' do
|
|
@@ -114,7 +114,7 @@ describe Fe::Admin::ElementsController, type: :controller do
|
|
|
114
114
|
|
|
115
115
|
put :update, params: {element: { slug: "Illegal Chars: #@$!" }, question_sheet_id: question_sheet.id, page_id: page.id, id: element.id}, xhr: true
|
|
116
116
|
expect(assigns(:element)).to eq(element)
|
|
117
|
-
expect(response).to render_template('error
|
|
117
|
+
expect(response).to render_template('error')
|
|
118
118
|
end
|
|
119
119
|
end
|
|
120
120
|
context '#destroy' do
|
|
@@ -25,7 +25,8 @@ module Dummy
|
|
|
25
25
|
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
|
26
26
|
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
|
27
27
|
config.i18n.default_locale = :en
|
|
28
|
-
|
|
28
|
+
# In Rails 7+, this setting has moved to I18n
|
|
29
|
+
config.i18n.raise_on_missing_translations = false
|
|
29
30
|
end
|
|
30
31
|
end
|
|
31
32
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
mysql: &mysql
|
|
2
|
-
adapter: mysql<%= "2" unless (
|
|
2
|
+
adapter: mysql<%= "2" unless (ENV["TRAVIS_RUBY_VERSION"].include? "j" if ENV["TRAVIS_RUBY_VERSION"]) %>
|
|
3
3
|
username: root
|
|
4
4
|
password:
|
|
5
5
|
|
|
@@ -9,20 +9,35 @@ postgresql: &postgresql
|
|
|
9
9
|
password:
|
|
10
10
|
min_messages: ERROR
|
|
11
11
|
|
|
12
|
+
sqlite3: &sqlite3
|
|
13
|
+
adapter: sqlite3
|
|
14
|
+
|
|
12
15
|
defaults: &defaults
|
|
13
16
|
pool: 5
|
|
14
17
|
timeout: 5000
|
|
15
18
|
host: localhost
|
|
16
|
-
<<: *<%= ENV['DB'] || "
|
|
19
|
+
<<: *<%= ENV['DB'] || "sqlite3" %>
|
|
17
20
|
|
|
18
21
|
development:
|
|
22
|
+
<% if (ENV['DB'] || "sqlite3") == "sqlite3" %>
|
|
23
|
+
database: db/fe_dev.sqlite3
|
|
24
|
+
<% else %>
|
|
19
25
|
database: fe_dev
|
|
26
|
+
<% end %>
|
|
20
27
|
<<: *defaults
|
|
21
28
|
|
|
22
29
|
test:
|
|
30
|
+
<% if (ENV['DB'] || "sqlite3") == "sqlite3" %>
|
|
31
|
+
database: db/fe_test.sqlite3
|
|
32
|
+
<% else %>
|
|
23
33
|
database: fe_test
|
|
34
|
+
<% end %>
|
|
24
35
|
<<: *defaults
|
|
25
36
|
|
|
26
37
|
production:
|
|
38
|
+
<% if (ENV['DB'] || "sqlite3") == "sqlite3" %>
|
|
39
|
+
database: db/fe_prod.sqlite3
|
|
40
|
+
<% else %>
|
|
27
41
|
database: fe_prod
|
|
28
|
-
|
|
42
|
+
<% end %>
|
|
43
|
+
<<: *defaults
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/spec/dummy/db/schema.rb
CHANGED
|
@@ -2,17 +2,16 @@
|
|
|
2
2
|
# of editing this file, please use the migrations feature of Active Record to
|
|
3
3
|
# incrementally modify your database, and then regenerate this schema definition.
|
|
4
4
|
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
# from scratch.
|
|
9
|
-
#
|
|
5
|
+
# This file is the source Rails uses to define your schema when running `bin/rails
|
|
6
|
+
# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
|
|
7
|
+
# be faster and is potentially less error prone than running all of your
|
|
8
|
+
# migrations from scratch. Old migrations may fail to apply correctly if those
|
|
9
|
+
# migrations use external dependencies or application code.
|
|
10
10
|
#
|
|
11
11
|
# It's strongly recommended that you check this file into your version control system.
|
|
12
12
|
|
|
13
|
-
ActiveRecord::Schema.define(version:
|
|
14
|
-
|
|
15
|
-
create_table "fe_addresses", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
|
|
13
|
+
ActiveRecord::Schema[7.2].define(version: 2018_11_08_201746) do
|
|
14
|
+
create_table "fe_addresses", force: :cascade do |t|
|
|
16
15
|
t.datetime "startdate"
|
|
17
16
|
t.datetime "enddate"
|
|
18
17
|
t.string "address1"
|
|
@@ -29,38 +28,38 @@ ActiveRecord::Schema.define(version: 20181108201746) do
|
|
|
29
28
|
t.datetime "updated_at"
|
|
30
29
|
end
|
|
31
30
|
|
|
32
|
-
create_table "fe_answer_sheet_question_sheets", force: :cascade
|
|
31
|
+
create_table "fe_answer_sheet_question_sheets", force: :cascade do |t|
|
|
33
32
|
t.integer "answer_sheet_id"
|
|
34
33
|
t.integer "question_sheet_id"
|
|
35
34
|
t.datetime "created_at"
|
|
36
35
|
t.datetime "updated_at"
|
|
37
|
-
t.index ["answer_sheet_id", "question_sheet_id"], name: "answer_sheet_question_sheet"
|
|
36
|
+
t.index ["answer_sheet_id", "question_sheet_id"], name: "answer_sheet_question_sheet"
|
|
38
37
|
end
|
|
39
38
|
|
|
40
|
-
create_table "fe_answers", force: :cascade
|
|
39
|
+
create_table "fe_answers", force: :cascade do |t|
|
|
41
40
|
t.integer "answer_sheet_id", null: false
|
|
42
41
|
t.integer "question_id", null: false
|
|
43
|
-
t.text "value"
|
|
42
|
+
t.text "value"
|
|
44
43
|
t.integer "attachment_file_size"
|
|
45
44
|
t.string "attachment_content_type"
|
|
46
45
|
t.string "attachment_file_name"
|
|
47
46
|
t.datetime "attachment_updated_at"
|
|
48
47
|
t.datetime "created_at"
|
|
49
48
|
t.datetime "updated_at"
|
|
50
|
-
t.index ["answer_sheet_id", "question_id"], name: "answer_sheet_question"
|
|
49
|
+
t.index ["answer_sheet_id", "question_id"], name: "answer_sheet_question"
|
|
51
50
|
end
|
|
52
51
|
|
|
53
|
-
create_table "fe_applications", force: :cascade
|
|
52
|
+
create_table "fe_applications", force: :cascade do |t|
|
|
54
53
|
t.integer "applicant_id"
|
|
55
54
|
t.string "status"
|
|
56
55
|
t.datetime "submitted_at"
|
|
57
56
|
t.datetime "created_at"
|
|
58
57
|
t.datetime "updated_at"
|
|
59
58
|
t.string "locale", default: "en"
|
|
60
|
-
t.index ["applicant_id"], name: "question_sheet_id"
|
|
59
|
+
t.index ["applicant_id"], name: "question_sheet_id"
|
|
61
60
|
end
|
|
62
61
|
|
|
63
|
-
create_table "fe_conditions", force: :cascade
|
|
62
|
+
create_table "fe_conditions", force: :cascade do |t|
|
|
64
63
|
t.integer "question_sheet_id", null: false
|
|
65
64
|
t.integer "trigger_id", null: false
|
|
66
65
|
t.string "expression", null: false
|
|
@@ -68,18 +67,18 @@ ActiveRecord::Schema.define(version: 20181108201746) do
|
|
|
68
67
|
t.integer "toggle_id"
|
|
69
68
|
t.datetime "created_at"
|
|
70
69
|
t.datetime "updated_at"
|
|
71
|
-
t.index ["question_sheet_id"], name: "index_fe_conditions_on_question_sheet_id"
|
|
72
|
-
t.index ["toggle_id"], name: "index_fe_conditions_on_toggle_id"
|
|
73
|
-
t.index ["toggle_page_id"], name: "index_fe_conditions_on_toggle_page_id"
|
|
74
|
-
t.index ["trigger_id"], name: "index_fe_conditions_on_trigger_id"
|
|
70
|
+
t.index ["question_sheet_id"], name: "index_fe_conditions_on_question_sheet_id"
|
|
71
|
+
t.index ["toggle_id"], name: "index_fe_conditions_on_toggle_id"
|
|
72
|
+
t.index ["toggle_page_id"], name: "index_fe_conditions_on_toggle_page_id"
|
|
73
|
+
t.index ["trigger_id"], name: "index_fe_conditions_on_trigger_id"
|
|
75
74
|
end
|
|
76
75
|
|
|
77
|
-
create_table "fe_elements", force: :cascade
|
|
76
|
+
create_table "fe_elements", force: :cascade do |t|
|
|
78
77
|
t.integer "question_grid_id"
|
|
79
78
|
t.string "kind", limit: 40, null: false
|
|
80
79
|
t.string "style", limit: 40
|
|
81
80
|
t.string "label"
|
|
82
|
-
t.text "content"
|
|
81
|
+
t.text "content"
|
|
83
82
|
t.boolean "required"
|
|
84
83
|
t.string "slug", limit: 36
|
|
85
84
|
t.integer "position"
|
|
@@ -97,41 +96,41 @@ ActiveRecord::Schema.define(version: 20181108201746) do
|
|
|
97
96
|
t.datetime "updated_at"
|
|
98
97
|
t.integer "related_question_sheet_id"
|
|
99
98
|
t.integer "conditional_id"
|
|
100
|
-
t.text "tooltip"
|
|
99
|
+
t.text "tooltip"
|
|
101
100
|
t.boolean "hide_label", default: false
|
|
102
101
|
t.boolean "hide_option_labels", default: false
|
|
103
102
|
t.integer "max_length"
|
|
104
103
|
t.string "conditional_type"
|
|
105
|
-
t.text "conditional_answer"
|
|
104
|
+
t.text "conditional_answer"
|
|
106
105
|
t.integer "choice_field_id"
|
|
107
106
|
t.boolean "share", default: false
|
|
108
|
-
t.text "label_translations"
|
|
109
|
-
t.text "tip_translations"
|
|
110
|
-
t.text "content_translations"
|
|
111
|
-
t.index ["conditional_id"], name: "index_fe_elements_on_conditional_id"
|
|
112
|
-
t.index ["question_grid_id"], name: "index_fe_elements_on_question_grid_id"
|
|
113
|
-
t.index ["slug"], name: "index_fe_elements_on_slug"
|
|
107
|
+
t.text "label_translations"
|
|
108
|
+
t.text "tip_translations"
|
|
109
|
+
t.text "content_translations"
|
|
110
|
+
t.index ["conditional_id"], name: "index_fe_elements_on_conditional_id"
|
|
111
|
+
t.index ["question_grid_id"], name: "index_fe_elements_on_question_grid_id"
|
|
112
|
+
t.index ["slug"], name: "index_fe_elements_on_slug"
|
|
114
113
|
end
|
|
115
114
|
|
|
116
|
-
create_table "fe_email_templates", force: :cascade
|
|
115
|
+
create_table "fe_email_templates", force: :cascade do |t|
|
|
117
116
|
t.string "name", limit: 1000, null: false
|
|
118
|
-
t.text "content"
|
|
117
|
+
t.text "content"
|
|
119
118
|
t.boolean "enabled"
|
|
120
119
|
t.string "subject"
|
|
121
120
|
t.datetime "created_at"
|
|
122
121
|
t.datetime "updated_at"
|
|
123
122
|
end
|
|
124
123
|
|
|
125
|
-
create_table "fe_page_elements", force: :cascade
|
|
124
|
+
create_table "fe_page_elements", force: :cascade do |t|
|
|
126
125
|
t.integer "page_id"
|
|
127
126
|
t.integer "element_id"
|
|
128
127
|
t.integer "position"
|
|
129
128
|
t.datetime "created_at"
|
|
130
129
|
t.datetime "updated_at"
|
|
131
|
-
t.index ["page_id", "element_id"], name: "page_element"
|
|
130
|
+
t.index ["page_id", "element_id"], name: "page_element"
|
|
132
131
|
end
|
|
133
132
|
|
|
134
|
-
create_table "fe_pages", force: :cascade
|
|
133
|
+
create_table "fe_pages", force: :cascade do |t|
|
|
135
134
|
t.integer "question_sheet_id", null: false
|
|
136
135
|
t.string "label", limit: 60, null: false
|
|
137
136
|
t.integer "number"
|
|
@@ -139,11 +138,11 @@ ActiveRecord::Schema.define(version: 20181108201746) do
|
|
|
139
138
|
t.boolean "hidden", default: false
|
|
140
139
|
t.datetime "created_at"
|
|
141
140
|
t.datetime "updated_at"
|
|
142
|
-
t.text "all_element_ids"
|
|
143
|
-
t.text "label_translations"
|
|
141
|
+
t.text "all_element_ids"
|
|
142
|
+
t.text "label_translations"
|
|
144
143
|
end
|
|
145
144
|
|
|
146
|
-
create_table "fe_people", force: :cascade
|
|
145
|
+
create_table "fe_people", force: :cascade do |t|
|
|
147
146
|
t.string "first_name", limit: 50
|
|
148
147
|
t.string "last_name", limit: 50
|
|
149
148
|
t.integer "user_id"
|
|
@@ -152,15 +151,15 @@ ActiveRecord::Schema.define(version: 20181108201746) do
|
|
|
152
151
|
t.datetime "updated_at"
|
|
153
152
|
end
|
|
154
153
|
|
|
155
|
-
create_table "fe_question_sheets", force: :cascade
|
|
154
|
+
create_table "fe_question_sheets", force: :cascade do |t|
|
|
156
155
|
t.string "label", limit: 100, null: false
|
|
157
156
|
t.boolean "archived", default: false
|
|
158
157
|
t.datetime "created_at"
|
|
159
158
|
t.datetime "updated_at"
|
|
160
|
-
t.text "languages"
|
|
159
|
+
t.text "languages"
|
|
161
160
|
end
|
|
162
161
|
|
|
163
|
-
create_table "fe_references", force: :cascade
|
|
162
|
+
create_table "fe_references", force: :cascade do |t|
|
|
164
163
|
t.integer "question_id"
|
|
165
164
|
t.integer "applicant_answer_sheet_id"
|
|
166
165
|
t.datetime "email_sent_at"
|
|
@@ -180,11 +179,11 @@ ActiveRecord::Schema.define(version: 20181108201746) do
|
|
|
180
179
|
t.integer "question_sheet_id"
|
|
181
180
|
t.boolean "visible"
|
|
182
181
|
t.string "visibility_cache_key"
|
|
183
|
-
t.index ["applicant_answer_sheet_id"], name: "index_fe_references_on_applicant_answer_sheet_id"
|
|
184
|
-
t.index ["question_id"], name: "index_fe_references_on_question_id"
|
|
182
|
+
t.index ["applicant_answer_sheet_id"], name: "index_fe_references_on_applicant_answer_sheet_id"
|
|
183
|
+
t.index ["question_id"], name: "index_fe_references_on_question_id"
|
|
185
184
|
end
|
|
186
185
|
|
|
187
|
-
create_table "fe_users", force: :cascade
|
|
186
|
+
create_table "fe_users", force: :cascade do |t|
|
|
188
187
|
t.integer "user_id"
|
|
189
188
|
t.datetime "last_login"
|
|
190
189
|
t.string "type"
|
|
@@ -193,7 +192,7 @@ ActiveRecord::Schema.define(version: 20181108201746) do
|
|
|
193
192
|
t.datetime "updated_at"
|
|
194
193
|
end
|
|
195
194
|
|
|
196
|
-
create_table "phone_numbers", force: :cascade
|
|
195
|
+
create_table "phone_numbers", force: :cascade do |t|
|
|
197
196
|
t.string "number"
|
|
198
197
|
t.string "extensions"
|
|
199
198
|
t.integer "person_id"
|
|
@@ -206,20 +205,19 @@ ActiveRecord::Schema.define(version: 20181108201746) do
|
|
|
206
205
|
t.datetime "updated_at"
|
|
207
206
|
end
|
|
208
207
|
|
|
209
|
-
create_table "users", force: :cascade
|
|
208
|
+
create_table "users", force: :cascade do |t|
|
|
210
209
|
t.string "username"
|
|
211
210
|
t.string "email"
|
|
212
211
|
t.integer "person_id"
|
|
213
212
|
end
|
|
214
213
|
|
|
215
|
-
create_table "versions", force: :cascade
|
|
214
|
+
create_table "versions", force: :cascade do |t|
|
|
216
215
|
t.string "item_type", limit: 191, null: false
|
|
217
216
|
t.integer "item_id", null: false
|
|
218
217
|
t.string "event", null: false
|
|
219
218
|
t.string "whodunnit"
|
|
220
|
-
t.text "object"
|
|
219
|
+
t.text "object"
|
|
221
220
|
t.datetime "created_at"
|
|
222
|
-
t.index ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id"
|
|
221
|
+
t.index ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id"
|
|
223
222
|
end
|
|
224
|
-
|
|
225
|
-
end
|
|
223
|
+
end
|