diff --git a/Gemfile b/Gemfile index b6dadb1e..b281e1aa 100644 --- a/Gemfile +++ b/Gemfile @@ -10,7 +10,7 @@ if Gem::Version.new(Bundler::VERSION) < Gem::Version.new('1.8.4') end # as web framework -gem 'rails', '~> 5.1.0' +gem 'rails', '~> 5.2.3' # Use Puma as the app server gem 'puma', '~> 3.0' diff --git a/Gemfile.lock b/Gemfile.lock index 7d5a65b8..6928fb8d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -13,25 +13,25 @@ GEM remote: https://rails-assets.org/ specs: Ascii85 (1.0.3) - actioncable (5.1.7) - actionpack (= 5.1.7) + actioncable (5.2.3) + actionpack (= 5.2.3) nio4r (~> 2.0) - websocket-driver (~> 0.6.1) - actionmailer (5.1.7) - actionpack (= 5.1.7) - actionview (= 5.1.7) - activejob (= 5.1.7) + websocket-driver (>= 0.6.1) + actionmailer (5.2.3) + actionpack (= 5.2.3) + actionview (= 5.2.3) + activejob (= 5.2.3) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.1.7) - actionview (= 5.1.7) - activesupport (= 5.1.7) + actionpack (5.2.3) + actionview (= 5.2.3) + activesupport (= 5.2.3) rack (~> 2.0) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.1.7) - activesupport (= 5.1.7) + actionview (5.2.3) + activesupport (= 5.2.3) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -41,16 +41,20 @@ GEM activemodel (>= 4.1, < 6) case_transform (>= 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3) - activejob (5.1.7) - activesupport (= 5.1.7) + activejob (5.2.3) + activesupport (= 5.2.3) globalid (>= 0.3.6) - activemodel (5.1.7) - activesupport (= 5.1.7) - activerecord (5.1.7) - activemodel (= 5.1.7) - activesupport (= 5.1.7) - arel (~> 8.0) - activesupport (5.1.7) + activemodel (5.2.3) + activesupport (= 5.2.3) + activerecord (5.2.3) + activemodel (= 5.2.3) + activesupport (= 5.2.3) + arel (>= 9.0) + activestorage (5.2.3) + actionpack (= 5.2.3) + activerecord (= 5.2.3) + marcel (~> 0.3.1) + activesupport (5.2.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -72,7 +76,7 @@ GEM railties (>= 4.0) archive-zip (0.12.0) io-like (~> 0.3.0) - arel (8.0.0) + arel (9.0.0) ast (2.4.0) autoprefixer-rails (9.6.0) execjs @@ -273,6 +277,8 @@ GEM lumberjack (1.0.12) mail (2.7.1) mini_mime (>= 0.1.1) + marcel (0.3.3) + mimemagic (~> 0.3.2) method_source (0.8.2) mime-types (3.2.2) mime-types-data (~> 3.2015) @@ -381,17 +387,18 @@ GEM ruby-openid (>= 2.1.8) rack-test (1.1.0) rack (>= 1.0, < 3) - rails (5.1.7) - actioncable (= 5.1.7) - actionmailer (= 5.1.7) - actionpack (= 5.1.7) - actionview (= 5.1.7) - activejob (= 5.1.7) - activemodel (= 5.1.7) - activerecord (= 5.1.7) - activesupport (= 5.1.7) + rails (5.2.3) + actioncable (= 5.2.3) + actionmailer (= 5.2.3) + actionpack (= 5.2.3) + actionview (= 5.2.3) + activejob (= 5.2.3) + activemodel (= 5.2.3) + activerecord (= 5.2.3) + activestorage (= 5.2.3) + activesupport (= 5.2.3) bundler (>= 1.3.0) - railties (= 5.1.7) + railties (= 5.2.3) sprockets-rails (>= 2.0.0) rails-assets-bootstrap (3.3.6) rails-assets-jquery (>= 1.9.1, < 3) @@ -425,12 +432,12 @@ GEM rails-i18n (5.1.3) i18n (>= 0.7, < 2) railties (>= 5.0, < 6) - railties (5.1.7) - actionpack (= 5.1.7) - activesupport (= 5.1.7) + railties (5.2.3) + actionpack (= 5.2.3) + activesupport (= 5.2.3) method_source rake (>= 0.8.7) - thor (>= 0.18.1, < 2.0) + thor (>= 0.19.0, < 2.0) rainbow (3.0.0) rake (12.3.2) rb-fsevent (0.10.3) @@ -596,7 +603,7 @@ GEM addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff - websocket-driver (0.6.5) + websocket-driver (0.7.0) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.3) whenever (0.10.0) @@ -675,7 +682,7 @@ DEPENDENCIES prawn-qrcode prawn-rails puma (~> 3.0) - rails (~> 5.1.0) + rails (~> 5.2.3) rails-assets-bootstrap-markdown! rails-assets-bootstrap-select! rails-assets-date.format! diff --git a/app/models/.lodging.rb.swp b/app/models/.lodging.rb.swp new file mode 100644 index 00000000..70c3567d Binary files /dev/null and b/app/models/.lodging.rb.swp differ diff --git a/app/models/conference.rb b/app/models/conference.rb index ca37e6d0..be3c36ad 100644 --- a/app/models/conference.rb +++ b/app/models/conference.rb @@ -115,7 +115,7 @@ class Conference < ApplicationRecord # Delete all EventSchedules that are not in the hours range # After the conference has been successfully updated def delete_event_schedules - if start_hour_changed? || end_hour_changed? + if saved_change_to_start_hour? || saved_change_to_end_hour? event_schedules = program.event_schedules.select do |event_schedule| event_schedule.start_time.hour < start_hour || event_schedule.end_time.hour > end_hour || @@ -642,7 +642,7 @@ class Conference < ApplicationRecord def notify_on_dates_changed? return false unless email_settings.send_on_conference_dates_updated # do not notify unless one of the dates changed - return false unless start_date_changed? || end_date_changed? + return false unless saved_change_to_start_date? || saved_change_to_end_date? # do not notify unless the mail content is set up (email_settings.conference_dates_updated_subject.present? && email_settings.conference_dates_updated_body.present?) @@ -659,7 +659,7 @@ class Conference < ApplicationRecord # do not notify unless we allow a registration return false unless registration_period # do not notify unless one of the dates changed - return false unless registration_period.start_date_changed? || registration_period.end_date_changed? + return false unless registration_period.saved_change_to_start_date? || registration_period.saved_change_to_end_date? # do not notify unless the mail content is set up (email_settings.conference_registration_dates_updated_subject.present? && email_settings.conference_registration_dates_updated_body.present?) diff --git a/app/models/program.rb b/app/models/program.rb index 0dadee15..8db24c6c 100644 --- a/app/models/program.rb +++ b/app/models/program.rb @@ -72,8 +72,8 @@ class Program < ApplicationRecord after_create :create_event_types after_create :create_difficulty_levels - after_save :unschedule_unfit_events, if: :schedule_interval_changed? - after_save :normalize_event_types_length, if: :schedule_interval_changed? + after_save :unschedule_unfit_events, if: :saved_change_to_schedule_interval? + after_save :normalize_event_types_length, if: :saved_change_to_schedule_interval? validate :check_languages_format # Returns all event_schedules for the selected schedule ordered by start_time diff --git a/app/models/survey_question.rb b/app/models/survey_question.rb index 7f3f7750..e1cb0427 100644 --- a/app/models/survey_question.rb +++ b/app/models/survey_question.rb @@ -10,7 +10,7 @@ class SurveyQuestion < ActiveRecord::Base ICONS = { boolean: 'dot-circle-o', choice: 'check-square-o', string: 'edit', text: 'align-left', datetime: 'clock-o', numeric: 'slack' }.freeze validates :title, presence: true - validates :possible_answers, :max_choices, :min_choices, presence: true, if: 'choice?' + validates :possible_answers, :max_choices, :min_choices, presence: true, if: :choice? validates :min_choices, numericality: { greater_than_or_equal_to: 1 }, allow_blank: true validates :max_choices, numericality: { greater_than_or_equal_to: 1 }, allow_blank: true diff --git a/app/models/venue.rb b/app/models/venue.rb index 592279ad..5abdcf96 100644 --- a/app/models/venue.rb +++ b/app/models/venue.rb @@ -37,7 +37,7 @@ class Venue < ApplicationRecord def notify_on_venue_changed? return false unless conference.try(:email_settings).try(:send_on_venue_updated) # do not notify unless the address changed - return false unless name_changed? || street_changed? || city_changed? || country_changed? + return false unless saved_change_to_name? || saved_change_to_street? || saved_change_to_city? || saved_change_to_country? # do not notify unless the mail content is set up (!conference.email_settings.venue_updated_subject.blank? && !conference.email_settings.venue_updated_body.blank?) diff --git a/app/views/admin/lodgings/index.html.haml b/app/views/admin/lodgings/index.html.haml index c2e011f9..67b5e3df 100644 --- a/app/views/admin/lodgings/index.html.haml +++ b/app/views/admin/lodgings/index.html.haml @@ -16,9 +16,9 @@ - else - if lodging.website_link.present? = link_to(lodging.website_link, class: 'thumbnail') do - = image_tag lodging.picture.thumb, class: 'img-responsive img-lodging' + = image_tag lodging.picture.thumb.url, class: 'img-responsive img-lodging' - else - = image_tag lodging.picture.thumb, class: 'img-responsive img-lodging' + = image_tag lodging.picture.thumb.url, class: 'img-responsive img-lodging' .caption %h3.text-center = lodging.name