コード例 #1
0
ファイル: views.py プロジェクト: maxrevilo/barachiel-server
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)
コード例 #2
0
ファイル: views.py プロジェクト: maxrevilo/barachiel-server
    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")