示例#1
0
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)
示例#2
0
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')