def get_vendor_following(request, content_type_id, object_id): ctype = get_object_or_404(ContentType, pk=content_type_id) user = get_object_or_404(ctype.model_class(), pk=object_id) if request.is_ajax(): return render_to_response("follow/vendor_following.html", { "vendors": utils.get_following_vendors_for_user(user), }, context_instance=RequestContext(request)) else: return render_to_response("follow/render_vendor_following.html", { "vendors": utils.get_following_vendors_for_user(user), }, context_instance=RequestContext(request))
def get_vendor_following(request, content_type_id, object_id): ctype = get_object_or_404(ContentType, pk=content_type_id) user = get_object_or_404(ctype.model_class(), pk=object_id) if request.is_ajax(): return render_to_response( "follow/vendor_following.html", { "vendors": utils.get_following_vendors_for_user(user), }, context_instance=RequestContext(request)) else: return render_to_response( "follow/render_vendor_following.html", { "vendors": utils.get_following_vendors_for_user(user), }, context_instance=RequestContext(request))
def get_actions_following(request, content_type_id, object_id): activity_queryset = None ctype = get_object_or_404(ContentType, pk=content_type_id) actor = get_object_or_404(ctype.model_class(), pk=object_id) if activity_queryset is None: activity_queryset = actor.actor_actions.public() for followedObject in Follow.objects.following(user=actor): if followedObject: obj_content_type = ContentType.objects.get_for_model(followedObject) followObject = Follow.objects.get(user=actor, content_type=obj_content_type, object_id=followedObject.pk ) if followObject: stream = followedObject.actor_actions.public()#timestamp__gte=followObject.started) activity_queryset = activity_queryset | stream if not isinstance(followedObject, User) and not isinstance(followedObject, BlogPost): _follow = _Follow.objects.get_follows(followedObject) if _follow: follow = None try: follow = _follow.get(user=actor) except (MultipleObjectsReturned, _Follow.DoesNotExist) as e: if isinstance(e, MultipleObjectsReturned): follow = _follow.filter(user=actor)[0] pass else: follow = None pass if follow: stream = models.action_object_stream(followedObject)#, timestamp__gte = follow.datetime ) activity_queryset = activity_queryset | stream stream = models.target_stream(followedObject)#, timestamp__gte = follow.datetime ) activity_queryset = activity_queryset | stream allowed_verbs_for_user_in_common_feed = [settings.SAID_VERB, settings.SHARE_VERB, settings.DEAL_POST_VERB, settings.WISH_POST_VERB]# settings.REVIEW_POST_VERB, ] user_ctype = ContentType.objects.get_for_model(request.user) activity_queryset = activity_queryset.exclude(~Q(verb__in=allowed_verbs_for_user_in_common_feed) & Q(actor_content_type=user_ctype, actor_object_id=request.user.id) ) followed_blog_posts = utils.get_following_vendors_for_user(request.user) blogPostContentType = ContentType.objects.get_for_model(BlogPost) if followed_blog_posts: activity_queryset = activity_queryset.exclude(Q(verb=settings.REVIEW_POST_VERB) & Q(action_object_content_type=blogPostContentType) & Q(action_object_object_id__in=[blogpost.id for blogpost in followed_blog_posts])) activity_queryset = activity_queryset.order_by('-timestamp') return activity_queryset