def nearest(request, template_name="locations/nearest.html"): locations = [] lat, lng = None, None query = request.GET.get('q') filters = get_query_filters(request.user, 'locations.view_location') if query: lat, lng = get_coordinates(address=query) all_locations = Location.objects.filter(filters).distinct() if not request.user.is_anonymous(): all_locations = all_locations.select_related() if all((lat, lng)): for location in all_locations: location.distance = location.get_distance2(lat, lng) if location.distance != None: locations.append(location) locations.sort(key=lambda x: x.distance) EventLog.objects.log() return render_to_response(template_name, { 'locations': locations, 'origin': { 'lat': lat, 'lng': lng }, }, context_instance=RequestContext(request))
def nearest(request, template_name="locations/nearest.html"): locations = [] lat, lng = None, None query = request.GET.get('q') filters = get_query_filters(request.user, 'locations.view_location') if query: lat, lng = get_coordinates(address=query) all_locations = Location.objects.filter(filters).distinct() if not request.user.is_anonymous: all_locations = all_locations.select_related() if all((lat,lng)): for location in all_locations: location.distance = location.get_distance2(lat, lng) if location.distance is not None: locations.append(location) locations.sort(key=lambda x: x.distance) EventLog.objects.log() return render_to_resp(request=request, template_name=template_name, context={ 'locations':locations, 'origin': {'lat':lat,'lng':lng}, })
def save(self, *args, **kwargs): self.guid = self.guid or unicode(uuid.uuid1()) # update latitude and longitude if not all((self.latitude, self.longitude)): self.latitude, self.longitude = get_coordinates(self.get_address()) photo_upload = kwargs.pop('photo', None) super(Location, self).save(*args, **kwargs) if photo_upload and self.pk: image = File(content_type=ContentType.objects.get_for_model(self.__class__), object_id=self.pk, creator=self.creator, creator_username=self.creator_username, owner=self.owner, owner_username=self.owner_username) photo_upload.file.seek(0) image.file.save(photo_upload.name, photo_upload) image.save() self.logo = image self.save()