mirror of
https://github.com/adrigongv23/G26---Telemetry-Software.git
synced 2026-08-25 11:33:17 +02:00
Gestión de temporadas añadida
This commit is contained in:
parent
97d38a086c
commit
408d4d006e
6 changed files with 398 additions and 158 deletions
|
|
@ -1,16 +1,42 @@
|
|||
from django.shortcuts import render
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from temporadas.models import Temporada # Importamos tu modelo Temporada
|
||||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.contrib import messages
|
||||
from django.views.decorators.http import require_POST
|
||||
from users.decorators import require_rol
|
||||
from .models import Temporada
|
||||
from .forms import TemporadaForm
|
||||
|
||||
@login_required
|
||||
def dashboard(request):
|
||||
# Buscamos en la base de datos la temporada que tenga actual=True.
|
||||
# Usamos .first() por seguridad para evitar errores si no hubiera ninguna creada todavía.
|
||||
temporada_activa = Temporada.objects.filter(actual=True).first()
|
||||
|
||||
# Metemos los datos en el diccionario de contexto para mandarlos al HTML
|
||||
context = {
|
||||
'temporada_actual': temporada_activa
|
||||
}
|
||||
|
||||
return render(request, 'index.html', context)
|
||||
|
||||
@require_rol('directiva')
|
||||
def gestion_temporadas(request):
|
||||
temporadas = Temporada.objects.all()
|
||||
return render(request, 'gestion_temporadas.html', {'temporadas': temporadas})
|
||||
|
||||
|
||||
@require_rol('directiva')
|
||||
def crear_temporada(request):
|
||||
form = TemporadaForm(request.POST or None)
|
||||
if request.method == 'POST' and form.is_valid():
|
||||
form.save()
|
||||
messages.success(request, 'Temporada creada correctamente.')
|
||||
return redirect('gestion_temporadas')
|
||||
return render(request, 'editar_temporada.html', {'form': form, 'temporada': None})
|
||||
|
||||
|
||||
@require_rol('directiva')
|
||||
def editar_temporada(request, pk):
|
||||
temporada = get_object_or_404(Temporada, pk=pk)
|
||||
form = TemporadaForm(request.POST or None, instance=temporada)
|
||||
if request.method == 'POST' and form.is_valid():
|
||||
form.save()
|
||||
messages.success(request, 'Temporada actualizada correctamente.')
|
||||
return redirect('gestion_temporadas')
|
||||
return render(request, 'editar_temporada.html', {'form': form, 'temporada': temporada})
|
||||
|
||||
|
||||
@require_rol('directiva')
|
||||
@require_POST
|
||||
def eliminar_temporada(request, pk):
|
||||
temporada = get_object_or_404(Temporada, pk=pk)
|
||||
temporada.delete()
|
||||
messages.success(request, f'Temporada "{temporada.nombre}" eliminada.')
|
||||
return redirect('gestion_temporadas')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue