|
|
@@ -12,6 +12,7 @@ from datetime import date
|
|
|
import logging
|
|
|
import requests
|
|
|
import os
|
|
|
+import json
|
|
|
|
|
|
from django.core.mail import send_mass_mail
|
|
|
from django.core.mail import BadHeaderError
|
|
|
@@ -21,9 +22,9 @@ from django.http import HttpResponse
|
|
|
|
|
|
from rest_framework.response import Response
|
|
|
from rest_framework.decorators import api_view
|
|
|
-from .serializers import EventoSerializer, ReservaSerializer, ListaEsperaSerializer, NoticiaSerializer
|
|
|
+from .serializers import EventoSerializer, ReservaSerializer, ListaEsperaSerializer, NoticiaSerializer, LugarSerializer
|
|
|
|
|
|
-from .models import Evento, Reserva, ListaEspera, Noticia
|
|
|
+from .models import Evento, Reserva, ListaEspera, Noticia, Lugar
|
|
|
from .forms import ListaEsperaForm, EventoForm, MensajeCorreoForm, ReservaForm
|
|
|
|
|
|
from django.contrib.auth import get_user_model
|
|
|
@@ -533,6 +534,19 @@ def api_detalle_noticia(request, noticia_id):
|
|
|
return Response({'error': 'Noticia no encontrado'}, status=404)
|
|
|
|
|
|
|
|
|
+@api_view(['GET'])
|
|
|
+def api_download_lugares(request):
|
|
|
+ """Descarga la lista de lugares como archivo JSON."""
|
|
|
+ lugares = Lugar.objects.all()
|
|
|
+ serializer = LugarSerializer(lugares, many=True)
|
|
|
+ response = HttpResponse(
|
|
|
+ json.dumps(serializer.data, indent=2, ensure_ascii=False),
|
|
|
+ content_type='application/json'
|
|
|
+ )
|
|
|
+ response['Content-Disposition'] = 'attachment; filename="lugares.json"'
|
|
|
+ return response
|
|
|
+
|
|
|
+
|
|
|
# Verifica si el usuario es administrador
|
|
|
def es_admin(user):
|
|
|
return user.is_staff
|