'Filter objects so only the ones with a user\'s reading access
are included'

def __filter_can_read(self, user):

    if user.has_perm(u'wiki.moderator'):
        return self.results
    if user.is_anonymous():
        q = self.results.filter(other_read=u'True')
        return q
    else:
        q = self.results.filter(((Q(other_read=True) | Q(owner=user)) | (Q(group__user=user) & Q(group_read=True))))
    return q
