fe 2.1.6.2 → 2.1.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 421d7606892d032c16e7de5f1469f732fd0832e39037109588773082e94c0e4a
4
- data.tar.gz: c7c3de066e5610ad0eae734838985c0e28156c9b94ed377160ddb02b3f5eeb13
3
+ metadata.gz: b64b157852e00628b533ed9826d53d40c715e023813b0e30290397a78adfcb3b
4
+ data.tar.gz: 97f8071426f54e34982967b7613439eb3e27d0e77e7cb9d7589b2857d08a8790
5
5
  SHA512:
6
- metadata.gz: 3a2cfdef62149c1175cf6ad531d63ddac552086083d7ebdc81daf6f0774a34179825f4d7df2e027d8bc872964e5ea9709d3850fa6f7fb3bb813f0ede7676c922
7
- data.tar.gz: e96258d3a3f9eb4758bad37850eed8dc0f6b463e805636b87feae975fb49f5e6aad34f042fbd0c0625a33676bc170d181241351612ed5e2a5997248c69906c76
6
+ metadata.gz: 2357386af9137a2b4d40f7ce981d7d48909001b066638af236fe55affa3405d50f3866133e934231bdcb9f04f2a02053222c389511214f4e9b9a306b7fd56d54
7
+ data.tar.gz: 7b228d9046ba5fd172d5199c94ab78e012d6c3205eda62aaa3da952971d34899e60b4e1fb7f073db2164a36c419c4f47f14074e05e0355c288699655e1675162
@@ -72,7 +72,7 @@ $(document).on('ready turbo:load', function () {
72
72
 
73
73
  let currentTab = 'pages_list';
74
74
 
75
- function switchTab(toTab) {
75
+ window.switchTab = function switchTab(toTab) {
76
76
  if(currentTab != null) $('#tab-' + currentTab).removeClass('active');
77
77
  $('#tab-' + toTab).addClass('active');
78
78
  currentTab = toTab;
@@ -81,7 +81,7 @@ function switchTab(toTab) {
81
81
  }
82
82
  }
83
83
 
84
- function selectPage() {
84
+ window.selectPage = function selectPage() {
85
85
  let el = $('#link-page-name');
86
86
  clearCurrentElement();
87
87
  el.addClass('active');
@@ -90,7 +90,7 @@ function selectPage() {
90
90
  if($('#page_label').length > 0) $('#page_label').focus();
91
91
  }
92
92
 
93
- function selectElement(id) {
93
+ window.selectElement = function selectElement(id) {
94
94
  let el = $(id);
95
95
  clearPageName();
96
96
  clearCurrentElement();
@@ -102,28 +102,28 @@ function selectElement(id) {
102
102
  // if( $('#element_label')) $('#element_label').focus();
103
103
  }
104
104
 
105
- function clearCurrentElement() {
105
+ window.clearCurrentElement = function clearCurrentElement() {
106
106
  if (activeElement != '' && $(activeElement)) {
107
107
  $(activeElement).removeClass('active');
108
108
  }
109
109
  }
110
110
 
111
- function clearPageName() {
111
+ window.clearPageName = function clearPageName() {
112
112
  $('#link-page-name').removeClass('active');
113
113
  }
114
114
 
115
- function snapElementProperties(el) {
115
+ window.snapElementProperties = function snapElementProperties(el) {
116
116
  let propsTop = Position.cumulativeOffset(el)[1] - 160;
117
117
  if (propsTop < 0) propsTop = 0;
118
118
  $('#panel-properties-element').css({'margin-top': propsTop});
119
119
  }
120
120
 
121
- function addError(id) {
121
+ window.addError = function addError(id) {
122
122
  $('#' + id).addClassName('fieldWithErrors');
123
123
  }
124
124
 
125
125
  // convert label to slug
126
- function updateSlug(source, dest) {
126
+ window.updateSlug = function updateSlug(source, dest) {
127
127
  let label = $(source).val();
128
128
  let slug = $(dest).val();
129
129
  if( label == null || slug == null) return; // oh oh
@@ -133,10 +133,10 @@ function updateSlug(source, dest) {
133
133
 
134
134
  if( label != '' && slug == '' ) { // if slug is empty lets copy label to it
135
135
  slug = label.toLowerCase();
136
- slug = slug.gsub(/[^a-z0-9]/, '_'); // only alpha-numeric
137
- slug = slug.gsub(/_{2,}/, '_'); // compact double hyphens down to one
138
- slug = slug.gsub(/_$/, ''); // remove trailing underscores
139
- slug = slug.gsub(/^([0-9])/, '_\1') // can't begin with a digit, so preprend an underscore
136
+ slug = slug.replace(/[^a-z0-9]/, '_'); // only alpha-numeric
137
+ slug = slug.replace(/_{2,}/, '_'); // compact double hyphens down to one
138
+ slug = slug.replace(/_$/, ''); // remove trailing underscores
139
+ slug = slug.replace(/^([0-9])/, '_$&') // can't begin with a digit, so preprend an underscore
140
140
  if( slug.length > 36 ) slug = slug.slice(0, 36) // max length
141
141
 
142
142
  $(dest).value = slug
@@ -1,33 +1,35 @@
1
- function setUpSortables() {
2
- $('[data-sortable]').sortable({axis:'y',
3
- items: '> li.sortable',
4
- dropOnEmpty:false,
5
- update: function(event, ui) {
6
- let sortable = this;
7
- $.ajax({data:$(this).sortable('serialize',{key:sortable.id + '[]'}),
8
- complete: function(request) {$(sortable).effect('highlight')},
9
- success:function(request){$('#errors').html(request)},
10
- type:'POST',
11
- url: $(sortable).attr('data-sortable-url')
12
- })
13
- },
14
- stop: function(event, ui) {
15
- let before_dropper = $('li.before-container[data-element_id="'+ui.item.data('element_id'));
16
- if (before_dropper.length > 0) {
17
- before_dropper.detach();
18
- before_dropper.insertBefore(ui.item);
19
- }
20
- let after_dropper = $('li.after-container[data-element_id="'+ui.item.data('element_id'));
21
- if (after_dropper.length > 0) {
22
- after_dropper.detach();
23
- after_dropper.insertAfter(ui.item);
24
- }
25
- }
26
- });
27
- $('[data-sortable][data-sortable-handle]').each(function() {
28
- handle = $(this).attr('data-sortable-handle');
1
+ window.setUpSortables = function setUpSortables() {
2
+ $('[data-sortable]').sortable({
3
+ axis:'y',
4
+ items: '> li.sortable',
5
+ dropOnEmpty:false,
6
+ update: function(event, ui) {
7
+ let sortable = this;
8
+ $.ajax({
9
+ data:$(this).sortable('serialize',{key:sortable.id + '[]'}),
10
+ complete: function(request) {$(sortable).effect('highlight')},
11
+ success: function(request){$('#errors').html(request)},
12
+ type:'POST',
13
+ url: $(sortable).attr('data-sortable-url')
14
+ })
15
+ },
16
+ stop: function(event, ui) {
17
+ let before_dropper = $('li.before-container[data-element_id="'+ui.item.data('element_id'));
18
+ if (before_dropper.length > 0) {
19
+ before_dropper.detach();
20
+ before_dropper.insertBefore(ui.item);
21
+ }
22
+ let after_dropper = $('li.after-container[data-element_id="'+ui.item.data('element_id'));
23
+ if (after_dropper.length > 0) {
24
+ after_dropper.detach();
25
+ after_dropper.insertAfter(ui.item);
26
+ }
27
+ }
28
+ });
29
+ $('[data-sortable][data-sortable-handle]').each(function() {
30
+ const handle = $(this).attr('data-sortable-handle');
29
31
  $(this).sortable("option", "handle", handle);
30
- });
32
+ });
31
33
 
32
34
  $('.droppable').droppable({
33
35
  activeClass: 'droppable-active',
@@ -36,8 +38,8 @@ function setUpSortables() {
36
38
  $.post($(this).attr('data-url'), {draggable_element: ui.draggable.attr('id')}, function() {}, 'script')
37
39
  },
38
40
  activate: function( event, ui ) {
39
- $draggable = ui.draggable;
40
- $container = $draggable.parents("li.element.container")
41
+ const $draggable = ui.draggable;
42
+ const $container = $draggable.parents("li.element.container");
41
43
  if ($container.length == 1) {
42
44
  $container.parent().find('li.around-container[data-element_id="'+$container.data('element_id')+'"]').addClass('droppable-active')
43
45
  } else {
@@ -45,8 +47,8 @@ function setUpSortables() {
45
47
  }
46
48
  },
47
49
  deactivate: function( event, ui ) {
48
- $draggable = ui.draggable;
49
- $container = $draggable.parents("li.element.container")
50
+ const $draggable = ui.draggable;
51
+ const $container = $draggable.parents("li.element.container");
50
52
  if ($container.length == 1) {
51
53
  $container.parent().find('li.around-container[data-element_id="'+$container.data('element_id')+'"]').removeClass('droppable-active')
52
54
  } else {
@@ -56,7 +58,7 @@ function setUpSortables() {
56
58
  });
57
59
  }
58
60
 
59
- function setUpCalendars() {
61
+ window.setUpCalendars = function setUpCalendars() {
60
62
  let now = new Date();
61
63
  let year = now.getFullYear() + 10;
62
64
  $('[data-calendar]').datepicker({
@@ -66,11 +68,11 @@ function setUpCalendars() {
66
68
  })
67
69
  }
68
70
 
69
- function setUpJsHelpers() {
70
- // ==================
71
- // Sortable
72
- setUpSortables();
73
- // ==================
71
+ window.setUpJsHelpers = function setUpJsHelpers() {
72
+ // ==================
73
+ // Sortable
74
+ setUpSortables();
75
+ // ==================
74
76
 
75
77
  // ==================
76
78
  // Calendar
@@ -79,8 +81,8 @@ function setUpJsHelpers() {
79
81
  <% unless Fe.bootstrap %>$(".tip[title], a[title]").tooltip()<% end %>
80
82
  }
81
83
 
82
- function fixGridColumnWidths() {
83
- $("table.grid").each(function(i, grid) {
84
+ window.fixGridColumnWidths = function fixGridColumnWidths() {
85
+ $("table.grid").each(function(i, grid) {
84
86
  let num_columns = $(grid).find("th").length;
85
87
  if (num_columns > 0) {
86
88
  let width = (100 / num_columns) + "%";
@@ -97,6 +99,13 @@ function scrollTo(el) {
97
99
  }, 1000);
98
100
  }
99
101
 
102
+ window.scrollToElement = function scrollToElement(el) {
103
+ if ($(el).length == 0) { return; }
104
+ $('html, body').animate({
105
+ scrollTop: $(el).offset().top
106
+ }, 1000);
107
+ }
108
+
100
109
  // jQuery 3 has removed $(document).on('ready', ...) in favor of $(document).ready(...). Manually call it from
101
110
  // the new method here, so we can avoid changing over all the document ready's.
102
111
  $(document).ready(function() {
@@ -99,7 +99,7 @@ fe.pageHandler = {
99
99
  //
100
100
  if (!isValid && $('#' + this.current_page + "-form").hasClass('enforce-valid-before-next')) {
101
101
  // scroll up to where the error is
102
- scrollTo($(".help-block:visible")[0].closest("li"));
102
+ scrollToElement($(".help-block:visible")[0].closest("li"));
103
103
  return;
104
104
  }
105
105
 
@@ -110,9 +110,9 @@ fe.pageHandler = {
110
110
 
111
111
  if (!background_load) {
112
112
  if ($('a[name="main"]').length == 1) {
113
- scrollTo('a[name="main"]');
113
+ scrollToElement('a[name="main"]');
114
114
  } else {
115
- scrollTo('#main');
115
+ scrollToElement('#main');
116
116
  }
117
117
  }
118
118
 
@@ -157,7 +157,9 @@ fe.pageHandler = {
157
157
  if( form_data ) {
158
158
  if( page.data('form_data') == null || page.data('form_data').data !== form_data.data || force === true) { // if any changes
159
159
  page.data('form_data', form_data);
160
- $.ajax({url: form_data.url, type: 'put', data: form_data.data,
160
+ const auth_token = $('meta[name=csrf-token]').attr('content');
161
+ form_data.data += '&authenticity_token=' + encodeURIComponent(auth_token);
162
+ $.ajax({url: form_data.url, type: 'put', data: form_data.data,
161
163
  beforeSend: function (xhr) {
162
164
  $('#spinner_' + page.attr('id')).show();
163
165
  },
@@ -302,8 +304,9 @@ fe.pageHandler = {
302
304
  // clear out pages array to force reload. This enables "frozen" apps
303
305
  // immediately after submission - :onSuccess (for USCM which stays in the application vs. redirecting to the dashboard)
304
306
  let curr = fe.pageHandler.current_page;
307
+ const auth_token = $('meta[name=csrf-token]').attr('content');
305
308
  $.ajax({url: url, dataType:'script',
306
- data: {answer_sheet_type: answer_sheet_type, a: $('input[type=hidden][name=a]').val()},
309
+ data: {answer_sheet_type: answer_sheet_type, a: $('input[type=hidden][name=a]').val(), authenticity_token: auth_token},
307
310
  type:'post',
308
311
  beforeSend: function(xhr) {
309
312
  $('body').trigger('ajax:loading', xhr);
@@ -444,6 +447,8 @@ $(document).on('ready turbo:load', function () {
444
447
  let data = form_elements.serializeArray();
445
448
 
446
449
  data.push({name: 'answer_sheet_type', value: answer_sheet_type});
450
+ const auth_token = $('meta[name=csrf-token]').attr('content');
451
+ data.push({name: 'authenticity_token', value: auth_token});
447
452
  $.ajax({url: $(el).attr('href'), data: data, dataType: 'script', type: 'POST',
448
453
  beforeSend: function (xhr) {
449
454
  $('body').trigger('ajax:loading', xhr);
@@ -495,7 +500,7 @@ $(function() {
495
500
  });
496
501
 
497
502
 
498
- function updateTotal(id) {
503
+ window.updateTotal = function updateTotal(id) {
499
504
  try {
500
505
  let total = 0;
501
506
  $(".col_" + id).each(function(index, el) {
@@ -506,7 +511,7 @@ function updateTotal(id) {
506
511
  }
507
512
  }
508
513
 
509
- function submitToFrame(id, url) {
514
+ window.submitToFrame = function submitToFrame(id, url) {
510
515
  let form = $('<form method="post" action="'+url+'.js" endtype="multipart/form-data"></form>')
511
516
  let csrf_token = $('meta[name=csrf-token]').attr('content'),
512
517
  csrf_param = $('meta[name=csrf-param]').attr('content'),
@@ -531,3 +536,10 @@ if (typeof scrollTo === 'undefined') {
531
536
  }, 1000);
532
537
  }
533
538
  }
539
+
540
+ window.scrollToElement = function scrollToElement(el) {
541
+ if ($(el).length == 0) { return; }
542
+ $('html, body').animate({
543
+ scrollTop: $(el).offset().top
544
+ }, 1000);
545
+ }
@@ -1,7 +1,7 @@
1
1
  /* Taken from https://github.com/mihaild/jquery-html5-upload */
2
2
 
3
3
  (function($) {
4
- $.fn.html5_upload = function(options) {
4
+ $.fn.html5_upload = function(_options) {
5
5
 
6
6
  function get_file_name(file) {
7
7
  return file.name || file.fileName;
@@ -59,6 +59,7 @@ module Fe::AnswerPagesControllerConcern
59
59
  end
60
60
  @presenter.active_page = nil
61
61
  @answer_sheet.update(locale: session[:locale])
62
+ @answer_sheet.touch
62
63
  set_saved_at_timestamp
63
64
  respond_to do |format|
64
65
  format.js
@@ -34,7 +34,7 @@ module Fe
34
34
 
35
35
  unless @languages
36
36
  @languages = question_sheets.first.languages
37
- question_sheets[1..-1].each { |qs| @languages &= qs.languages.select(&:present?) }
37
+ question_sheets[1..-1].each { |qs| @languages &= qs.languages&.select(&:present?) }
38
38
  end
39
39
  @languages
40
40
  end
@@ -65,15 +65,15 @@ module Fe
65
65
  # HUMANIZED_ATTRIBUTES[attr.to_sym] || super
66
66
  # end
67
67
  def label(locale = nil)
68
- label_translations[locale].present? ? label_translations[locale] : self[:label]
68
+ label_translations&.dig(locale).present? ? label_translations[locale] : self[:label]
69
69
  end
70
70
 
71
71
  def content(locale = nil)
72
- content_translations[locale].present? ? content_translations[locale] : self[:content]
72
+ content_translations&.dig(locale).present? ? content_translations[locale] : self[:content]
73
73
  end
74
74
 
75
75
  def tooltip(locale = nil)
76
- tip_translations[locale].present? ? tip_translations[locale] : self[:tooltip]
76
+ tip_translations&.dig(locale).present? ? tip_translations[locale] : self[:tooltip]
77
77
  end
78
78
 
79
79
  # returns all pages this element is on, whether that be directly, through a grid, or as a choice field conditional option
@@ -73,7 +73,7 @@ module Fe
73
73
  end
74
74
 
75
75
  def label(locale = nil)
76
- label_translations[locale] || self[:label]
76
+ label_translations&.dig(locale) || self[:label]
77
77
  end
78
78
 
79
79
  # returns true if there is a question element on the page, including one inside a grid
@@ -5,7 +5,7 @@
5
5
  $('#element_form_<%= dom_id(@element) %>').html('<%= escape_javascript(render("fe/admin/panels/prop_element", element: @element)) %>');
6
6
  $('#element_form_<%= dom_id(@element) %>').show();
7
7
  selectElement("#element_<%= @element.id %>");
8
- scrollTo("#element_<%= @element.id %>");
8
+ scrollToElement("#element_<%= @element.id %>");
9
9
  setUpSortables();
10
10
  <% else %>
11
11
  alert('That question already exists on this question sheet')
@@ -43,7 +43,7 @@
43
43
  "have edited the information in order for your reference to receive another email.") %>
44
44
  </strong></em></p></li>
45
45
 
46
- <li><%= link_to(_("Send Email Invitation"), @answer_sheet ? send_reference_invite_fe_answer_sheet_path(@answer_sheet, reference_id: reference.id) : "#", class: "#{"form-control" if Fe.bootstrap} reference_send_invite button no-left-margin", disabled: !reference.all_affecting_questions_answered) %>
46
+ <li><%= link_to(_("Send Email Invitation"), @answer_sheet ? send_reference_invite_fe_answer_sheet_path(@answer_sheet, reference_id: reference.id) : "#", class: "#{"form-control" if Fe.bootstrap} reference_send_invite button no-left-margin", disabled: !reference.all_affecting_questions_answered, data: { turbo: false }) %>
47
47
  <% if reference.question && !reference.all_affecting_questions_answered %>
48
48
  <div>
49
49
  <strong><i>This button is disabled because there are questions that affect whether this reference is required that need to answered first:</i></strong>
data/lib/fe/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Fe
2
- VERSION = "2.1.6.2"
2
+ VERSION = "2.1.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fe
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.6.2
4
+ version: 2.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - CruGlobal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-04-28 00:00:00.000000000 Z
11
+ date: 2025-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -677,137 +677,137 @@ required_rubygems_version: !ruby/object:Gem::Requirement
677
677
  - !ruby/object:Gem::Version
678
678
  version: '0'
679
679
  requirements: []
680
- rubygems_version: 3.1.6
680
+ rubygems_version: 3.5.17
681
681
  signing_key:
682
682
  specification_version: 4
683
683
  summary: Form Engine
684
684
  test_files:
685
- - spec/dummy/app/models/application.rb
686
- - spec/dummy/app/models/person.rb
687
- - spec/dummy/app/models/user.rb
688
- - spec/dummy/app/controllers/application_controller.rb
689
- - spec/dummy/app/views/layouts/application.html.erb
685
+ - spec/controllers/fe/admin/elements_controller_spec.rb
686
+ - spec/controllers/fe/admin/email_templates_controller_spec.rb
687
+ - spec/controllers/fe/admin/question_pages_controller_spec.rb
688
+ - spec/controllers/fe/admin/question_sheets_controller_spec.rb
689
+ - spec/controllers/fe/answer_pages_controller_spec.rb
690
+ - spec/controllers/fe/answer_sheets_controller_spec.rb
691
+ - spec/controllers/fe/reference_pages_controller.rb
692
+ - spec/controllers/fe/reference_sheets_controller_spec.rb
693
+ - spec/controllers/fe/references_controller_spec.rb
694
+ - spec/controllers/fe/submit_pages_controller_spec.rb
695
+ - spec/dummy/README.rdoc
696
+ - spec/dummy/Rakefile
690
697
  - spec/dummy/app/assets/config/manifest.js
691
698
  - spec/dummy/app/assets/javascripts/application.js
692
699
  - spec/dummy/app/assets/stylesheets/application.css
700
+ - spec/dummy/app/controllers/application_controller.rb
693
701
  - spec/dummy/app/helpers/application_helper.rb
694
- - spec/dummy/bin/rake
702
+ - spec/dummy/app/models/application.rb
703
+ - spec/dummy/app/models/person.rb
704
+ - spec/dummy/app/models/user.rb
705
+ - spec/dummy/app/views/layouts/application.html.erb
695
706
  - spec/dummy/bin/bundle
696
707
  - spec/dummy/bin/rails
697
- - spec/dummy/config/secrets.yml
698
- - spec/dummy/config/routes.rb
699
- - spec/dummy/config/locales/en.yml
700
- - spec/dummy/config/environments/production.rb
701
- - spec/dummy/config/environments/development.rb
702
- - spec/dummy/config/environments/test.rb
703
- - spec/dummy/config/environment.rb
708
+ - spec/dummy/bin/rake
704
709
  - spec/dummy/config/application.rb
705
- - spec/dummy/config/database.yml
706
710
  - spec/dummy/config/boot.rb
711
+ - spec/dummy/config/database.yml
712
+ - spec/dummy/config/environment.rb
713
+ - spec/dummy/config/environments/development.rb
714
+ - spec/dummy/config/environments/production.rb
715
+ - spec/dummy/config/environments/test.rb
716
+ - spec/dummy/config/initializers/assets.rb
707
717
  - spec/dummy/config/initializers/backtrace_silencers.rb
718
+ - spec/dummy/config/initializers/cookies_serializer.rb
708
719
  - spec/dummy/config/initializers/fast_gettext.rb
709
- - spec/dummy/config/initializers/mime_types.rb
710
720
  - spec/dummy/config/initializers/filter_parameter_logging.rb
711
- - spec/dummy/config/initializers/session_store.rb
712
- - spec/dummy/config/initializers/wrap_parameters.rb
713
- - spec/dummy/config/initializers/assets.rb
714
- - spec/dummy/config/initializers/cookies_serializer.rb
715
- - spec/dummy/config/initializers/to_unsafe_h.rb.new
716
721
  - spec/dummy/config/initializers/inflections.rb
722
+ - spec/dummy/config/initializers/mime_types.rb
723
+ - spec/dummy/config/initializers/session_store.rb
717
724
  - spec/dummy/config/initializers/to_unsafe_h.rb
725
+ - spec/dummy/config/initializers/to_unsafe_h.rb.new
726
+ - spec/dummy/config/initializers/wrap_parameters.rb
727
+ - spec/dummy/config/locales/en.yml
728
+ - spec/dummy/config/routes.rb
729
+ - spec/dummy/config/secrets.yml
718
730
  - spec/dummy/config.ru
719
- - spec/dummy/Rakefile
720
- - spec/dummy/public/favicon.ico
721
- - spec/dummy/public/422.html
722
- - spec/dummy/public/500.html
723
- - spec/dummy/public/404.html
724
- - spec/dummy/db/schema.rb
725
- - spec/dummy/db/migrate/20181108201746_create_versions.rb
726
- - spec/dummy/db/migrate/20141203214029_add_conditional_answer_to_elements.fe_engine.rb
727
- - spec/dummy/db/migrate/20150930191756_add_locale_to_reference_sheets.fe_engine.rb
728
- - spec/dummy/db/migrate/20150504222619_add_all_element_ids_to_pages.fe_engine.rb
729
- - spec/dummy/db/migrate/20141203214019_add_element_and_answer_fields.fe_engine.rb
730
- - spec/dummy/db/migrate/20141203214023_remove_question_id_from_element.fe_engine.rb
731
- - spec/dummy/db/migrate/20150930190002_add_locale_columns.fe_engine.rb
732
- - spec/dummy/db/migrate/20141203214031_move_conditional_ids_used_for_choice_field_to_their_own_column.fe_engine.rb
731
+ - spec/dummy/db/migrate/20141203214017_core.fe_engine.rb
733
732
  - spec/dummy/db/migrate/20141203214018_create_reference_sheets.fe_engine.rb
733
+ - spec/dummy/db/migrate/20141203214019_add_element_and_answer_fields.fe_engine.rb
734
734
  - spec/dummy/db/migrate/20141203214020_create_email_templates.fe_engine.rb
735
+ - spec/dummy/db/migrate/20141203214021_add_max_lengths.fe_engine.rb
735
736
  - spec/dummy/db/migrate/20141203214022_create_join_table.fe_engine.rb
736
- - spec/dummy/db/migrate/20150123215803_create_users.rb
737
- - spec/dummy/db/migrate/20150925192557_add_share_to_elements.fe_engine.rb
737
+ - spec/dummy/db/migrate/20141203214023_remove_question_id_from_element.fe_engine.rb
738
738
  - spec/dummy/db/migrate/20141203214024_create_fe_people.fe_engine.rb
739
739
  - spec/dummy/db/migrate/20141203214025_create_fe_addresses.fe_engine.rb
740
- - spec/dummy/db/migrate/20150930190001_create_fe_phone_numbers.fe_engine.rb
741
- - spec/dummy/db/migrate/20141203214030_remove_short_value_column.fe_engine.rb
742
- - spec/dummy/db/migrate/20160204164612_switch_conditional_answer_separator_to_semicolon.fe_engine.rb
743
740
  - spec/dummy/db/migrate/20141203214027_create_fe_users.fe_engine.rb
744
741
  - spec/dummy/db/migrate/20141203214028_add_conditional_type_to_elements.fe_engine.rb
745
- - spec/dummy/db/migrate/20151021190027_add_question_sheet_id_in_refs.fe_engine.rb
742
+ - spec/dummy/db/migrate/20141203214029_add_conditional_answer_to_elements.fe_engine.rb
743
+ - spec/dummy/db/migrate/20141203214030_remove_short_value_column.fe_engine.rb
744
+ - spec/dummy/db/migrate/20141203214031_move_conditional_ids_used_for_choice_field_to_their_own_column.fe_engine.rb
745
+ - spec/dummy/db/migrate/20150123215803_create_users.rb
746
+ - spec/dummy/db/migrate/20150504222619_add_all_element_ids_to_pages.fe_engine.rb
747
+ - spec/dummy/db/migrate/20150925192557_add_share_to_elements.fe_engine.rb
748
+ - spec/dummy/db/migrate/20150930190001_create_fe_phone_numbers.fe_engine.rb
749
+ - spec/dummy/db/migrate/20150930190002_add_locale_columns.fe_engine.rb
750
+ - spec/dummy/db/migrate/20150930190003_add_locale_to_answer_sheet.fe_engine.rb
746
751
  - spec/dummy/db/migrate/20150930190004_change_pages_all_element_ids_to_text.fe_engine.rb
752
+ - spec/dummy/db/migrate/20150930191756_add_locale_to_reference_sheets.fe_engine.rb
753
+ - spec/dummy/db/migrate/20151021190027_add_question_sheet_id_in_refs.fe_engine.rb
754
+ - spec/dummy/db/migrate/20160204164612_switch_conditional_answer_separator_to_semicolon.fe_engine.rb
747
755
  - spec/dummy/db/migrate/20160204164613_add_visible_and_visibility_cache_key_to_reference_sheets.fe_engine.rb
748
- - spec/dummy/db/migrate/20150930190003_add_locale_to_answer_sheet.fe_engine.rb
749
- - spec/dummy/db/migrate/20141203214017_core.fe_engine.rb
750
- - spec/dummy/db/migrate/20141203214021_add_max_lengths.fe_engine.rb
751
- - spec/dummy/README.rdoc
752
- - spec/mailers/fe/notifier_spec.rb
753
- - spec/models/fe/question_grid_spec.rb
754
- - spec/models/fe/person_spec.rb
755
- - spec/models/fe/section_spec.rb
756
- - spec/models/fe/option_spec.rb
757
- - spec/models/fe/date_field_spec.rb
758
- - spec/models/fe/state_chooser_spec.rb
759
- - spec/models/fe/condition_spec.rb
760
- - spec/models/fe/page_spec.rb
761
- - spec/models/fe/question_spec.rb
762
- - spec/models/fe/reference_question_spec.rb
763
- - spec/models/fe/question_set_spec.rb
764
- - spec/models/fe/element_spec.rb
765
- - spec/models/fe/answer_spec.rb
766
- - spec/models/fe/choice_field_spec.rb
767
- - spec/models/fe/reference_sheet_spec.rb
768
- - spec/models/fe/answer_sheet_question_sheet_spec.rb
769
- - spec/models/fe/option_group_spec.rb
770
- - spec/models/fe/question_grid_with_total_spec.rb
771
- - spec/models/fe/page_element_spec.rb
772
- - spec/models/fe/text_field_spec.rb
773
- - spec/models/fe/email_template_spec.rb
774
- - spec/models/fe/paragraph_spec.rb
775
- - spec/models/fe/page_link_spec.rb
776
- - spec/models/fe/attachment_field_spec.rb
777
- - spec/models/fe/application_spec.rb
778
- - spec/models/fe/question_sheet_spec.rb
779
- - spec/support/database.txt
780
- - spec/support/choices.xml
781
- - spec/factories/dummy_applications.rb
782
- - spec/factories/page_elements.rb
783
- - spec/factories/fe_addresses.rb
784
- - spec/factories/fe_phone_numbers.rb
785
- - spec/factories/fe_email_templates.rb
786
- - spec/factories/email_templates.rb
756
+ - spec/dummy/db/migrate/20181108201746_create_versions.rb
757
+ - spec/dummy/db/schema.rb
758
+ - spec/dummy/public/404.html
759
+ - spec/dummy/public/422.html
760
+ - spec/dummy/public/500.html
761
+ - spec/dummy/public/favicon.ico
762
+ - spec/factories/answer_sheet_question_sheets.rb
787
763
  - spec/factories/answer_sheets.rb
788
- - spec/factories/reference_sheets.rb
789
764
  - spec/factories/answers.rb
790
- - spec/factories/fe_email_addresses.rb
791
- - spec/factories/question_sheet.rb
792
- - spec/factories/page.rb
765
+ - spec/factories/applications.rb
766
+ - spec/factories/dummy_applications.rb
767
+ - spec/factories/dummy_people.rb
793
768
  - spec/factories/dummy_users.rb
794
- - spec/factories/answer_sheet_question_sheets.rb
795
769
  - spec/factories/elements.rb
796
- - spec/factories/paragraphs.rb
797
- - spec/factories/reference_questions.rb
798
- - spec/factories/applications.rb
770
+ - spec/factories/email_templates.rb
771
+ - spec/factories/fe_addresses.rb
772
+ - spec/factories/fe_email_addresses.rb
773
+ - spec/factories/fe_email_templates.rb
799
774
  - spec/factories/fe_people.rb
775
+ - spec/factories/fe_phone_numbers.rb
800
776
  - spec/factories/fe_user.rb
801
- - spec/factories/dummy_people.rb
777
+ - spec/factories/page.rb
778
+ - spec/factories/page_elements.rb
779
+ - spec/factories/paragraphs.rb
780
+ - spec/factories/question_sheet.rb
781
+ - spec/factories/reference_questions.rb
782
+ - spec/factories/reference_sheets.rb
802
783
  - spec/jobs/fe/update_reference_sheet_visibility_job_spec.rb
803
- - spec/controllers/fe/reference_pages_controller.rb
804
- - spec/controllers/fe/reference_sheets_controller_spec.rb
805
- - spec/controllers/fe/admin/question_sheets_controller_spec.rb
806
- - spec/controllers/fe/admin/email_templates_controller_spec.rb
807
- - spec/controllers/fe/admin/elements_controller_spec.rb
808
- - spec/controllers/fe/admin/question_pages_controller_spec.rb
809
- - spec/controllers/fe/submit_pages_controller_spec.rb
810
- - spec/controllers/fe/references_controller_spec.rb
811
- - spec/controllers/fe/answer_pages_controller_spec.rb
812
- - spec/controllers/fe/answer_sheets_controller_spec.rb
784
+ - spec/mailers/fe/notifier_spec.rb
785
+ - spec/models/fe/answer_sheet_question_sheet_spec.rb
786
+ - spec/models/fe/answer_spec.rb
787
+ - spec/models/fe/application_spec.rb
788
+ - spec/models/fe/attachment_field_spec.rb
789
+ - spec/models/fe/choice_field_spec.rb
790
+ - spec/models/fe/condition_spec.rb
791
+ - spec/models/fe/date_field_spec.rb
792
+ - spec/models/fe/element_spec.rb
793
+ - spec/models/fe/email_template_spec.rb
794
+ - spec/models/fe/option_group_spec.rb
795
+ - spec/models/fe/option_spec.rb
796
+ - spec/models/fe/page_element_spec.rb
797
+ - spec/models/fe/page_link_spec.rb
798
+ - spec/models/fe/page_spec.rb
799
+ - spec/models/fe/paragraph_spec.rb
800
+ - spec/models/fe/person_spec.rb
801
+ - spec/models/fe/question_grid_spec.rb
802
+ - spec/models/fe/question_grid_with_total_spec.rb
803
+ - spec/models/fe/question_set_spec.rb
804
+ - spec/models/fe/question_sheet_spec.rb
805
+ - spec/models/fe/question_spec.rb
806
+ - spec/models/fe/reference_question_spec.rb
807
+ - spec/models/fe/reference_sheet_spec.rb
808
+ - spec/models/fe/section_spec.rb
809
+ - spec/models/fe/state_chooser_spec.rb
810
+ - spec/models/fe/text_field_spec.rb
813
811
  - spec/rails_helper.rb
812
+ - spec/support/choices.xml
813
+ - spec/support/database.txt