Add conference specifc route to revision history page
This commit is contained in:
parent
5965bcf193
commit
51d569794f
5 changed files with 16 additions and 11 deletions
|
|
@ -1,15 +1,14 @@
|
|||
module Admin
|
||||
class VersionsController < Admin::BaseController
|
||||
load_resource :conference, find_by: :short_title
|
||||
load_and_authorize_resource class: PaperTrail::Version
|
||||
|
||||
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)
|
||||
@conference_id = params[:conference_id].to_i unless params[:conference_id].nil?
|
||||
@conf_ids_for_organizer = current_user.is_admin? ? Conference.pluck(:short_title) : Conference.with_role(:organizer, current_user).pluck(:short_title)
|
||||
|
||||
return unless @conference_id.present?
|
||||
authorize! :index, PaperTrail::Version.new(conference_id: @conference_id)
|
||||
@versions = @versions.where(conference_id: @conference_id)
|
||||
return unless @conference.present?
|
||||
authorize! :index, PaperTrail::Version.new(conference_id: @conference.id)
|
||||
@versions = @versions.where(conference_id: @conference.id)
|
||||
end
|
||||
|
||||
def revert_attribute
|
||||
|
|
|
|||
|
|
@ -4,13 +4,12 @@
|
|||
|
||||
.dropdown.pull-right
|
||||
%button.btn.btn-success.dropdown-toggle{'data-toggle' => 'dropdown', type: 'button'}
|
||||
= @conference_id.nil? ? 'All Conferences & Users' : Conference.find(@conference_id).short_title
|
||||
= @conference.nil? ? 'All Conferences & Users' : @conference.short_title
|
||||
%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)
|
||||
- @conf_ids_for_organizer.each do |conference_short_title|
|
||||
%li= link_to conference_short_title, admin_conference_revision_history_path(conference_id: conference_short_title)
|
||||
|
||||
%h1 Revision History
|
||||
%p.text-muted
|
||||
|
|
|
|||
|
|
@ -136,3 +136,8 @@
|
|||
= link_to(admin_conference_roles_path(@conference.short_title)) do
|
||||
%span.fa.fa-group
|
||||
Roles
|
||||
- if can? :index, PaperTrail::Version.new(item_type: 'User')
|
||||
%li{:class=> active_nav_li(admin_conference_revision_history_path(@conference.short_title))}
|
||||
= link_to(admin_conference_revision_history_path(@conference.short_title)) do
|
||||
%span.fa.fa-history
|
||||
Revision History
|
||||
|
|
|
|||
|
|
@ -95,6 +95,8 @@ Osem::Application.routes.draw do
|
|||
patch :update_conference
|
||||
end
|
||||
end
|
||||
|
||||
get '/revision_history' => 'versions#index'
|
||||
end
|
||||
|
||||
get '/revision_history' => 'versions#index'
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ describe Admin::VersionsController do
|
|||
it 'raises error if user is not an organizer of specified conference' do
|
||||
user = create(:user)
|
||||
sign_in user
|
||||
get :index, conference_id: conference.id
|
||||
get :index, conference_id: conference.short_title
|
||||
expect(flash[:alert]).to match('You are not authorized to access this area.')
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue