diff --git a/app/controllers/admin/versions_controller.rb b/app/controllers/admin/versions_controller.rb index 07108d38..b5eec406 100644 --- a/app/controllers/admin/versions_controller.rb +++ b/app/controllers/admin/versions_controller.rb @@ -4,8 +4,14 @@ module Admin def index authorize! :index, PaperTrail::Version.new(item_type: 'User') - conf_ids_for_organizer = current_user.is_admin? ? Conference.pluck(:id) : Conference.with_role(:organizer, current_user).pluck(:id) - @versions = PaperTrail::Version.where(["conference_id IN (?) OR item_type = 'User'", conf_ids_for_organizer]) + @conf_ids_for_organizer = current_user.is_admin? ? Conference.pluck(:id) : Conference.with_role(:organizer, current_user).pluck(:id) + @conference_id = params[:conference_id].to_i unless params[:conference_id].nil? + if @conference_id.nil? + @versions = PaperTrail::Version.where(["conference_id IN (?) OR item_type = 'User'", @conf_ids_for_organizer]) + else + @versions = PaperTrail::Version.where(['conference_id IN (?)', (@conf_ids_for_organizer & [@conference_id])]). + where.not(item_type: 'User') + end end def revert_attribute diff --git a/app/views/admin/versions/index.html.haml b/app/views/admin/versions/index.html.haml index 69af134b..5408694d 100644 --- a/app/views/admin/versions/index.html.haml +++ b/app/views/admin/versions/index.html.haml @@ -1,6 +1,22 @@ .row .col-md-12 .page-header + + .dropdown.pull-right + %button.btn.btn-success.dropdown-toggle{'data-toggle' => 'dropdown', type: 'button'} + - if @conference_id.nil? + All Conferences & Users + - elsif @conf_ids_for_organizer.include?(@conference_id) + = Conference.find(@conference_id).short_title + - else + Filter By Conference + %span.caret + %ul.dropdown-menu + %li= link_to 'All Conferences & Users', admin_revision_history_path + - @conf_ids_for_organizer.each do |conf_id| + - conference = Conference.find(conf_id) + %li= link_to conference.short_title, admin_revision_history_path(conference_id: conference.id) + %h1 Revision History %p.text-muted Log of changes made to conferences and associated resources