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 %}