forked from TDTP/admin_transporte_backend
Merge branch 'develop/Ronald' of https://gitlab.com/m3f_usm/admin_transporte/backend
commit
5e33b1b069
|
@ -79,11 +79,13 @@ BEGIN
|
||||||
) INTO inicio_vigencia;*/
|
) INTO inicio_vigencia;*/
|
||||||
|
|
||||||
SELECT MIN(start_date) INTO inicio_vigencia FROM z_calendar;
|
SELECT MIN(start_date) INTO inicio_vigencia FROM z_calendar;
|
||||||
|
update gtfs_archivo
|
||||||
|
set valid_from= inicio_vigencia
|
||||||
|
where trim(upper(status))='PROCESANDO' ;
|
||||||
|
|
||||||
IF CURRENT_DATE < inicio_vigencia THEN
|
IF CURRENT_DATE < inicio_vigencia THEN
|
||||||
update gtfs_archivo
|
update gtfs_archivo
|
||||||
set status = 'PENDIENTE' , valid_from= inicio_vigencia
|
set status = 'PENDIENTE'
|
||||||
where trim(upper(status))='PROCESANDO' ;
|
where trim(upper(status))='PROCESANDO' ;
|
||||||
v_error:= '9 EL ARCHIVO AUN NO ESTA VIGENTE POR FECHA';
|
v_error:= '9 EL ARCHIVO AUN NO ESTA VIGENTE POR FECHA';
|
||||||
END IF;
|
END IF;
|
||||||
|
|
|
@ -13,7 +13,7 @@ class Command(BaseCommand):
|
||||||
help = 'Procesa los archivos gtfs en formato comprimido (zip)'
|
help = 'Procesa los archivos gtfs en formato comprimido (zip)'
|
||||||
|
|
||||||
def handle(self, *args, **options):
|
def handle(self, *args, **options):
|
||||||
# Lógica de tu comando aquí
|
|
||||||
folder = config('GTFS_UPLOADS','/tmp')
|
folder = config('GTFS_UPLOADS','/tmp')
|
||||||
|
|
||||||
redes = RedTransporte.objects.filter(vigente=True)
|
redes = RedTransporte.objects.filter(vigente=True)
|
||||||
|
|
|
@ -425,7 +425,8 @@ class GtfsArchivo(models.Model):
|
||||||
archivo = models.CharField(max_length=200, blank=True, null=True)
|
archivo = models.CharField(max_length=200, blank=True, null=True)
|
||||||
ruta_archivo = models.CharField(max_length=200, blank=True, null=True)
|
ruta_archivo = models.CharField(max_length=200, blank=True, null=True)
|
||||||
valid_from = models.DateField(blank=True, null=True)
|
valid_from = models.DateField(blank=True, null=True)
|
||||||
created = models.DateTimeField(blank=True, null=True)
|
#created = models.DateTimeField(blank=True, null=True)
|
||||||
|
created = models.DateTimeField(auto_now_add=True)
|
||||||
usuario = models.CharField(max_length=100, blank=True, null=True)
|
usuario = models.CharField(max_length=100, blank=True, null=True)
|
||||||
vigente = models.BooleanField(blank=True, null=True)
|
vigente = models.BooleanField(blank=True, null=True)
|
||||||
status = models.CharField(max_length=100, blank=True, null=True)
|
status = models.CharField(max_length=100, blank=True, null=True)
|
||||||
|
|
|
@ -41,5 +41,6 @@ urlpatterns = [
|
||||||
path('auth/nueva-contrasena/', auth.nueva_contrasena, name='auth_contrasena'),
|
path('auth/nueva-contrasena/', auth.nueva_contrasena, name='auth_contrasena'),
|
||||||
path('mapas/paraderos/', mapa.paraderos, name='mapa-paraderos'),
|
path('mapas/paraderos/', mapa.paraderos, name='mapa-paraderos'),
|
||||||
path('mapas/rutas/', mapa.rutas, name='mapa-rutas'),
|
path('mapas/rutas/', mapa.rutas, name='mapa-rutas'),
|
||||||
|
path('mapas/coordenadas/', mapa.coordenadas, name='mapa-coordenadas'),
|
||||||
path('upload/zip/', upload.upload_zip, name='upload_zip'),
|
path('upload/zip/', upload.upload_zip, name='upload_zip'),
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,19 +2,24 @@
|
||||||
from rest_framework import viewsets
|
from rest_framework import viewsets
|
||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
from django_filters.rest_framework import DjangoFilterBackend
|
from django_filters.rest_framework import DjangoFilterBackend
|
||||||
|
from rest_framework.filters import OrderingFilter
|
||||||
from django.core.files.storage import FileSystemStorage
|
from django.core.files.storage import FileSystemStorage
|
||||||
from django.http import FileResponse, HttpResponse
|
from django.http import FileResponse, HttpResponse
|
||||||
from api import models , serializers
|
from api import models , serializers
|
||||||
from decouple import config
|
from decouple import config
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
class GtfsArchivoViewSet(viewsets.ModelViewSet):
|
class GtfsArchivoViewSet(viewsets.ModelViewSet):
|
||||||
queryset = models.GtfsArchivo.objects.all()
|
queryset = models.GtfsArchivo.objects.all()
|
||||||
serializer_class = serializers.GtfsArchivoSerializer
|
serializer_class = serializers.GtfsArchivoSerializer
|
||||||
filter_backends = [DjangoFilterBackend]
|
filter_backends = [DjangoFilterBackend, OrderingFilter]
|
||||||
filterset_fields = ['id_gtfs', 'id_red', 'archivo','valid_from','created','usuario','vigente','status']
|
filterset_fields = ['id_gtfs', 'id_red', 'archivo','valid_from','created','usuario','vigente','status']
|
||||||
|
ordering_fields = ['id_gtfs', 'id_red', 'archivo', 'valid_from', 'created', 'usuario', 'vigente', 'status']
|
||||||
|
ordering = ['id_gtfs']
|
||||||
|
|
||||||
def create(self, request, *args, **kwargs):
|
def create(self, request, *args, **kwargs):
|
||||||
fs = FileSystemStorage(location = config('GTFS_UPLOADS','/tmp'))
|
fs = FileSystemStorage(location = config('GTFS_UPLOADS','/tmp'))
|
||||||
|
|
|
@ -6,10 +6,12 @@ from django.views.decorators.csrf import csrf_exempt
|
||||||
from api.models import Paradero
|
from api.models import Paradero
|
||||||
from api.models import GtfsShape, GtfsTrips
|
from api.models import GtfsShape, GtfsTrips
|
||||||
from logging import error
|
from logging import error
|
||||||
|
from decouple import config
|
||||||
|
|
||||||
google_api_key = 'AIzaSyDnFO9w_SsodjBuY5tOK8-kQJns_l5klQ4'
|
google_api_key = 'AIzaSyDnFO9w_SsodjBuY5tOK8-kQJns_l5klQ4'
|
||||||
center = {'lat': -36.8077884, 'lng': -73.0775401}
|
center = {'lat': -36.8077884, 'lng': -73.0775401}
|
||||||
|
|
||||||
|
|
||||||
@csrf_exempt
|
@csrf_exempt
|
||||||
@action(detail=False, methods=['get'])
|
@action(detail=False, methods=['get'])
|
||||||
@api_view(['GET'])
|
@api_view(['GET'])
|
||||||
|
@ -87,3 +89,18 @@ def rutas(request):
|
||||||
'google_api_key': google_api_key,
|
'google_api_key': google_api_key,
|
||||||
'positions': list(resultados)
|
'positions': list(resultados)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
@action(detail=False, methods=['get'])
|
||||||
|
@api_view(['GET'])
|
||||||
|
|
||||||
|
def coordenadas(request):
|
||||||
|
# Obtener las coordenadas iniciales desde las variables de entorno
|
||||||
|
initial_lat = config('COORDINI_LAT', default=-36.8270)
|
||||||
|
initial_lng = config('COORDINI_LNG', default=-73.0503)
|
||||||
|
|
||||||
|
# Enviar las coordenadas iniciales como parte de la respuesta
|
||||||
|
return JsonResponse({
|
||||||
|
'initialLat': initial_lat,
|
||||||
|
'initialLng': initial_lng,
|
||||||
|
})
|
|
@ -8,6 +8,7 @@ from django.db.models import Max
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
from api import models, serializers
|
from api import models, serializers
|
||||||
import logging
|
import logging
|
||||||
|
from decouple import config
|
||||||
|
|
||||||
class OperadorViewSet(viewsets.ModelViewSet):
|
class OperadorViewSet(viewsets.ModelViewSet):
|
||||||
# queryset = models.Operador.objects.all()
|
# queryset = models.Operador.objects.all()
|
||||||
|
@ -64,13 +65,11 @@ class OperadorViewSet(viewsets.ModelViewSet):
|
||||||
|
|
||||||
|
|
||||||
if newRecord :
|
if newRecord :
|
||||||
aplicacion = models.Aplicacion.objects.get(id_aplicacion=1)
|
app_default_operador_str = config('APP_DEFAULT_OPERADOR')
|
||||||
rolApp = models.RolAplicacion(
|
app_default_operador = [int(x) for x in app_default_operador_str.split(',')]
|
||||||
id_rol=rol,
|
|
||||||
id_aplicacion =aplicacion
|
for id_aplicacion in app_default_operador:
|
||||||
)
|
aplicacion = models.Aplicacion.objects.get(id_aplicacion=id_aplicacion)
|
||||||
rolApp.save()
|
|
||||||
aplicacion = models.Aplicacion.objects.get(id_aplicacion=2)
|
|
||||||
rolApp = models.RolAplicacion(
|
rolApp = models.RolAplicacion(
|
||||||
id_rol=rol,
|
id_rol=rol,
|
||||||
id_aplicacion=aplicacion
|
id_aplicacion=aplicacion
|
||||||
|
@ -84,9 +83,6 @@ class OperadorViewSet(viewsets.ModelViewSet):
|
||||||
rol_operador.save()
|
rol_operador.save()
|
||||||
newRecord =False
|
newRecord =False
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return Response({
|
return Response({
|
||||||
'id_operador': operador.id_operador,
|
'id_operador': operador.id_operador,
|
||||||
'nombre_operador': operador.nombre_operador,
|
'nombre_operador': operador.nombre_operador,
|
||||||
|
|
Loading…
Reference in New Issue