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