Пример #1
0
 def put(self, request, pk, format=None):
     try:
         comment = Comment.objects.get(pk=pk)
         if request.data['type'] == 'update':
             if comment.user == request.user:
                 comment_serializer = CommentsSerializer(comment,
                                                         data=request.data)
                 if comment_serializer.is_valid():
                     comment_serializer.save()
                     return Response(comment_serializer.data)
                 else:
                     return Response(status.HTTP_400_BAD_REQUEST)
             else:
                 return Response(status.HTTP_405_METHOD_NOT_ALLOWED)
         elif request.data['type'] == 'like':
             already_liked_user = comment.get_users
             if request.user not in already_liked_user:
                 like = Like()
                 like.comment = comment
                 like.user = request.user
                 like.save()
                 return Response(status.HTTP_201_CREATED)
             else:
                 return Response(status.HTTP_501_NOT_IMPLEMENTED)
         elif request.data['type'] == 'unlike':
             already_liked_user = comment.get_users
             if request.user in already_liked_user:
                 like = Like.objects.get(user=request.user, comment=comment)
                 like.delete()
                 return Response(status.HTTP_201_CREATED)
         else:
             return Response(status.HTTP_501_NOT_IMPLEMENTED)
     except Comment.DoesNotExist:
         return Response(status.HTTP_404_NOT_FOUND)
Пример #2
0
def send_like(liker_id, liked_id, message, is_anonymous=False):
    user_liker = User.objects.get(id=liker_id)
    user_liked = User.objects.get(id=liked_id)

    already_waved = True
    like = None
    try:
        like = Like.objects.get(liker=user_liker, liked=user_liked)
        like.anonymous = is_anonymous

    except ObjectDoesNotExist:
        already_waved = False
        like = Like(
            liker=user_liker,
            liked=user_liked,
            anonymous=is_anonymous
        )

    like.save()
    if message:
        like.add_message(message)

    # ---------****---  PUSH  ---****--------- #
    yg_pm = BarachielPushManager()
    yg_pm.set_like(like)
    yg_pm.send()

    response = like.serialize(user_liker)
    return (response, already_waved)
Пример #3
0
    def post(self, request, *args, **kwargs):
        user_liker = request.user
        user_liked = get_object_or_404(User, id=kwargs['id'])

        try:
            like = Like(
                liker     =user_liker,
                liked     =user_liked,
                anonymous =request.POST.get('anonym') == "true"
            )
            like.save()

            response = like.serialize(user_liker)

            # ---------****---  PUSH  ---****--------- #
            yg_pm = BarachielPushManager()
            yg_pm.set_like(like)
            yg_pm.send()

            return HttpResponse(json.dumps(response),
                                mimetype='application/json')

        except IntegrityError:
            # TODO si ya existe pero con anonymous distinto actualizar.
            return HttpResponseBadRequest("Already Waved")
Пример #4
0
def like_post(request):
    if request.method == 'GET':
        post_id = request.GET['post_id']
        post = Post.objects.get(pk=post_id)
        like = Like(like_post=post, like_user=request.user)
        like.save()

        return HttpResponseRedirect('/ourblog/post/' + post_id)

    else:
        return HttpResponse("Request method is not a GET")
Пример #5
0
    def post(self, request):

        if not self.postobject.likes.filter(liker=self.request.user).exists():
            like = Like(post=self.postobject, liker=self.request.user)
            like.save()
        else:
            Like.objects.filter(liker=self.request.user,
                                post=self.postobject).delete()
        self.postobject.liked = Like.objects.filter(
            post=self.postobject).count()
        self.postobject.save()

        return HttpResponse(
            self.postobject.likes.filter(liker=self.request.user).exists())
Пример #6
0
 def post(self, request, *args, **kwargs):
     usr = self.request.user
     if 'post' in request.data:
         post_key = request.data['post']
         like_obj = Like.objects.filter(post__key=post_key, user=usr)
         if like_obj is not None and len(like_obj)>0:
             return Response({"error":"user has already liked the post!"},status = HTTP_400_BAD_REQUEST)
         else:
             like_obj = Like()
             like_obj.user= usr
             like_obj.post = Post.objects.get(key=post_key)
             like_obj.save()
             serializer = LikeSerializer(like_obj)
             return Response(serializer.data,status=HTTP_201_CREATED)
     else:
         return Response({"error":"post key is required!"},status = HTTP_400_BAD_REQUEST)
Пример #7
0
def like_action(request):
    """ 处理 like action """
    assert(request.method=='POST' and request.is_ajax()==True)
    bid = request.POST.get('id')
    try:
        query = Like.objects.filter(user=request.user, book=bid)
        if len(query):
            query.delete()
            unlike_signal.send(sender=request.user, target=bid, cat='book')
        else:
            record = Like(user=request.user, book=bid)
            record.save()
            like_signal.send(sender=request.user, target=bid, cat='book')
            addLikeMsg(request.user, bid, "likebook")
        return HttpResponse('success')
    except:
        return HttpResponse('fail')
Пример #8
0
def megustas(request,lugar,recurso):

    gustas = ''
    try:
        gustas = Like.objects.get(actividad = int(recurso))
        gustas.like += 1
        gustas.save()
        print 'try ' + recurso
    except :
        print 'except ' + recurso
        gustas = Like()
        gustas.like=1
        gustas.actividad = int(recurso)
        gustas.save()

    if(lugar == '1'): 
        return HttpResponseRedirect('/todas')

    elif(lugar == '0'): 
        return HttpResponseRedirect('/')
    else:
        return HttpResponseRedirect('/actividad/' + lugar)   
Пример #9
0
def likes(request):
    id1 = request.POST['client_id']
    print request.POST
    loggeduserid=request.user.id
    myUser = get_object_or_404(User, id=loggeduserid)
    y = get_object_or_404(MyUser, id=int(id1))
    try:
        likee = Like.objects.get(user = myUser, profile = y)
    except ObjectDoesNotExist:
        y.like_number += 1
        likee = Like()
        likee.user = myUser
        likee.profile = y
        likee.save()
    #print like
    x = y.like_number
    y.save()
    response_dict = {}
    response_dict.update({'server_response': x})
    return HttpResponse(json.dumps(response_dict), mimetype='application/javascript')
    
    
Пример #10
0
                               object_pk=object_pk)
    if like.count() > 0:
        like = like[0]
    else:
        like = Like()

    like.ip_address = request.META.get("REMOTE_ADDR", None)
    like.user = request_user
    like.content_type = ctype
    like.object_pk = object_pk
    like.likes = likes
    like.submit_date = datetime.datetime.now()
    like.site_id = settings.SITE_ID

    # Save the like and signal that it was saved
    like.save()
    if notification:
        #notify all concerned users by the object
        notification.send([request_user], "new_like", {
            'like_user': request_user,
            'like_object': target,
        })


#    signals.like_was_posted.send(
#        sender=like.__class__,
#        like=like,
#        request=request
#    )
    if request.is_ajax():
        json_response = simplejson.dumps({
Пример #11
0
    if like.count() > 0:
        like = like[0]
    else:
        like = Like()    
        
    
    like.ip_address = request.META.get("REMOTE_ADDR", None)    
    like.user = request_user
    like.content_type = ctype
    like.object_pk = object_pk
    like.likes = likes
    like.submit_date = datetime.datetime.now()
    like.site_id = settings.SITE_ID

    # Save the like and signal that it was saved
    like.save()
    if notification:
        #notify all concerned users by the object             
        notification.send([request_user], "new_like", {'like_user': request_user, 
                                                       'like_object':target,})    
#    signals.like_was_posted.send(
#        sender=like.__class__,
#        like=like,
#        request=request
#    )
    if request.is_ajax():
        json_response = simplejson.dumps({
                'success': True,
                'like_user': request_user.username, })
        return HttpResponse(json_response, mimetype="application/json")