def set_location(request): try: place_slug = request.GET.get('location', 'all') tracker.add_event('set-location', {'location': place_slug}) result = geocode(place_slug) if result: try: user_point = Point(*result[1]) pilot_city = City.objects.get(slug="fbn-pilot") request.session['fbn_pilot'] = user_point.within(pilot_city.enclosing_geometry) except: pass if request.city and not Point(*result[1]).within(request.city.enclosing_geometry): return HttpResponse(json.dumps({"status": False, 'reason': "NoCity"}), mimetype="application/json") #redirect if place not within city limits request.session['bingeo'] = result[1] display_place_slug = place_slug.split(",")[0] request.session["place_slug"], request.session["display_place_slug"], request.session["delivery"], request.session["pick_up"] = place_slug, display_place_slug , True , False else: return HttpResponse(json.dumps({'reason': "NoPlace"}), mimetype="application/json") if "/no-such-place/" in request.referer: return HttpResponse(json.dumps({'reason': "NoPlace"}), mimetype="application/json") if "/not-in-city/" in request.referer: return HttpResponse(json.dumps({'reason': "NoCity"}), mimetype="application/json") except IndexError: raise 'hody' return HttpResponse(json.dumps({'reason': "NoPlace"}), mimetype="application/json") return HttpResponse(json.dumps({'display_name': request.session['place_slug']}), mimetype="application/json")
def save(self, *args, **kwargs): self.description_html = markdown(self.description) if self.pick_up_location: result = geocode(self.pick_up_location) if result: self.pick_up_point = Point(*result[1]) return super(Store, self).save(*args, **kwargs)
def set_location_point(sender,instance,**kwargs): result = geocode(instance.name) if result: point = Point(*result[1]) instance.location = point