Пример #1
0
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))
Пример #2
0
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))
Пример #3
0
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