|
|
|
@ -25,7 +25,7 @@ def lista_cuentas(request): |
|
|
|
def detalle_cuenta(request, cuenta_id): |
|
|
|
cuenta = get_object_or_404(Cuenta, pk=cuenta_id) |
|
|
|
|
|
|
|
apuntes = Apunte.objects.filter(cuenta=cuenta_id) |
|
|
|
apuntes = Apunte.objects.filter(cta_origen=cuenta_id) |
|
|
|
|
|
|
|
return render(request, 'apuntes/detalle_cuenta.html', {'cuenta': cuenta, 'apuntes': apuntes}) |
|
|
|
|
|
|
|
@ -35,7 +35,11 @@ def nueva_cuenta(request): |
|
|
|
if request.method == 'POST': |
|
|
|
form = CuentaForm(request.POST, request.FILES) |
|
|
|
if form.is_valid(): |
|
|
|
form.save() |
|
|
|
instancia = form.save(commit=False) |
|
|
|
|
|
|
|
instancia.saldo_actual = instancia.saldo_inicial |
|
|
|
|
|
|
|
instancia.save() |
|
|
|
return redirect('lista_cuentas') |
|
|
|
else: |
|
|
|
form = CuentaForm() |
|
|
|
@ -78,7 +82,7 @@ def detalle_apunte(request, apunte_id): |
|
|
|
@login_required |
|
|
|
def nuevo_apunte(request): |
|
|
|
|
|
|
|
cuentas = Cuenta.objects.all() # vamos a ver si hay vehículos dados de alta |
|
|
|
cuentas = Cuenta.objects.all() # vamos a ver si hay cuentas dadas de alta |
|
|
|
|
|
|
|
if cuentas: |
|
|
|
if request.method == 'POST': |
|
|
|
@ -86,33 +90,11 @@ def nuevo_apunte(request): |
|
|
|
if form.is_valid(): |
|
|
|
instancia = form.save(commit=False) |
|
|
|
|
|
|
|
aplica_descuento = form.cleaned_data['aplica_descuento'] |
|
|
|
|
|
|
|
if aplica_descuento: |
|
|
|
instancia.descuento = float(instancia.importe) * 0.03 |
|
|
|
else: |
|
|
|
instancia.descuento = 0.0 |
|
|
|
|
|
|
|
instancia.importe = float(instancia.importe) - instancia.descuento |
|
|
|
|
|
|
|
if instancia.litros > 0: |
|
|
|
instancia.precioxlitro = round(instancia.importe / float(instancia.litros), 2) |
|
|
|
else: |
|
|
|
instancia.precioxlitro = 0 |
|
|
|
|
|
|
|
# lee todos los apuntes del vehículo |
|
|
|
# apuntes = Apunte.query.filter_by(cuenta_id=cuenta_id).all() |
|
|
|
|
|
|
|
if Apunte.objects.filter(cuenta_id=instancia.cuenta): |
|
|
|
apuntes = Apunte.objects.filter(cuenta_id=instancia.cuenta).order_by('-fecha')[0] |
|
|
|
|
|
|
|
instancia.kmsrecorridos = instancia.kms - apuntes.kms |
|
|
|
instancia.cta_origen.saldo_actual = instancia.cta_origen.saldo_actual - instancia.importe |
|
|
|
instancia.cta_origen.save() |
|
|
|
|
|
|
|
if instancia.kmsrecorridos > 0: |
|
|
|
instancia.consumo = round(instancia.litros * 100 / instancia.kmsrecorridos, 2) |
|
|
|
else: |
|
|
|
instancia.kmsrecorridos = 0 |
|
|
|
instancia.consumo = 0 |
|
|
|
instancia.cta_destino.saldo_actual = instancia.cta_destino.saldo_actual + instancia.importe |
|
|
|
instancia.cta_destino.save() |
|
|
|
|
|
|
|
instancia.save() |
|
|
|
|
|
|
|
|