diff --git a/CHANGELOG.md b/CHANGELOG.md index 9abfc82bb..db1a9c223 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [1.22.2](https://github.com/codeRIT/hackathon-manager/compare/v1.22.1...v1.22.2) (2020-03-29) + + +### Bug Fixes + +* Fixes label mismatch with dietary restrictions ([#206](https://github.com/codeRIT/hackathon-manager/issues/206)) ([](https://github.com/codeRIT/hackathon-manager/commit/70fdf73)) + ## [1.22.1](https://github.com/codeRIT/hackathon-manager/compare/v1.22.0...v1.22.1) (2020-02-05) diff --git a/Gemfile b/Gemfile index 8f3d4805a..0af5cc099 100644 --- a/Gemfile +++ b/Gemfile @@ -5,7 +5,7 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby '>= 2.5' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' -gem 'rails', '~> 5.2.2' +gem 'rails', '~> 5.2.4.2' # Use mysql as the database for Active Record gem 'mysql2', '>= 0.4.4', '< 0.6.0' # Use Puma as the app server diff --git a/Gemfile.lock b/Gemfile.lock index 10d8f2535..b26cf60fc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,43 +1,43 @@ GEM remote: https://rubygems.org/ specs: - actioncable (5.2.4) - actionpack (= 5.2.4) + actioncable (5.2.4.2) + actionpack (= 5.2.4.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailer (5.2.4) - actionpack (= 5.2.4) - actionview (= 5.2.4) - activejob (= 5.2.4) + actionmailer (5.2.4.2) + actionpack (= 5.2.4.2) + actionview (= 5.2.4.2) + activejob (= 5.2.4.2) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.2.4) - actionview (= 5.2.4) - activesupport (= 5.2.4) - rack (~> 2.0) + actionpack (5.2.4.2) + actionview (= 5.2.4.2) + activesupport (= 5.2.4.2) + rack (~> 2.0, >= 2.0.8) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.2.4) - activesupport (= 5.2.4) + actionview (5.2.4.2) + activesupport (= 5.2.4.2) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.2.4) - activesupport (= 5.2.4) + activejob (5.2.4.2) + activesupport (= 5.2.4.2) globalid (>= 0.3.6) - activemodel (5.2.4) - activesupport (= 5.2.4) - activerecord (5.2.4) - activemodel (= 5.2.4) - activesupport (= 5.2.4) + activemodel (5.2.4.2) + activesupport (= 5.2.4.2) + activerecord (5.2.4.2) + activemodel (= 5.2.4.2) + activesupport (= 5.2.4.2) arel (>= 9.0) - activestorage (5.2.4) - actionpack (= 5.2.4) - activerecord (= 5.2.4) + activestorage (5.2.4.2) + actionpack (= 5.2.4.2) + activerecord (= 5.2.4.2) marcel (~> 0.3.1) - activesupport (5.2.4) + activesupport (5.2.4.2) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -108,7 +108,7 @@ GEM codeclimate-test-reporter (0.6.0) simplecov (>= 0.7.1, < 1.0.0) coderay (1.1.2) - concurrent-ruby (1.1.5) + concurrent-ruby (1.1.6) connection_pool (2.2.2) crack (0.4.3) safe_yaml (~> 1.0.0) @@ -228,7 +228,7 @@ GEM mime-types (3.2.2) mime-types-data (~> 3.2015) mime-types-data (3.2019.0331) - mimemagic (0.3.3) + mimemagic (0.3.4) mini_mime (1.0.2) mini_portile2 (2.4.0) minitest (5.14.0) @@ -245,7 +245,7 @@ GEM mysql2 (0.5.3) nenv (0.3.0) nio4r (2.5.2) - nokogiri (1.10.7) + nokogiri (1.10.9) mini_portile2 (~> 2.4.0) notiffany (0.1.3) nenv (~> 0.1) @@ -276,26 +276,26 @@ GEM coderay (~> 1.1.0) method_source (~> 0.9.0) public_suffix (3.1.1) - puma (4.3.1) + puma (4.3.3) nio4r (~> 2.0) raabro (1.1.6) - rack (2.1.2) + rack (2.2.2) rack-protection (2.0.5) rack rack-test (1.1.0) rack (>= 1.0, < 3) - rails (5.2.4) - actioncable (= 5.2.4) - actionmailer (= 5.2.4) - actionpack (= 5.2.4) - actionview (= 5.2.4) - activejob (= 5.2.4) - activemodel (= 5.2.4) - activerecord (= 5.2.4) - activestorage (= 5.2.4) - activesupport (= 5.2.4) + rails (5.2.4.2) + actioncable (= 5.2.4.2) + actionmailer (= 5.2.4.2) + actionpack (= 5.2.4.2) + actionview (= 5.2.4.2) + activejob (= 5.2.4.2) + activemodel (= 5.2.4.2) + activerecord (= 5.2.4.2) + activestorage (= 5.2.4.2) + activesupport (= 5.2.4.2) bundler (>= 1.3.0) - railties (= 5.2.4) + railties (= 5.2.4.2) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.4) actionpack (>= 5.0.1.x) @@ -313,9 +313,9 @@ GEM rails_stdout_logging rails_serve_static_assets (0.0.5) rails_stdout_logging (0.0.5) - railties (5.2.4) - actionpack (= 5.2.4) - activesupport (= 5.2.4) + railties (5.2.4.2) + actionpack (= 5.2.4.2) + activesupport (= 5.2.4.2) method_source rake (>= 0.8.7) thor (>= 0.19.0, < 2.0) @@ -487,7 +487,7 @@ DEPENDENCIES omniauth-mlh (~> 0.1) omniauth-rails_csrf_protection puma (~> 4.3) - rails (~> 5.2.2) + rails (~> 5.2.4.2) rails-controller-testing rails-settings-cached (~> 0.7.2) rails_12factor diff --git a/app/models/questionnaire.rb b/app/models/questionnaire.rb index 9b63c6037..024097343 100644 --- a/app/models/questionnaire.rb +++ b/app/models/questionnaire.rb @@ -6,6 +6,8 @@ class Questionnaire < ApplicationRecord before_validation :consolidate_school_names before_validation :clean_for_non_rsvp + before_validation :clean_negative_special_needs + before_validation :clean_negative_dietary_restrictions after_create :queue_triggered_email_create after_update :queue_triggered_email_update after_save :update_school_questionnaire_count @@ -226,6 +228,14 @@ def clean_for_non_rsvp end end + def clean_negative_special_needs + self.special_needs = nil if special_needs.present? && %w[none n/a non-applicable na nothing nil null no].include?(special_needs.strip.downcase) + end + + def clean_negative_dietary_restrictions + self.dietary_restrictions = nil if dietary_restrictions.present? && %w[none n/a non-applicable na nothing nil null no].include?(dietary_restrictions.strip.downcase) + end + def consolidate_school_names return if school.blank? duplicate = SchoolNameDuplicate.find_by(name: school.name) diff --git a/app/views/manage/questionnaires/_form.html.haml b/app/views/manage/questionnaires/_form.html.haml index 0b39c3260..91fff3521 100644 --- a/app/views/manage/questionnaires/_form.html.haml +++ b/app/views/manage/questionnaires/_form.html.haml @@ -23,7 +23,7 @@ = f.input :major, input_html: { "data-validate" => "presence" } = f.input :shirt_size, as: :select, collection: Questionnaire::POSSIBLE_SHIRT_SIZES, include_blank: "(select one...)", input_html: { "data-validate" => "presence" } = f.input :gender, input_html: { "data-validate" => "presence" } - = f.input :dietary_restrictions, label: "Health Restrictions" + = f.input :dietary_restrictions, label: "Dietary restrictions" = f.input :special_needs, label: "Special needs" .col-xl-6 diff --git a/config/locales/en.yml b/config/locales/en.yml index cc2654fde..191db0f2a 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -101,7 +101,7 @@ en: level_of_study: University (Undergraduate) major: Major gender: Female, Male, Non-Binary, Prefer not to say, other - dietary_restrictions: Allergies, medical assistance, etc. + dietary_restrictions: Allergies, restrictions, etc. special_needs: Any special needs or requests portfolio_url: https://mywebsite.com vcs_url: https://github.com/coderit diff --git a/test/models/questionnaire_test.rb b/test/models/questionnaire_test.rb index fa9b57ba6..cb60e67ea 100644 --- a/test/models/questionnaire_test.rb +++ b/test/models/questionnaire_test.rb @@ -211,6 +211,130 @@ class QuestionnaireTest < ActiveSupport::TestCase end end + context "#clean_negative_special_needs" do + should "return nil if special_needs field is None" do + questionnaire = create(:questionnaire, special_needs: "NoNE") + assert_nil questionnaire.special_needs + end + + should "return nil if special_needs field is n/a" do + questionnaire = create(:questionnaire, special_needs: "N/a") + assert_nil questionnaire.special_needs + end + + should "return nil if special_needs fiels is non-applicable" do + questionnaire = create(:questionnaire, special_needs: "Non-applicable") + assert_nil questionnaire.special_needs + end + + should "return nil if special_needs fiels is na" do + questionnaire = create(:questionnaire, special_needs: "na") + assert_nil questionnaire.special_needs + end + + should "return nil if special_needs fiels is nothing" do + questionnaire = create(:questionnaire, special_needs: "nOthing") + assert_nil questionnaire.special_needs + end + + should "return nil if special_needs fiels is nil" do + questionnaire = create(:questionnaire, special_needs: "Nil") + assert_nil questionnaire.special_needs + end + + should "return nil if special_needs fiels is null" do + questionnaire = create(:questionnaire, special_needs: "nULL") + assert_nil questionnaire.special_needs + end + + should "return nil if special_needs fiels is no" do + questionnaire = create(:questionnaire, special_needs: "no") + assert_nil questionnaire.special_needs + end + + should "return nil if special_needs fiels is no (with spaces)" do + questionnaire = create(:questionnaire, special_needs: " no ") + assert_nil questionnaire.special_needs + end + + should "return value if special_needs is none except for wheelchair" do + questionnaire = create(:questionnaire, special_needs: "None except for wheelchair") + assert_equal "None except for wheelchair", questionnaire.special_needs + end + + should "return value if special_needs is no thank you" do + questionnaire = create(:questionnaire, special_needs: "no thank you") + assert_equal "no thank you", questionnaire.special_needs + end + + should "return value if special_needs is need i need to sleep" do + questionnaire = create(:questionnaire, special_needs: "I need to sleep") + assert_equal "I need to sleep", questionnaire.special_needs + end + end + + context "#clean_negative_dietary_restrictions" do + should "return nil if dietary_restrictions field is None" do + questionnaire = create(:questionnaire, dietary_restrictions: "NoNE") + assert_nil questionnaire.dietary_restrictions + end + + should "return nil if dietary_restrictions field is n/a" do + questionnaire = create(:questionnaire, dietary_restrictions: "N/a") + assert_nil questionnaire.dietary_restrictions + end + + should "return nil if dietary_restrictions field is non-applicable" do + questionnaire = create(:questionnaire, dietary_restrictions: "Non-applicable") + assert_nil questionnaire.dietary_restrictions + end + + should "return nil if dietary_restrictions fiels is na" do + questionnaire = create(:questionnaire, dietary_restrictions: "na") + assert_nil questionnaire.dietary_restrictions + end + + should "return nil if dietary_restrictions fiels is nothing" do + questionnaire = create(:questionnaire, dietary_restrictions: "nOthing") + assert_nil questionnaire.dietary_restrictions + end + + should "return nil if dietary_restrictions fiels is nil" do + questionnaire = create(:questionnaire, dietary_restrictions: "Nil") + assert_nil questionnaire.dietary_restrictions + end + + should "return nil if dietary_restrictions fiels is null" do + questionnaire = create(:questionnaire, dietary_restrictions: "nULL") + assert_nil questionnaire.dietary_restrictions + end + + should "return nil if dietary_restrictions fiels is no" do + questionnaire = create(:questionnaire, dietary_restrictions: "no") + assert_nil questionnaire.dietary_restrictions + end + + should "return nil if dietary_restrictions fiels is no (with spaces)" do + questionnaire = create(:questionnaire, dietary_restrictions: " no ") + assert_nil questionnaire.dietary_restrictions + end + + should "return value if dietary_restrictions is nothing except for peanuts" do + questionnaire = create(:questionnaire, dietary_restrictions: "Nothing except for peanuts") + assert_equal "Nothing except for peanuts", questionnaire.dietary_restrictions + end + + should "return value if dietary_restrictions is no thank you" do + questionnaire = create(:questionnaire, dietary_restrictions: "no thank you") + assert_equal "no thank you", questionnaire.dietary_restrictions + end + + should "return value if dietary_restrictions is need i am a vegetarian" do + questionnaire = create(:questionnaire, dietary_restrictions: "I am a vegetarian") + assert_equal "I am a vegetarian", questionnaire.dietary_restrictions + end + end + context "#minor?" do should "return true for 16 year old" do HackathonConfig['event_start_date'] = "2020-06-12" diff --git a/vendor/cache/actioncable-5.2.4.2.gem b/vendor/cache/actioncable-5.2.4.2.gem new file mode 100644 index 000000000..7c0483a78 Binary files /dev/null and b/vendor/cache/actioncable-5.2.4.2.gem differ diff --git a/vendor/cache/actioncable-5.2.4.gem b/vendor/cache/actioncable-5.2.4.gem deleted file mode 100644 index a910963f9..000000000 Binary files a/vendor/cache/actioncable-5.2.4.gem and /dev/null differ diff --git a/vendor/cache/actionmailer-5.2.4.2.gem b/vendor/cache/actionmailer-5.2.4.2.gem new file mode 100644 index 000000000..f83760a40 Binary files /dev/null and b/vendor/cache/actionmailer-5.2.4.2.gem differ diff --git a/vendor/cache/actionmailer-5.2.4.gem b/vendor/cache/actionmailer-5.2.4.gem deleted file mode 100644 index 4a908bf02..000000000 Binary files a/vendor/cache/actionmailer-5.2.4.gem and /dev/null differ diff --git a/vendor/cache/actionpack-5.2.4.2.gem b/vendor/cache/actionpack-5.2.4.2.gem new file mode 100644 index 000000000..17920fb9d Binary files /dev/null and b/vendor/cache/actionpack-5.2.4.2.gem differ diff --git a/vendor/cache/actionpack-5.2.4.gem b/vendor/cache/actionpack-5.2.4.gem deleted file mode 100644 index 4ef570b01..000000000 Binary files a/vendor/cache/actionpack-5.2.4.gem and /dev/null differ diff --git a/vendor/cache/actionview-5.2.4.2.gem b/vendor/cache/actionview-5.2.4.2.gem new file mode 100644 index 000000000..068b0d04a Binary files /dev/null and b/vendor/cache/actionview-5.2.4.2.gem differ diff --git a/vendor/cache/actionview-5.2.4.gem b/vendor/cache/actionview-5.2.4.gem deleted file mode 100644 index f18fe9da9..000000000 Binary files a/vendor/cache/actionview-5.2.4.gem and /dev/null differ diff --git a/vendor/cache/activejob-5.2.4.2.gem b/vendor/cache/activejob-5.2.4.2.gem new file mode 100644 index 000000000..a8333a5df Binary files /dev/null and b/vendor/cache/activejob-5.2.4.2.gem differ diff --git a/vendor/cache/activejob-5.2.4.gem b/vendor/cache/activejob-5.2.4.gem deleted file mode 100644 index 4b71d1d78..000000000 Binary files a/vendor/cache/activejob-5.2.4.gem and /dev/null differ diff --git a/vendor/cache/activemodel-5.2.4.2.gem b/vendor/cache/activemodel-5.2.4.2.gem new file mode 100644 index 000000000..8d794f804 Binary files /dev/null and b/vendor/cache/activemodel-5.2.4.2.gem differ diff --git a/vendor/cache/activemodel-5.2.4.gem b/vendor/cache/activemodel-5.2.4.gem deleted file mode 100644 index 565073586..000000000 Binary files a/vendor/cache/activemodel-5.2.4.gem and /dev/null differ diff --git a/vendor/cache/activerecord-5.2.4.2.gem b/vendor/cache/activerecord-5.2.4.2.gem new file mode 100644 index 000000000..f45c8fbd3 Binary files /dev/null and b/vendor/cache/activerecord-5.2.4.2.gem differ diff --git a/vendor/cache/activerecord-5.2.4.gem b/vendor/cache/activerecord-5.2.4.gem deleted file mode 100644 index d6c5194a7..000000000 Binary files a/vendor/cache/activerecord-5.2.4.gem and /dev/null differ diff --git a/vendor/cache/activestorage-5.2.4.2.gem b/vendor/cache/activestorage-5.2.4.2.gem new file mode 100644 index 000000000..62493f2a6 Binary files /dev/null and b/vendor/cache/activestorage-5.2.4.2.gem differ diff --git a/vendor/cache/activestorage-5.2.4.gem b/vendor/cache/activestorage-5.2.4.gem deleted file mode 100644 index 9f3c89d49..000000000 Binary files a/vendor/cache/activestorage-5.2.4.gem and /dev/null differ diff --git a/vendor/cache/activesupport-5.2.4.2.gem b/vendor/cache/activesupport-5.2.4.2.gem new file mode 100644 index 000000000..d713a51a2 Binary files /dev/null and b/vendor/cache/activesupport-5.2.4.2.gem differ diff --git a/vendor/cache/activesupport-5.2.4.gem b/vendor/cache/activesupport-5.2.4.gem deleted file mode 100644 index 465c6c65e..000000000 Binary files a/vendor/cache/activesupport-5.2.4.gem and /dev/null differ diff --git a/vendor/cache/concurrent-ruby-1.1.5.gem b/vendor/cache/concurrent-ruby-1.1.5.gem deleted file mode 100644 index ce1284af9..000000000 Binary files a/vendor/cache/concurrent-ruby-1.1.5.gem and /dev/null differ diff --git a/vendor/cache/concurrent-ruby-1.1.6.gem b/vendor/cache/concurrent-ruby-1.1.6.gem new file mode 100644 index 000000000..74013bb68 Binary files /dev/null and b/vendor/cache/concurrent-ruby-1.1.6.gem differ diff --git a/vendor/cache/mimemagic-0.3.3.gem b/vendor/cache/mimemagic-0.3.3.gem deleted file mode 100644 index ad552a36a..000000000 Binary files a/vendor/cache/mimemagic-0.3.3.gem and /dev/null differ diff --git a/vendor/cache/mimemagic-0.3.4.gem b/vendor/cache/mimemagic-0.3.4.gem new file mode 100644 index 000000000..52979bfc6 Binary files /dev/null and b/vendor/cache/mimemagic-0.3.4.gem differ diff --git a/vendor/cache/nokogiri-1.10.7.gem b/vendor/cache/nokogiri-1.10.9.gem similarity index 74% rename from vendor/cache/nokogiri-1.10.7.gem rename to vendor/cache/nokogiri-1.10.9.gem index 743886488..51a0949d3 100644 Binary files a/vendor/cache/nokogiri-1.10.7.gem and b/vendor/cache/nokogiri-1.10.9.gem differ diff --git a/vendor/cache/puma-4.3.1.gem b/vendor/cache/puma-4.3.1.gem deleted file mode 100644 index e79904f77..000000000 Binary files a/vendor/cache/puma-4.3.1.gem and /dev/null differ diff --git a/vendor/cache/puma-4.3.3.gem b/vendor/cache/puma-4.3.3.gem new file mode 100644 index 000000000..6b142a182 Binary files /dev/null and b/vendor/cache/puma-4.3.3.gem differ diff --git a/vendor/cache/rack-2.1.2.gem b/vendor/cache/rack-2.1.2.gem deleted file mode 100644 index eeb806652..000000000 Binary files a/vendor/cache/rack-2.1.2.gem and /dev/null differ diff --git a/vendor/cache/rack-2.2.2.gem b/vendor/cache/rack-2.2.2.gem new file mode 100644 index 000000000..82d4c7e4a Binary files /dev/null and b/vendor/cache/rack-2.2.2.gem differ diff --git a/vendor/cache/rails-5.2.4.2.gem b/vendor/cache/rails-5.2.4.2.gem new file mode 100644 index 000000000..07938a821 Binary files /dev/null and b/vendor/cache/rails-5.2.4.2.gem differ diff --git a/vendor/cache/rails-5.2.4.gem b/vendor/cache/rails-5.2.4.gem deleted file mode 100644 index ea7b80d05..000000000 Binary files a/vendor/cache/rails-5.2.4.gem and /dev/null differ diff --git a/vendor/cache/railties-5.2.4.2.gem b/vendor/cache/railties-5.2.4.2.gem new file mode 100644 index 000000000..75d048190 Binary files /dev/null and b/vendor/cache/railties-5.2.4.2.gem differ diff --git a/vendor/cache/railties-5.2.4.gem b/vendor/cache/railties-5.2.4.gem deleted file mode 100644 index dcd353f09..000000000 Binary files a/vendor/cache/railties-5.2.4.gem and /dev/null differ