Exemplo n.º 1
0
    def create(self, request, *args, **kwargs):
        data = request.DATA.copy()
        if data.get('cadena', None) == 'otra':
            data.pop('cadena')

        UBICACION_AUTO = False
        if data.get('ubicacion', None) == 'auto':
            UBICACION_AUTO = data.pop('ubicacion')

        serializer = self.get_serializer(data=data, files=request.FILES)

        if serializer.is_valid():
            if UBICACION_AUTO:
                geo = gis.geocode(serializer.object.ciudad,
                                  serializer.object.direccion)
                ubicacion = Point(geo['lon'], geo['lat'])
                serializer.object.ubicacion = ubicacion
            self.pre_save(serializer.object)
            self.object = serializer.save(force_insert=True)
            self.post_save(self.object, created=True)
            headers = self.get_success_headers(serializer.data)
            return Response(serializer.data,
                            status=status.HTTP_201_CREATED,
                            headers=headers)

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 2
0
    def create(self, request, *args, **kwargs):
        data = request.DATA.copy()
        if data.get('cadena', None) == 'otra':
            data.pop('cadena')

        UBICACION_AUTO = False
        if data.get('ubicacion', None) == 'auto':
            UBICACION_AUTO = data.pop('ubicacion')

        serializer = self.get_serializer(data=data, files=request.FILES)

        if serializer.is_valid():
            if UBICACION_AUTO:
                geo = gis.geocode(serializer.object.ciudad, serializer.object.direccion)
                ubicacion = Point(geo['lon'], geo['lat'])
                serializer.object.ubicacion = ubicacion
            self.pre_save(serializer.object)
            self.object = serializer.save(force_insert=True)
            self.post_save(self.object, created=True)
            headers = self.get_success_headers(serializer.data)
            return Response(serializer.data, status=status.HTTP_201_CREATED,
                            headers=headers)

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 3
0
def geo_code_data(request):
    if request.method == 'GET':
        ciudad = get_object_or_None(City, id=request.GET.get('ciudad', None))
        direccion = request.GET.get('direccion', None)
        return geocode(ciudad, direccion)
Exemplo n.º 4
0
 def get_geocode_data(self):
     return geocode(self.ciudad, self.direccion)
Exemplo n.º 5
0
 def get_geocode_data(self):
     return geocode(self.ciudad, self.direccion)