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)
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)
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")
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")
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())
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)
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')
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)
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')
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({
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")