def confirm_stop_ajax(request, **kwargs): if request.method == 'POST': if request.is_ajax(): request_params = request.POST.dict() try: valid = False stop_id_prefix = request_params.get('stop_id_prefix') stop_name = request_params.get('name') stop_id_suffix = list(stop_name.replace(' ', '').upper()) while not valid: random.shuffle(stop_id_suffix) stop_id = stop_id_prefix + "".join(stop_id_suffix[:3]) valid = Stop.objects.filter(stop_id=stop_id).count() == 0 params = { 'name': stop_name, 'stop_id': stop_id, 'point': request_params.get('point'), 'feed_id': request_params.get('feed_id') } stop = Stop(**params) stop.save() return http.HttpResponse(json.dumps({ 'id': stop.id, 'name': stop.name, 'lat': stop.point.y, 'lon': stop.point.x }), status=201) except DatabaseError as e: return http.HttpResponse( status=400, content="A problem occurred. Stop not created")
def test_legacy_lat_long(self): stop1 = Stop(feed=self.feed, stop_id='STOP1') stop1.lat = 36.425288 stop1.lon = -117.133162 stop1.save() stop2 = Stop(feed=self.feed, stop_id='STOP2') stop2.lon = -117.14 stop2.lat = 36.43 stop2.save() self.assertEqual(stop1.point.coords, (-117.133162, 36.425288)) self.assertEqual(stop1.lat, 36.425288) self.assertEqual(stop1.lon, -117.133162) self.assertEqual(stop2.point.coords, (-117.14, 36.43)) self.assertEqual(stop2.lat, 36.43) self.assertEqual(stop2.lon, -117.14)