From a02060b665de5728727080b684626e7d6c9e8add Mon Sep 17 00:00:00 2001 From: Nishanth Vijayan Date: Tue, 16 Aug 2016 18:56:54 +0530 Subject: [PATCH] cfp team users should have access to event commercials only --- app/controllers/admin/events_controller.rb | 4 +++- app/models/ability.rb | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/controllers/admin/events_controller.rb b/app/controllers/admin/events_controller.rb index 67559f3c..1e0d1447 100644 --- a/app/controllers/admin/events_controller.rb +++ b/app/controllers/admin/events_controller.rb @@ -86,7 +86,9 @@ module Admin @comment_count = @event.comment_threads.count @ratings = @event.votes.includes(:user) @difficulty_levels = @program.difficulty_levels - @versions = @event.versions | PaperTrail::Version.where(item_type: 'Commercial', item_id: @event.commercials.pluck(:id)) + @versions = @event.versions | + PaperTrail::Version.where(item_type: 'Commercial').where_object(commercialable_id: @event.id, commercialable_type: 'Event') | + PaperTrail::Version.where(item_type: 'Commercial').where_object_changes(commercialable_id: @event.id, commercialable_type: 'Event') end def edit diff --git a/app/models/ability.rb b/app/models/ability.rb index 96ca5b59..c2cbfa8e 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -211,8 +211,10 @@ class Ability (Conference.with_role(:cfp, user).pluck(:id).include? role.resource_id) end + can [:index, :revert_object, :revert_attribute], PaperTrail::Version, item_type: 'Event', conference_id: conf_ids_for_cfp can [:index, :revert_object, :revert_attribute], PaperTrail::Version do |version| - %w(Event Commercial).include?(version.item_type) && (conf_ids_for_cfp.include? version.conference_id) + version.item_type == 'Commercial' && conf_ids_for_cfp.include?(version.conference_id) && + (version.object.to_s.include?('Event') || version.object_changes.to_s.include?('Event')) end end