Exemple #1
0
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")
Exemple #2
0
 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)
Exemple #3
0
def set_location_point(sender,instance,**kwargs):
    result = geocode(instance.name)
    if result:
        point = Point(*result[1])
        instance.location = point