se agrega informacion de dispositivos del paradero

develop/backend
Francisco Sandoval 2023-11-25 19:31:37 -03:00
parent 04c1802b69
commit 53d81cc32d
5 changed files with 37 additions and 6 deletions

View File

@ -15,7 +15,13 @@ Content-Type: application/json
###
# @name list
GET {{server}}/dispositivos
GET {{server}}/dispositivos?id_paradero=39530
Authorization: Bearer {{token}}
###
# @name url_public_paradero
GET {{server}}/paraderos/info-public/39530
Authorization: Bearer {{token}}

View File

@ -10,6 +10,11 @@ class AplicacionSerializer(serializers.ModelSerializer):
fields = '__all__'
class DispositivoSerializer(serializers.ModelSerializer):
tipo_dispositivo = serializers.SerializerMethodField()
def get_tipo_dispositivo(self, row):
return model_to_dict(row.id_tipo_dispositivo)
class Meta:
model = models.Dispositivo
fields = '__all__'

View File

@ -4,7 +4,7 @@ from rest_framework import routers
from api.views import usuario, auth, aplicacion, tipo, persona, comuna, region, paradero, rol, rolaplicacion
from api.views import mapa, linea, letrero_lur, operador
from api.views import paradero_imagen, linea_paradero
from api.views import dispositivo
from api.views import dispositivo, proto
router = routers.DefaultRouter()
router.register('aplicaciones', aplicacion.AplicacionViewSet)
@ -30,8 +30,8 @@ router.register('rolyaplicacion', rolaplicacion.RolAplicacionViewSet, basename='
urlpatterns = [
path('', include(router.urls)),
path('auth/', auth.jwt_login, name='auth'),
# path('proto/', proto.status, name='proto_status'),
path('mapas/paraderos/', mapa.paraderos, name='mapa-paraderos'),
path('mapas/rutas/', mapa.rutas, name='mapa-rutas'),
# path('paraderos/image/', paradero.image, name='paradero-image-list'),
# path('paraderos/image/<int:id>/', paradero.image_one, name='paradero-image-one'),
]
path('paraderos/info-public/<int:pk>', paradero.info_public, name='paradero-infopublic'),
]

View File

@ -3,6 +3,7 @@ from rest_framework import viewsets
from django.http import JsonResponse
from django.db.models import F
from django.db import connection
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.decorators import action
from .. import models, serializers
import json
@ -11,6 +12,9 @@ import logging
class DispositivoViewSet(viewsets.ModelViewSet):
queryset = models.Dispositivo.objects.all()
serializer_class = serializers.DispositivoSerializer
filter_backends = [DjangoFilterBackend]
filterset_fields = ['id_paradero', 'id_tipo_dispositivo']
@action(detail=False, methods=['post'])
def whoami(self, request, pk=None):

View File

@ -1,3 +1,4 @@
from django.http import JsonResponse
from rest_framework import viewsets
from api.serializers import ParaderoSerializer
from api.models import Paradero
@ -5,4 +6,19 @@ import logging
class ParaderoViewSet(viewsets.ModelViewSet):
queryset = Paradero.objects.all()
serializer_class = ParaderoSerializer
serializer_class = ParaderoSerializer
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}'
})