def like_picture(request): username = request.session['username'] pic_id = request.GET['pic_id'] pic_info = pictures.objects.filter(pic_id=pic_id)[0] likee = users.objects.filter(user_id=pic_info.taggee.user_id)[0] liker = users.objects.filter(username=username) user_info = users.objects.filter(username=username)[0] if likes.objects.filter(pic_id=pic_id,liker=user_info): return HttpResponseRedirect("/p/" + pic_info.pic_id) if likee.fb_id == user_info.fb_id: new_like = likes(pic_id=pic_info,liker=user_info) new_like.save() return HttpResponseRedirect("/p/" + pic_info.pic_id) if not fb_friend_map.objects.filter(fb_id=likee.fb_id,fb_friend_id=user_info.fb_id): return HttpResponseRedirect("/p/" + pic_info.pic_id) else: new_like = likes(pic_id=pic_info,liker=user_info) new_like.save() return HttpResponseRedirect("/p/" + pic_info.pic_id)
def like_picture(request): val = validate_user(request) if val: return val username = request.session['username'] pic_info = pictures.objects.filter(pic_id=request.path.split("/")[-2],is_deleted=0)[0] likee = users.objects.filter(user_id=pic_info.taggee.user_id)[0] liker = users.objects.filter(username=username)[0] not_friends = validate_friendship(liker,likee) if not_friends: return not_friends #if the like already exists, return some other response code: if likes.objects.filter(pic_id=pic_info.pic_id,liker=liker): response = {'response': {'message':'already liked'}} return HttpResponse(simplejson.dumps(response),status=200,mimetype='application/json') else: new_like = likes(pic_id=pic_info,liker=liker) new_like.save() ### settings implementation. might f**k up if email_on_like(likee): if not liker == likee: #indent next line send_email('user_liked',liker,likee,likee,pic_info.pic_id) if email_on_my_pic_liked(pic_info.tagger): if not liker == pic_info.tagger: send_email('my_pic_liked',liker,likee,pic_info.tagger,pic_info.pic_id) ### likee_friends_temp = fb_friend_map.objects.filter(fb_id=likee.fb_id).values('fb_friend_id') #likee_friends = users.objects.filter(fb_id__in=likee_friends_temp) ### settings implementation. miught f**k up likee_friends = users.objects.filter(fb_id__in=likee_friends_temp,settings__email_on_friend_liked=1) for friend in likee_friends: if not liker == friend: send_email('friend_liked',liker,likee,friend,pic_info.pic_id) ### response = {'response': {'message':'successful like'}} return HttpResponse(simplejson.dumps(response),status=200,mimetype='application/json')