def complete(request, cart, order): # cart = get_or_create_cart(request) # order = get_or_create_order(cart, request) if request.user.id != order.user_id: return redirect('carts:cart') charge = Charge.objects.create_charge(order) if charge: with transaction.atomic(): '''Ejecutando un with con atomic(), ejecutará como una transacción, o se ejecuta todo, o no se ejecutará nada...''' order.complete() # Envíar correo de forma asíncrona thread = threading.Thread(target=Mail.send_complete_order, args=(order, request.user)) thread.start() # Mail.send_complete_order(order, request.user) destroy_cart(request) destroy_order(request) messages.success(request, 'Compra completada exitosamente') return redirect('forms:index')
def cancel(request, cart, order): if request.user.id != order.user_id: return redirect('carts:cart') order.cancel() destroy_cart(request) destroy_order(request) messages.error(request, 'Orden cancelada') return redirect('index')
def cancel(request, cart, order): order.cancel() cart.close() destroy_cart(request) destroy_order(request) messages.error(request, 'Orden cancelada') return redirect('carts:cart')
def cancel(request): cart = get_or_create_cart(request) order = get_or_create_order(cart, request) if request.user.id != order.user_id: return redirect('carts:cart') order.cancel() destroy_cart(request) destroy_order(request) messages.error(request, 'Orden Cancelada') return redirect('index')
def complete(request): cart = get_or_create_cart(request) order = get_or_create_order(cart, request) if request.user.id != order.user_id: return redirect('carts:cart') order.complete() Mail.send_complete_order(order, request.user) destroy_cart(request) destroy_order(request) messages.success(request, 'Compra completada exitosamente') return redirect('index')
def complete(request, cart, order): if request.user.id != order.user_id: return redirect('carts:cart') order.complete() thread = threading.Thread(target=Mail.send_complete_order, args=(cart, order, request.user)) thread.start() destroy_cart(request) destroy_order(request) messages.success(request, 'Compra completada exitosamente') return redirect('index')
def cancel(request, cart, order): if request.user.id != order.user_id: return redirect("carts:cart") order.cancel() destroy_cart(request) destroy_order(request) messages.error(request, "ordern cancelada") return redirect("index")
def complete(request, cart, order): charge = Charge.create_charge_by_order(order) if charge: with transaction.atomic(): cart.complete() order.complete() Mail.send_complete_order_mail(order, request.user) destroy_cart(request) destroy_order(request) messages.success(request, 'Compra completada exitosamente.') return redirect('carts:cart')
def cancel(request, cart, order): #Función para poder cancelar una orden. if request.user.id != order.user_id: return redirect('carts:cart') order.cancel() destroy_cart(request) destroy_order(request) messages.error(request, 'Order canceled') return redirect('index')
def cancel(request): cart = get_or_create_cart(request) order = get_or_create_order(cart, request) if request.user.id != order.user_id: return redirect('carts:cart') order.cancel() destroy_cart(request) destroy_order(request) return redirect ('product')
def cancel(request, cart, order): # cart = get_or_create_cart(request) # order = get_or_create_order(cart, request) if request.user.id != order.user_id: return redirect('carts:cart') order.cancel() destroy_cart(request) destroy_order(request) messages.error(request, 'Pedido cancelado') return redirect('forms:index')
def complete(request, cart, order): if charge: order.complete() thread = threading.Thread(target=Mail.send_complete_order, args=(order, request.user)) thread.start() destroy_cart(request) destroy_order(request) messages.success(request, 'Compra Completada Exitosamente') return redirect('index')
def cancel(request, cart, order): if request.user.id != order.user_id: # Si no es el mismo usuario quien creo la orden y quien la quiere cancelar. return redirect('carts:cart') # Retorna 'http://127.0.0.1:8000/carrito/' # Este metodo se crea en 'orders/models' order.cancel() # Modifica su estatus a CANCELLED # Destruir sessiones del carrito de compra y orden # carts/utils.py destroy_cart(request) # Elimina la sessión cart # orders/utils.py funciones destroy_order(request) # Eliminar la sessión order messages.error(request, 'Orden cancelada') return redirect('index')
def complete(request, cart, order): if request.user.id != order.user_id: return redirect("carts:cart") charge = Charge.objects.create_charge(order) if charge: order.complete() thread = threading.Thread( target=Mail.send_complete_order, args=(order, request.user) ) #target = metodo que se va ejecutar en segundo plano, args = argumentos del metodo thread.start() #iniciar el thread destroy_cart(request) destroy_order(request) messages.success(request, "compra completada exitosamente") return redirect("index")
def complete(request, cart, order): if request.user.id != order.user_id: # Si no es el mismo usuario quien creo la orden y quien la quiere cancelar. return redirect('carts:cart') # Retorna 'http://127.0.0.1:8000/carrito/' # Este metodo se crea en 'orders/models' order.complete() # Modifica su estatus a COMPLETE thread = threading.Thread(target=Mail.send_complete_order, args=( order, request.user )) #En target se indica el motodo o función que queremos ejecutar en segundo plano thread.start() destroy_cart(request) # Elimina la sessión cart destroy_order(request) # Eliminar la sessión order messages.success(request, 'Compra completada exitosamente') return redirect('index')
def complete(request, cart, order): if request.user.id != order.user_id: return redirect('carts:cart') charge = Charge.objects.create_charge(order) if charge: with transaction.atomic(): order.complete() thread = threading.Thread(target=Mail.send_complete_order, args=(order, request.user)) thread.start() destroy_cart(request) destroy_order(request) messages.success(request, 'Compra completada exitosamente') return redirect('index')
def complete(request, cart, order): #Función para poder completar una orden. if request.user.id != order.user_id: return redirect('carts:cart') charge = Charge.objects.create_charge(order) if charge: with transaction.atomic(): order.complete() thread = threading.Thread(target=Mail.send_complete_order, args=( order, request.user )) thread.start() destroy_cart(request) destroy_order(request) messages.success(request, 'Order completed successfully') return redirect('index')