You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@community.apache.org by ni...@apache.org on 2010/03/13 20:15:10 UTC

svn commit: r922652 - in /comdev/nearby_people: nearby/forms.py nearby/views.py templates/pick_place.html

Author: nick
Date: Sat Mar 13 19:15:09 2010
New Revision: 922652

URL: http://svn.apache.org/viewvc?rev=922652&view=rev
Log:
Set the default search type, and on the results page, show them maps if they wait long enough without choosing

Modified:
    comdev/nearby_people/nearby/forms.py
    comdev/nearby_people/nearby/views.py
    comdev/nearby_people/templates/pick_place.html

Modified: comdev/nearby_people/nearby/forms.py
URL: http://svn.apache.org/viewvc/comdev/nearby_people/nearby/forms.py?rev=922652&r1=922651&r2=922652&view=diff
==============================================================================
--- comdev/nearby_people/nearby/forms.py (original)
+++ comdev/nearby_people/nearby/forms.py Sat Mar 13 19:15:09 2010
@@ -20,11 +20,12 @@ from django import forms
 class PlaceForm(forms.Form):
     place_name = forms.CharField()
     type = forms.TypedChoiceField(choices=(
-        ('','Default'), ('lm','Local Mentors'),
+        ('','Default (Local Mentors)'), ('lm','Local Mentors'),
         ('sp','Speakers'),
       ), 
       required=False,
       widget=forms.HiddenInput,
+      label="Type of Person",
     )
     rows = forms.IntegerField(
       required = False, 

Modified: comdev/nearby_people/nearby/views.py
URL: http://svn.apache.org/viewvc/comdev/nearby_people/nearby/views.py?rev=922652&r1=922651&r2=922652&view=diff
==============================================================================
--- comdev/nearby_people/nearby/views.py (original)
+++ comdev/nearby_people/nearby/views.py Sat Mar 13 19:15:09 2010
@@ -36,6 +36,7 @@ speakers_foaf = FOAF(SPEAKERS_DOAP)
 def welcome(request):
 	form = PlaceForm()
 	form.enableTypeField()
+	form.initial["type"] = 'lm'
 
 	return render(request, "welcome.html", {
 		'form': form
@@ -76,7 +77,7 @@ def pick_place(request):
 
 def find_people(request):
 	data = retrieve_people_data(LocationForm(request.GET))
-        data['gmaps_key'] = GMAPS_KEY
+	data['gmaps_key'] = GMAPS_KEY
 	return render(request, "people.html", data)
 
 def retrieve_people_data(form):

Modified: comdev/nearby_people/templates/pick_place.html
URL: http://svn.apache.org/viewvc/comdev/nearby_people/templates/pick_place.html?rev=922652&r1=922651&r2=922652&view=diff
==============================================================================
--- comdev/nearby_people/templates/pick_place.html (original)
+++ comdev/nearby_people/templates/pick_place.html Sat Mar 13 19:15:09 2010
@@ -5,7 +5,43 @@
 {% block bodyclass %}pick_place{% endblock %}
 {% block content %}
 
-
+<style type="text/css">
+.map {
+	width: 300px;
+	height: 150px;
+	display: none;
+}
+</style>
+<script type="text/javascript" charset="utf-8">
+var places = new Array();
+{% for p in places %}
+places[{{forloop.counter0}}] = {
+	'name': '{{p.name}}', lat: {{p.latitude}}, lng: {{p.longitude}},
+	'id': 'map_{{forloop.counter}}',
+}
+{% endfor %}
+
+function drawMaps() {
+	if (GBrowserIsCompatible()) {
+		for(var i in places) {
+			var p = places[i];
+			var div = document.getElementById(p['id']);
+
+			div.style.display = "block";
+			div.parentNode.style.marginBottom = "35px";
+
+			var map = new GMap2(div);
+			map.setCenter(new GLatLng(p['lat'], p['lng']), 8);
+
+			var m = new GMarker( 
+				new GLatLng(p['lat'], p['lng']),
+				{title: p['name']}
+			);
+			map.addOverlay(m);
+		}
+	}
+}
+</script>
 
 {% if places %}
 	<h3>We found several places with that name, we've sorted them by popularity</h3>
@@ -13,7 +49,7 @@
 
 	<ul>
 	{% for p in places %}
-		<li><a href="/find_people/?latitude={{p.latitude}}&longitude={{p.longitude}}&type={{form.data.type}}&rows={{form.data.rows}}" title="{{p.latitude|floatformat:4}} {{p.longitude|floatformat:4}}">{{p.name}} ({{p.country}})</a></li>
+		<li><a href="/find_people/?latitude={{p.latitude}}&longitude={{p.longitude}}&type={{form.data.type}}&rows={{form.data.rows}}" title="{{p.latitude|floatformat:4}} {{p.longitude|floatformat:4}}">{{p.name}} ({{p.country}})</a><div id="map_{{forloop.counter}}" class="map"></div></li>
 	{% endfor %}
 	</ul>
 {% else %}
@@ -31,4 +67,19 @@
 </p>
 </form>
 
+<script type="text/javascript" src="http://www.google.com/jsapi?key={{gmaps_key}}"></script>
+<script type="text/javascript" charset="utf-8">
+	google.load("maps", "2.x");
+	google.load("jquery", "1.3.1");
+</script>
+<script type="text/javascript" charset="utf-8">
+	var t;
+	$(document).ready(function(){
+		t = setTimeout(function() {
+			clearTimeout(t);
+			drawMaps();
+		}, 15*1000);
+	});
+</script>
+
 {% endblock %}