diff --git a/.fabmanager-version b/.fabmanager-version index 06d0f343f..6628fd0a0 100644 --- a/.fabmanager-version +++ b/.fabmanager-version @@ -1 +1 @@ -2.5.11 \ No newline at end of file +2.5.12-dev \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index aa5472ce5..021b7413a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog Fab Manager +## next release + +- Fix a bug: ActiveRecord::RecordNotFound when running rake task fix:recursive_events_over_DST + ## v2.5.11 2017 September 7 - Added tooltip concerning images insertion while configuring the about page diff --git a/lib/tasks/fablab/fix.rake b/lib/tasks/fablab/fix.rake index a213fe79d..ef358a502 100644 --- a/lib/tasks/fablab/fix.rake +++ b/lib/tasks/fablab/fix.rake @@ -62,13 +62,19 @@ namespace :fablab do include ApplicationHelper groups = Event.group(:recurrence_id).count groups.keys.each do |recurrent_event_id| - initial_event = Event.find(recurrent_event_id) - Event.where(recurrence_id: recurrent_event_id).where.not(id: recurrent_event_id).each do |event| - availability = event.availability - if initial_event.availability.start_at.hour != availability.start_at.hour - availability.start_at = dst_correction(initial_event.availability.start_at, availability.start_at) - availability.end_at = dst_correction(initial_event.availability.end_at, availability.end_at) - availability.save! + if recurrent_event_id + initial_event = Event.find(recurrent_event_id) + if initial_event + Event.where(recurrence_id: recurrent_event_id).where.not(id: recurrent_event_id).each do |event| + availability = event.availability + if initial_event.availability.start_at.hour != availability.start_at.hour + availability.start_at = dst_correction(initial_event.availability.start_at, availability.start_at) + availability.end_at = dst_correction(initial_event.availability.end_at, availability.end_at) + availability.save! + end + end + else + puts "Error: The initial event (id: #{recurrent_event_id}) of the recurrence was not found. You may have to correct events manually" end end end