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', })
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': [] })