Browse Source

Arreglo vistas

main
Celestino Rey 8 months ago
parent
commit
316d01d0b8
1 changed files with 20 additions and 44 deletions
  1. +20
    -44
      src/macrociclos/views.py

+ 20
- 44
src/macrociclos/views.py View File

@ -19,6 +19,7 @@ def principal(request):
# Vistas para los entrenadores # Vistas para los entrenadores
@login_required @login_required
def lista_entrenadores(request): def lista_entrenadores(request):
entrenadores = Entrenador.objects.all() entrenadores = Entrenador.objects.all()
@ -37,6 +38,12 @@ def nuevo_entrenador(request):
return render(request, 'macrociclos/form_entrenador.html', {'form': form}) 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 @login_required
def editar_entrenador(request, entrenador_id): def editar_entrenador(request, entrenador_id):
entrenador = get_object_or_404(Entrenador, pk=entrenador_id) entrenador = get_object_or_404(Entrenador, pk=entrenador_id)
@ -65,72 +72,41 @@ def lista_deportistas(request):
@login_required @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': if request.method == 'POST':
form = DeportistaForm(request.POST, request.FILES) form = DeportistaForm(request.POST, request.FILES)
if form.is_valid(): 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') return redirect('macrociclos:lista_deportistas')
else: else:
form = DeportistaForm() form = DeportistaForm()
return render(request, 'macrociclos/form_entrenador.html', {'form': form})
return render(request, 'macrociclos/form_deportista.html', {'form': form})
else: else:
return render(request, 'macrociclos/index.html') return render(request, 'macrociclos/index.html')
@login_required @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': if request.method == 'POST':
form = DeportistaForm(request.POST, request.FILES, instance=entrenador)
form = DeportistaForm(request.POST, request.FILES)
if form.is_valid(): if form.is_valid():
form.save() form.save()
return redirect('macrociclos:lista_deportistas') return redirect('macrociclos:lista_deportistas')
else: 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 @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') return redirect('macrociclos:lista_deportistas')


Loading…
Cancel
Save