def facturar(request): if request.method == 'POST': productos = request.POST.getlist("productos") if len(productos) == 0: return HttpResponseRedirect('/productos/vender') factura = Factura() factura.save() for id_producto in productos: cantidad = request.POST['cantidad['+id_producto+']'] producto = Producto.objects.get(id = id_producto) if producto.cantidad and producto.cantidad >= cantidad: producto.cantidad = producto.cantidad - cantidad producto.save() renglon = RenglonFactura() renglon.producto = producto renglon.factura = factura renglon.costo = producto.costo renglon.precio = float(str(request.POST['costo['+id_producto+']']).replace(",",".")) renglon.cantidad = request.POST['cantidad['+id_producto+']'] renglon.save() return HttpResponseRedirect('/productos/vender') return HttpResponseRedirect('/productos/vender')
def crear_factura(request, pedido, number): local = request.session['local'] total = total_pedido_tipo(pedido, 'D') numero = number if Factura.objects.filter(pedido = pedido).count > 0: pass factura = Factura(local = local, pedido = pedido, total = total, numero = numero) factura.save() for detalle in pedido.pedidodetalle_set.all(): if detalle.plato.tipo.recibo == 'D': plato = detalle.plato cantidad = detalle.cantidad unitario = detalle.plato.precioplato_set.get(anio = current_year()).precio subtotal = cantidad * unitario fd = FacturaDetalle(pertenece_a_factura = factura, plato = plato, cantidad = cantidad, unitario = unitario, subtotal = subtotal) fd.save()