Browse Source

Cacula bien kms recorridos y consumo

politica
Celestino Rey 1 year ago
parent
commit
16f9605b8d
5 changed files with 25 additions and 10 deletions
  1. BIN
      RepostajesDj/vehiculos/db.sqlite3
  2. +4
    -0
      RepostajesDj/vehiculos/repostajes/templates/repostajes/detalle_repostaje.html
  3. +4
    -4
      RepostajesDj/vehiculos/repostajes/templates/repostajes/lista_repostajes.html
  4. +0
    -1
      RepostajesDj/vehiculos/repostajes/urls.py
  5. +17
    -5
      RepostajesDj/vehiculos/repostajes/views.py

BIN
RepostajesDj/vehiculos/db.sqlite3 View File


+ 4
- 0
RepostajesDj/vehiculos/repostajes/templates/repostajes/detalle_repostaje.html View File

@ -17,6 +17,10 @@
<li class="list-inline-item">{{ repostaje.litros }} litros</li>
<li class="list-inline-item">|</li>
<li class="list-inline-item">{{ repostaje.importe }} €</li>
<li class="list-inline-item">|</li>
<li class="list-inline-item">{{ repostaje.kmsrecorridos }} kms. recorridos</li>
<li class="list-inline-item">|</li>
<li class="list-inline-item">{{ repostaje.consumo }} litros/100 kms</li>
</ul>
</div><!--//col-->
</tr>


+ 4
- 4
RepostajesDj/vehiculos/repostajes/templates/repostajes/lista_repostajes.html View File

@ -43,17 +43,17 @@
<path fill-rule="evenodd" d="M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5L13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5zm-9.761 5.175l-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z"/>
</svg>Editar</a></li>
<!--
<li><a class="dropdown-item" href="{{ repostaje.archivo.url }}"><svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-download me-2" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"/>
<path fill-rule="evenodd" d="M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"/>
</svg>Descargar</a></li>
<!--
-->
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#"><svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-trash me-2" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<li><a class="dropdown-item" href="{% url 'eliminar_repostaje' repostaje.id %}"><svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-trash me-2" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6z"/>
<path fill-rule="evenodd" d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1zM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118zM2.5 3V2h11v1h-11z"/>
</svg>Delete</a></li>
-->
</svg>Eliminar</a></li>
</ul>
</div><!--//dropdown-->
</div><!--//app-card-actions-->


+ 0
- 1
RepostajesDj/vehiculos/repostajes/urls.py View File

@ -14,5 +14,4 @@ urlpatterns = [
path('repostajes/<int:repostaje_id>/', views.detalle_repostaje, name='detalle_repostaje'),
path('repostajes/<int:repostaje_id>/editar/', views.editar_repostaje, name='editar_repostaje'),
path('repostajes/<int:repostaje_id>/eliminar/', views.eliminar_repostaje, name='eliminar_repostaje'),
]

+ 17
- 5
RepostajesDj/vehiculos/repostajes/views.py View File

@ -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')

Loading…
Cancel
Save