예제 #1
0
def new_answer(text, question, user):
    store = Store()
    path = '/answers'

    body = {
        'question_id': question.id,
        'text': text,
    }

    res = store.post(path, body, auth=True)

    if res.get('error'):
        return JsonResponse({
            'ok': False,
            'msg': f'{res.get("error")}:{res.get("message")}'
        })

    Answer.objects.create(user=user,
                          text=text,
                          question=question,
                          created_date=timezone.localtime())

    return JsonResponse({
        'ok': True,
        'msg': 'Respuesta Creada correctamente',
    })
예제 #2
0
def cancel_order(request):
    json_data=json.loads(request.body)
    message = json_data['message']
    order_id = int(json_data['orderId'])
    reason = int(json_data['reason'])
    rating = int(json_data['rating'])
    order = Order.objects.filter(store_order_id=order_id).select_related('product').select_related('product__store').first()
    if not order:
        return JsonResponse({
            'ok': False,
            'msg': 'El numero de pedido no existen. Esto debe ser un error, consulte al desarrollador.'
        })
    if order.state == order.CANCELLED:
        return JsonResponse({
            'ok': False,
            'msg': f'Esta orden ya fue cancelada anteriormente.'
        })

    if order.state > Order.OFFERED:
        return JsonResponse({
            'ok': False,
            'msg': f'Esta orden ya tiene un pago registrado, no es posible cancelar la misma.'
        })

    body = {
        'fulfilled':False,
        'message':'No se pudo concretar la venta',
        'reason':FeedBack.REASON_MELI[reason],
        'rating':'neutral',
    }

    store = Store(seller_id=order.product.store.seller_id)
    res = store.post(
        path=f'/orders/{order_id}/feedback',
        body=body,
        auth=True,
    )

    if res[0] == 'Feedback already exists':
        FeedBack.objects.create(
            raiting=rating,
            reason=reason,
            fulfilled=False,
            user=request.user,
            message=message,
            order=order
        )

        order.state = Order.CANCELLED
        order.save()
        return JsonResponse({
            'ok': True,
            'msg': 'Orden cancelada correctamente.',
            'data': []
        })
    else:
        return JsonResponse({
            'ok': False,
            'msg': res,
            'data': []
        })