diff --git a/app/policies/collection_policy.rb b/app/policies/collection_policy.rb index b39a280f49d2ced6d8ecca66b31597661d2c42d5..9721408518245252b7fb8482729dd1a5005be1c3 100644 --- a/app/policies/collection_policy.rb +++ b/app/policies/collection_policy.rb @@ -7,8 +7,8 @@ class CollectionPolicy < ApplicationPolicy class Scope < Scope def resolve - if !user.nil? - if user.is_admin? + if user_exists? + if user_can_moderate? scope.all else scope.includes(:collection_items).where.not(:collection_items => {:collection_id => nil}).where("privacy = ? OR owner_id = ?", 'public', user.id) diff --git a/app/serializers/collection_item_serializer.rb b/app/serializers/collection_item_serializer.rb index 60c59d539e02a9b728b34dfea947c9e46a819aa8..5bb19b6e93ff72cc1afd1059f2fa57c4f2197c3f 100644 --- a/app/serializers/collection_item_serializer.rb +++ b/app/serializers/collection_item_serializer.rb @@ -4,7 +4,7 @@ class CollectionItemSerializer < ActiveModel::Serializer def collectionable if ( object.collectionable_type == "LearningObject" ) serializer = ::LearningObjectSerializer - elsif ( object.public? || (current_user && ( object.owner?(current_user) || current_user.is_admin? )) ) + elsif ( object.public? || (current_user && ( object.owner?(current_user) || current_user.can_moderate? )) ) serializer = ::CollectionMinSerializer end