From ad56b4bb787a0772d11bffc095c9dd8018418950 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 5 Mar 2019 23:28:57 +0100 Subject: [PATCH] Document/fix conference versions view --- CHANGES.md | 9 +++++++++ app/views/admin/versions/_object_desc_and_link.html.haml | 4 ++-- lib/tasks/version.rake | 8 ++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index a5aa8339..309aabb0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -26,6 +26,15 @@ have collected. bundle exec rake data:drop_all_ahoy_events RAILS_ENV=production ``` +### Conference wide revision history +There is now a conference wide revision history that will show organizers +everything that is happening. To be able to do this we need to change old +data. + +``` +bundle exec rake data:set_conference_in_versions RAILS_ENV=production +``` + # Changes in OSEM 1.0 [Released May 24, 2016](https://osem.io/1.0) diff --git a/app/views/admin/versions/_object_desc_and_link.html.haml b/app/views/admin/versions/_object_desc_and_link.html.haml index bd06c92a..5f81f29e 100644 --- a/app/views/admin/versions/_object_desc_and_link.html.haml +++ b/app/views/admin/versions/_object_desc_and_link.html.haml @@ -79,8 +79,8 @@ = link_to (current_or_last_object_state('Event', object.event_id).try(:title) || 'deleted'), admin_conference_program_event_path(conference_short_title, object.event_id) in - = link_to "Schedule #{event_schedule.schedule_id}", - admin_conference_schedule_path(conference_short_title, event_schedule.schedule_id) + = link_to "Schedule #{version.item.schedule_id}", + admin_conference_schedule_path(conference_short_title, version.item.schedule_id) - when 'Schedule' = link_if_alive version, "Schedule #{version.item_id}", diff --git a/lib/tasks/version.rake b/lib/tasks/version.rake index 08a0b2ec..0827e6a5 100644 --- a/lib/tasks/version.rake +++ b/lib/tasks/version.rake @@ -10,8 +10,12 @@ namespace :data do version.update_attributes(conference_id: version.item_id) elsif version.item_type == 'Event' - event = (version.item || version.reify || version.next.reify) - + event = version.item + unless event || Event.find_by(id: version.item_id) + puts 'Not updating versions of deleted event...' + next + end + event ||= (version.reify || version.next.reify) conference_id = if event.try(:program) event.program.conference_id # Event had attribute conference_id before it was replaced with program_id