main
ifiguero 2024-03-09 23:02:08 -03:00
parent 3e41546add
commit ef56aae652
2 changed files with 50 additions and 0 deletions

View File

@ -25,5 +25,7 @@ COPY --from=frontend /backend/readme.md /srv
COPY --from=frontend /frontend/dist/ /srv/project/dist COPY --from=frontend /frontend/dist/ /srv/project/dist
COPY --from=frontend /backend/project/ /srv/project COPY --from=frontend /backend/project/ /srv/project
COPY paradero.admin_transporte_backend.py /srv/project/api/views/paradero.py
ENTRYPOINT ["python3"] ENTRYPOINT ["python3"]
CMD [ "/srv/project/manage.py", "runserver", "0.0.0.0:4000" ] CMD [ "/srv/project/manage.py", "runserver", "0.0.0.0:4000" ]

View File

@ -0,0 +1,48 @@
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, Dispositivo
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() })
@action(detail=False, methods=['get'], url_path='info-public/(?P<pk>\S+)')
def info_public(self, request, pk=None):
if 'HTTP_REFERER' in request.META:
referer = request.META['HTTP_REFERER']
else:
protocol = request.scheme
host = request.META['HTTP_HOST']
port = request.META['SERVER_PORT']
referer = f'{protocol}://{host}'
record = Dispositivo.objects \
.filter(id_tipo_dispositivo__descripcion='CODIGO QR', id_paradero=pk) \
.first()
url = None
if record != None:
url = f'https://paradero.tdt-dev.ilab.cl/rutaParadero/?id={record.id_dispositivo}'
# url = f'{referer}/public/infoStop?codigoParadero={pk}'
return JsonResponse({ 'url_public': url })