G26-Telemetry-Software/Plataform_Web/temporadas/views.py
2026-06-30 17:39:25 +02:00

42 lines
1.5 KiB
Python

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