ilab_gestion_backend/project/api/views/paradero.py

42 lines
1.2 KiB
Python
Executable File

from django.http import JsonResponse
from rest_framework import viewsets
from rest_framework.decorators import action
from api.serializers import ParaderoSerializer
from api.models import Paradero
import logging
class ParaderoViewSet(viewsets.ModelViewSet):
queryset = Paradero.objects.all()
serializer_class = ParaderoSerializer
@action(detail=False, methods=['get'])
def count(self, request, pk=None):
queryset = Paradero.objects.all()
if 'vigente' in request.GET and request.GET['vigente'] == '1':
queryset = queryset.filter(vigente=True)
if 'vigente' in request.GET and request.GET['vigente'] == '0':
queryset = queryset.filter(vigente=False)
if 'id_comuna' in request.GET:
pass
return JsonResponse({ 'count': queryset.count() })
def info_public(request, pk):
if hasattr(request.META,'HTTP_REFERER'):
referer = request.META['HTTP_REFERER']
else:
protocol = request.scheme
host = request.META['HTTP_HOST']
port = request.META['SERVER_PORT']
referer = f'{protocol}://{host}:{port}'
return JsonResponse({
'url_public': f'{referer}/public/infoStop?codigoParadero={pk}'
})