def get_statuses_for_user(self, user): # all public statuses by a local user return privacy_filter( user, models.Status.objects.select_subclasses().filter(user__local=True), privacy_levels=["public"], )
def get_statuses_for_user(self, user): return privacy_filter( user, models.Status.objects.select_subclasses(), privacy_levels=["public", "unlisted", "followers"], following_only=True, )
def get_statuses_for_user(self, user): # pylint: disable=no-self-use """given a user, what statuses should they see on this stream""" return privacy_filter( user, models.Status.objects.select_subclasses(), privacy_levels=["public", "unlisted", "followers"], )
def remove_book_statuses(self, user, book): """add statuses about a book to a user's feed""" work = book.parent_work statuses = privacy_filter( user, models.Status.objects.select_subclasses().filter( Q(comment__book__parent_work=work) | Q(quotation__book__parent_work=work) | Q(review__book__parent_work=work) | Q(mention_books__parent_work=work)).distinct(), privacy_levels=["public"], ) self.bulk_remove_objects_from_store(statuses, self.stream_id(user))
def get_statuses_for_user(self, user): """any public status that mentions the user's books""" books = user.shelfbook_set.values_list("book__parent_work__id", flat=True).distinct() return privacy_filter( user, models.Status.objects.select_subclasses().filter( Q(comment__book__parent_work__id__in=books) | Q(quotation__book__parent_work__id__in=books) | Q(review__book__parent_work__id__in=books) | Q(mention_books__parent_work__id__in=books)).distinct(), privacy_levels=["public"], )
def add_user_statuses(self, viewer, user): """add a user's statuses to another user's feed""" # only add the statuses that the viewer should be able to see (ie, not dms) statuses = privacy_filter(viewer, user.status_set.all()) self.bulk_add_objects_to_store(statuses, self.stream_id(viewer))
def get_statuses_for_user(self, user): return privacy_filter( user, models.Status.objects.select_subclasses(), privacy_levels=["public"], )