diff --git a/app/policies/collection_policy.rb b/app/policies/collection_policy.rb index 7ca595c7cd867bdbaf48d7f9c858c140a0fe1a21..b39a280f49d2ced6d8ecca66b31597661d2c42d5 100644 --- a/app/policies/collection_policy.rb +++ b/app/policies/collection_policy.rb @@ -7,8 +7,12 @@ class CollectionPolicy < ApplicationPolicy class Scope < Scope def resolve - if !user.nil? && user.is_admin? - scope.all + if !user.nil? + if user.is_admin? + scope.all + else + scope.includes(:collection_items).where.not(:collection_items => {:collection_id => nil}).where("privacy = ? OR owner_id = ?", 'public', user.id) + end else scope.includes(:collection_items).where.not(:collection_items => {:collection_id => nil}).where(privacy: 'public') end