def new(request): context = {'YAHOO_MAPS_API_KEY': lazy_key()} if request.method == 'POST': location_form = LocationForm(request.POST) if location_form.is_valid(): y = geocoders.Yahoo(lazy_key()) p = location_form.cleaned_data['place'] try: (place, (lat, lng)) = list(y.geocode(p, exactly_one=False))[0] # Actually returns more than one result but I am taking only the # first result except HTTPError: request.user.message_set.create( message=_('Location not found, Try something else.')) context['location_form'] = location_form return render_to_response("locations/new.html", context, context_instance=RequestContext(request) ) context.update({ 'location': {'place': place, 'latitude': lat, 'longitude': lng}, 'checkin_form': CheckinForm(), }) return render_to_response("locations/checkin.html", context, context_instance=RequestContext(request) ) else: return HttpResponseRedirect(reverse('locations.views.your_locations')) else: return HttpResponseRedirect(reverse('locations.views.your_locations'))
def create_location(request, user_id): received_json_data = json.loads(request.body) form = LocationForm(received_json_data) if form.is_valid(): new_location = Location() new_location.latitude = form.cleaned_data['latitude'] new_location.longitude = form.cleaned_data['longitude'] new_location.image_url = form.cleaned_data['image_url'] try: request.user.location_set.add(new_location) except Exception as e: logger.error( "Error associating location to user. User %s Location %s. %s", request.user, new_location, e.message) return HttpResponseBadRequest(e.message) # Add tags to the location if any were passed tag_ids = form.cleaned_data['tag_ids'] if tag_ids: tags = Tag.objects.filter(id__in=tag_ids) for tag in tags: LocationTags.objects.create(tag=tag, location=new_location) data = json.dumps(new_location.to_dict()) return HttpResponse(data) else: logger.error("Form invalid. %s", form.errors) error_data = json.dumps(form.errors) return HttpResponseBadRequest(error_data)
def create_location(request): if request.method == 'POST': form = LocationForm(request.POST) if form.is_valid(): # TODO: check if is in Israel point = Point([form.cleaned_data['lng'], form.cleaned_data['lat']]) form.instance.point = point location = form.save() if request.is_ajax(): return JsonResponse({ 'name': html.escape(location.name), 'info': linebreaks(location.information), 'lat': format(location.point.coords[1], ".5f"), 'lng': format(location.point.coords[0], ".5f"), }) return redirect("home") else: form = LocationForm() return render(request, 'general/templates/locations/location_form.html', { 'form': form, })
def create_location(request, user_id): received_json_data = json.loads(request.body) form = LocationForm(received_json_data) if form.is_valid(): new_location = Location() new_location.latitude = form.cleaned_data['latitude'] new_location.longitude = form.cleaned_data['longitude'] new_location.image_url = form.cleaned_data['image_url'] try: request.user.location_set.add(new_location) except Exception as e: logger.error("Error associating location to user. User %s Location %s. %s", request.user, new_location, e.message) return HttpResponseBadRequest(e.message) # Add tags to the location if any were passed tag_ids = form.cleaned_data['tag_ids'] if tag_ids: tags = Tag.objects.filter(id__in=tag_ids) for tag in tags: LocationTags.objects.create(tag=tag, location=new_location) data = json.dumps(new_location.to_dict()) return HttpResponse(data) else: logger.error("Form invalid. %s", form.errors) error_data = json.dumps(form.errors) return HttpResponseBadRequest(error_data)
def add_location(request): context = {} if request.method == "POST": form = LocationForm(request.POST) if form.is_valid(): form.save() return redirect("administrator.views.locations") else: form = LocationForm() context['form'] = form return render(request, "administrator/add_location.html", context)
def location_new(request): if request.method == 'POST': # If the form has been submitted... location_form = LocationForm(request.POST) if location_form.is_valid(): location = location_form.save() location.save() if 'next' in request.GET: return redirect(request.GET['next']) else: return redirect('/talk/new')
def locations(request): context = {} context['locations'] = Location.objects.all() if request.method == "POST": form = LocationForm(request.POST) if form.is_valid(): form.save() return redirect("admin_locations") else: form = LocationForm() context['form'] = form return render(request, "administrator/locations.html", context)