se agrega api de comunas y regiones, al id_comuna se considera max +1
parent
95e3209d7a
commit
d3b64b5f02
|
@ -39,6 +39,16 @@ class PersonaSerializer(serializers.ModelSerializer):
|
||||||
model = models.Persona
|
model = models.Persona
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
|
||||||
|
class ComunaSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = models.Comuna
|
||||||
|
fields = '__all__'
|
||||||
|
|
||||||
|
class RegionSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = models.Region
|
||||||
|
fields = '__all__'
|
||||||
|
|
||||||
class UsuarioSerializer(serializers.ModelSerializer):
|
class UsuarioSerializer(serializers.ModelSerializer):
|
||||||
# muestro informacion de persona en un objeto aparte
|
# muestro informacion de persona en un objeto aparte
|
||||||
persona = serializers.SerializerMethodField()
|
persona = serializers.SerializerMethodField()
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
from rest_framework import routers
|
from rest_framework import routers
|
||||||
# from api import views
|
# from api import views
|
||||||
from api.views import usuario, auth, aplicacion, tipo, persona
|
from api.views import usuario, auth, aplicacion, tipo, persona, comuna, region
|
||||||
|
|
||||||
router = routers.DefaultRouter()
|
router = routers.DefaultRouter()
|
||||||
router.register(r'aplicaciones', aplicacion.AplicacionViewSet)
|
router.register(r'aplicaciones', aplicacion.AplicacionViewSet)
|
||||||
|
@ -12,6 +12,8 @@ router.register(r'tipos/transporte', tipo.TipoTransporteViewSet)
|
||||||
router.register(r'tipos/dispositivo', tipo.TipoDispositivoViewSet)
|
router.register(r'tipos/dispositivo', tipo.TipoDispositivoViewSet)
|
||||||
router.register(r'tipos/paradero', tipo.TipoParaderoViewSet)
|
router.register(r'tipos/paradero', tipo.TipoParaderoViewSet)
|
||||||
router.register(r'tipos/vehiculo', tipo.TipoVehiculoViewSet)
|
router.register(r'tipos/vehiculo', tipo.TipoVehiculoViewSet)
|
||||||
|
router.register(r'comunas', comuna.ComunaViewSet)
|
||||||
|
router.register(r'regiones', region.RegionViewSet)
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', include(router.urls)),
|
path('', include(router.urls)),
|
||||||
|
|
|
@ -38,14 +38,12 @@ def jwt_login(request):
|
||||||
if usuario['clave'] != password:
|
if usuario['clave'] != password:
|
||||||
return HttpResponse('Acceso no valido', status = 400)
|
return HttpResponse('Acceso no valido', status = 400)
|
||||||
|
|
||||||
ahora = datetime.now()
|
ahora = datetime.utcnow()
|
||||||
manana = ahora + timedelta(days=1)
|
# manana = ahora + timedelta(days=1)
|
||||||
manana = manana.replace(hour=0, minute=0, second=0, microsecond=0)
|
# manana = manana.replace(hour=0, minute=0, second=0, microsecond=0)
|
||||||
# diferencia = manana - ahora
|
|
||||||
# minutos_restantes = diferencia.total_seconds() // 60
|
|
||||||
|
|
||||||
payload = {
|
payload = {
|
||||||
'exp': manana,
|
'exp': ahora + timedelta(minutes=60),
|
||||||
'login': usuario['login']
|
'login': usuario['login']
|
||||||
}
|
}
|
||||||
token = jwt.encode(payload, private_key, algorithm="HS256")
|
token = jwt.encode(payload, private_key, algorithm="HS256")
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
|
||||||
|
from rest_framework import viewsets
|
||||||
|
from .. import models, serializers
|
||||||
|
from django.db import models as dj_models
|
||||||
|
|
||||||
|
class ComunaViewSet(viewsets.ModelViewSet):
|
||||||
|
queryset = models.Comuna.objects.all()
|
||||||
|
serializer_class = serializers.ComunaSerializer
|
||||||
|
|
||||||
|
def create(self, request, *args, **kwargs):
|
||||||
|
# se indica que si no se indico el id, entonces sea el maximo + 1
|
||||||
|
if not request.data.get('id_comuna', None):
|
||||||
|
max_id = models.Comuna.objects.aggregate(dj_models.Max('id_comuna'))['id_comuna__max']
|
||||||
|
new_id = max_id + 1 if max_id is not None else 1
|
||||||
|
request.data['id_comuna'] = new_id
|
||||||
|
|
||||||
|
return super().create(request, *args, **kwargs)
|
|
@ -0,0 +1,7 @@
|
||||||
|
|
||||||
|
from rest_framework import viewsets
|
||||||
|
from .. import models, serializers
|
||||||
|
|
||||||
|
class RegionViewSet(viewsets.ModelViewSet):
|
||||||
|
queryset = models.Region.objects.all()
|
||||||
|
serializer_class = serializers.RegionSerializer
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>...</title>
|
<title>...</title>
|
||||||
<script type="module" crossorigin src="/assets/index-1eede8db.js"></script>
|
<script type="module" crossorigin src="/assets/index-26045276.js"></script>
|
||||||
<link rel="stylesheet" href="/assets/index-b640e145.css">
|
<link rel="stylesheet" href="/assets/index-b640e145.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
Loading…
Reference in New Issue