From 316d01d0b8c7286101722c72ca42ce689414aac0 Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Wed, 26 Mar 2025 08:47:53 +0100 Subject: [PATCH] Arreglo vistas --- src/macrociclos/views.py | 64 +++++++++++++--------------------------- 1 file changed, 20 insertions(+), 44 deletions(-) diff --git a/src/macrociclos/views.py b/src/macrociclos/views.py index 24f8b95..15c4192 100644 --- a/src/macrociclos/views.py +++ b/src/macrociclos/views.py @@ -19,6 +19,7 @@ def principal(request): # Vistas para los entrenadores + @login_required def lista_entrenadores(request): entrenadores = Entrenador.objects.all() @@ -37,6 +38,12 @@ def nuevo_entrenador(request): return render(request, 'macrociclos/form_entrenador.html', {'form': form}) +@login_required +def detalle_entrenador(request, entrenador_id): + entrenador = get_object_or_404(Entrenador, pk=entrenador_id) + return render(request, 'macrociclos/detalle_entrenador.html', {'entrenador': entrenador}) + + @login_required def editar_entrenador(request, entrenador_id): entrenador = get_object_or_404(Entrenador, pk=entrenador_id) @@ -65,72 +72,41 @@ def lista_deportistas(request): @login_required -def nuevo_entrenador(request): +def nuevo_deportista(request): - entrenadores = Entrenador.objects.all() # vamos a ver si hay vehículos dados de alta + deportistas = Deportista.objects.all() # vamos a ver si hay vehículos dados de alta - if entrenadores: + if deportistas: if request.method == 'POST': form = DeportistaForm(request.POST, request.FILES) 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 deportistas del vehículo - # deportistas = Deportistas.query.filter_by(entrenador_id=entrenador_id).all() - - if Deportista.objects.filter(entrenador_id=instancia.entrenador): - deportistas = Deportista.objects.filter(entrenador_id=instancia.entrenador).order_by('-fecha')[0] - - instancia.kmsrecorridos = instancia.kms - deportistas.kms - - if instancia.kmsrecorridos > 0: - instancia.consumo = round(instancia.litros * 100 / instancia.kmsrecorridos, 2) - else: - instancia.kmsrecorridos = 0 - instancia.consumo = 0 - - instancia.save() - + form.save() return redirect('macrociclos:lista_deportistas') else: form = DeportistaForm() - return render(request, 'macrociclos/form_entrenador.html', {'form': form}) + return render(request, 'macrociclos/form_deportista.html', {'form': form}) else: return render(request, 'macrociclos/index.html') @login_required -def editar_entrenador(request, entrenador_id): - entrenador = get_object_or_404(Deportista, pk=entrenador_id) +def editar_deportista(request, deportista_id): + deportista = get_object_or_404(Deportista, pk=deportista_id) if request.method == 'POST': - form = DeportistaForm(request.POST, request.FILES, instance=entrenador) + form = DeportistaForm(request.POST, request.FILES) if form.is_valid(): form.save() return redirect('macrociclos:lista_deportistas') else: - form = DeportistaForm(instance=entrenador) - return render(request, 'macrociclos/form_entrenador.html', {'form': form}) + form = DeportistaForm() + return render(request, 'macrociclos/form_deportista.html', {'form': form}) @login_required -def eliminar_entrenador(request, entrenador_id): - entrenador = Deportista.objects.get(pk=entrenador_id) - entrenador.delete() +def eliminar_deportista(request, deportista_id): + deportista = Deportista.objects.get(pk=deportista_id) + deportista.delete() return redirect('macrociclos:lista_deportistas')