From 16f9605b8da6803cd6511df4ab01e62682dfd42e Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Thu, 29 Aug 2024 13:33:37 +0200 Subject: [PATCH] Cacula bien kms recorridos y consumo --- RepostajesDj/vehiculos/db.sqlite3 | Bin 143360 -> 143360 bytes .../repostajes/detalle_repostaje.html | 4 ++++ .../repostajes/lista_repostajes.html | 8 +++---- RepostajesDj/vehiculos/repostajes/urls.py | 1 - RepostajesDj/vehiculos/repostajes/views.py | 22 ++++++++++++++---- 5 files changed, 25 insertions(+), 10 deletions(-) diff --git a/RepostajesDj/vehiculos/db.sqlite3 b/RepostajesDj/vehiculos/db.sqlite3 index 9085d8594ad1bf22c2739cfb99bcc100dd2aab7e..20aa88df58717bd5cdaeb46cc057d0b910550f5b 100644 GIT binary patch delta 292 zcmZp8z|ru4V}dlJ#Y7orMvILJ@AMeCHv8*ub>L&>4`bjz$3KZbjNgQxd1K=jK1Rcd zjk+xS(-;gVI?B~sad9&!GP85Avoo=C8W|WF=^7a78W}NMTjby|@pY@*jvxpBU}F%l z|5EkPeVs@(vxS5BbuQb2#n-JkQS}azwMwsSJ4J;3U{`ttj|C|3C|406}{4X{O qHr(VFV`bp~&cMpT%*n_FA~-<=2iIoC1^?|AZ7^80L15VjMh5_9>{&ek delta 191 zcmZp8z|ru4V}dlJ=0q81M$L^0@AMd%Hv8*ub>Lv)pT@v{o`2eA!GtdUEORDq21O=z zAYfqNG%_$U(KWEpH8w0=>tHKV_0WBti2Wzqg2mUlY#p4+xj-!YFM+RH<#q(=GlDg8 zplCF*L}+wy=J{{ repostaje.litros }} litros
  • |
  • {{ repostaje.importe }} €
  • +
  • |
  • +
  • {{ repostaje.kmsrecorridos }} kms. recorridos
  • +
  • |
  • +
  • {{ repostaje.consumo }} litros/100 kms
  • diff --git a/RepostajesDj/vehiculos/repostajes/templates/repostajes/lista_repostajes.html b/RepostajesDj/vehiculos/repostajes/templates/repostajes/lista_repostajes.html index f457205..9c89112 100644 --- a/RepostajesDj/vehiculos/repostajes/templates/repostajes/lista_repostajes.html +++ b/RepostajesDj/vehiculos/repostajes/templates/repostajes/lista_repostajes.html @@ -43,17 +43,17 @@ Editar +
  • -
  • +
  • - Delete
  • - --> + Eliminar diff --git a/RepostajesDj/vehiculos/repostajes/urls.py b/RepostajesDj/vehiculos/repostajes/urls.py index e1df99a..20a30b6 100644 --- a/RepostajesDj/vehiculos/repostajes/urls.py +++ b/RepostajesDj/vehiculos/repostajes/urls.py @@ -14,5 +14,4 @@ urlpatterns = [ path('repostajes//', views.detalle_repostaje, name='detalle_repostaje'), path('repostajes//editar/', views.editar_repostaje, name='editar_repostaje'), path('repostajes//eliminar/', views.eliminar_repostaje, name='eliminar_repostaje'), - ] diff --git a/RepostajesDj/vehiculos/repostajes/views.py b/RepostajesDj/vehiculos/repostajes/views.py index 46702d3..02aed44 100644 --- a/RepostajesDj/vehiculos/repostajes/views.py +++ b/RepostajesDj/vehiculos/repostajes/views.py @@ -87,10 +87,6 @@ def nuevo_repostaje(request): if form.is_valid(): instancia = form.save(commit=False) - print("nuevo_repostaje: descuento: ", instancia.descuento) - - print("nuevo_repostaje: form_cleaned data: ", form.cleaned_data) - aplica_descuento = form.cleaned_data['aplica_descuento'] if aplica_descuento: @@ -101,6 +97,20 @@ def nuevo_repostaje(request): instancia.importe = float(instancia.importe) - instancia.descuento instancia.precioxlitro = instancia.importe / float(instancia.litros) + # lee todos los repostajes del vehículo + # repostajes = Repostajes.query.filter_by(vehiculo_id=vehiculo_id).all() + + if Repostaje.objects.all(): + repostajes = Repostaje.objects.filter(vehiculo_id=instancia.vehiculo).order_by('-fecha')[0] + + instancia.kmsrecorridos = instancia.kms - repostajes.kms + + if instancia.kmsrecorridos > 0: + instancia.consumo = instancia.litros*100/instancia.kmsrecorridos + else: + instancia.kmsrecorridos = 0 + instancia.consumo = 0 + instancia.save() return redirect('lista_repostajes') @@ -114,6 +124,7 @@ def nuevo_repostaje(request): @login_required def editar_repostaje(request, repostaje_id): repostaje = get_object_or_404(Repostaje, pk=repostaje_id) + if request.method == 'POST': form = RepostajeForm(request.POST, request.FILES, instance=repostaje) if form.is_valid(): @@ -126,6 +137,7 @@ def editar_repostaje(request, repostaje_id): @login_required def eliminar_repostaje(request, repostaje_id): - repostaje = get_object_or_404(Repostaje, pk=repostaje_id) + repostaje = Repostaje.objects.get(pk=repostaje_id) repostaje.delete() return redirect('lista_repostajes') +