예제 #1
0
파일: views.py 프로젝트: danigbt/electiva3
def comprar(request, producto_pk):
    template = 'productos/comprar.html'
    producto_seleccionado = Producto.objects.get(pk=producto_pk)
    

    if Compra.objects.filter(comfirmada=False).exists():
        compra = Compra.objects.get(comfirmada=False)
        compra.producto.add(producto_seleccionado)
        compra.save()
    else:
        compra = Compra()
        compra.save()
        compra.producto.add(producto_seleccionado)
        compra.save()

    lista_productos = compra.producto.all()
    total = 0
    for i in lista_productos:
        total = total + i.precio

    if request.method == 'POST':
        form = CompraForm(request.POST, instance=compra)

        if form.is_valid():
            compra.total = total
            compra.comfirmada = True
            compra.save()
            form.save()
            #se envia el email al usuario y se redirige a la pagina de exito de compra
            template_email = get_template('productos/compra_template.txt')
            mensaje = "<strong>" + compra.usuario + "</strong> - email: " + compra.email
            mensaje = mensaje + " <br> Usted realizo la compra de:<ul> "
            for producto in compra.producto.all():
                mensaje = mensaje + "<li>" + producto.nombre + " - &#8370; " + str(intcomma(producto.precio)) + "</li>"
            mensaje = mensaje +"</ul>"
            mensaje = mensaje + "Total: &#8370; " + str(intcomma(compra.total)) 

            send_mail('Compra desde la web de Gonzalez Gimenez % s' % (datetime.datetime.now().strftime('%d-%m-%Y %H:%M:%S')),
                'Notificacion de compra:',
                '*****@*****.**', [compra.email], fail_silently=False, html_message=mensaje)
            
            return HttpResponseRedirect('/productos/compra_exitosa/')
    else:
        form = CompraForm(instance=compra)

    return render(request, template, locals())