Michael Hall has proposed merging lp:~mhall119/loco-directory/site-search into 
lp:loco-directory.

Requested reviews:
  loco-directory-dev (loco-directory-dev)
Related bugs:
  #613132 team search not working
  https://bugs.launchpad.net/bugs/613132
  #628211 Provide site-wide search
  https://bugs.launchpad.net/bugs/628211
  #644418 Search box placement
  https://bugs.launchpad.net/bugs/644418


Leave the sub-nav bar and search box on all pages (except 500.html), and search 
for teams, events and venues all at the same time for the same search text.
-- 
https://code.launchpad.net/~mhall119/loco-directory/site-search/+merge/41401
Your team loco-directory-dev is requested to review the proposed merge of 
lp:~mhall119/loco-directory/site-search into lp:loco-directory.
=== modified file 'loco_directory/common/context_processors.py'
--- loco_directory/common/context_processors.py	2010-08-27 00:04:00 +0000
+++ loco_directory/common/context_processors.py	2010-11-20 17:28:59 +0000
@@ -43,3 +43,8 @@
 def url_base(request):
     url = request.get_full_path().split('/')
     return {'url_base': url[1]} 
+    
+def site_search(request):
+    from common.forms import SiteSearchForm
+    search_form = SiteSearchForm(data=request.GET)
+    return {'search_form': search_form}

=== modified file 'loco_directory/common/forms.py'
--- loco_directory/common/forms.py	2010-10-21 16:13:05 +0000
+++ loco_directory/common/forms.py	2010-11-20 17:28:59 +0000
@@ -1,5 +1,6 @@
 from django.template import Context, loader
 from django import forms
+from django.utils.translation import ugettext as _
 
 # Taken from http://djangosnippets.org/snippets/1732/
 class RenderableMixin(object):
@@ -39,3 +40,13 @@
             Context(context_dict)
         )
 
+class SiteSearchForm(forms.Form):
+    """
+    A Search form for the whole site
+    """
+    q = forms.CharField(label=_('Search'), required=False, max_length=100)
+
+    def as_line(self):
+        "Returns this form rendered. Only the fields. Nothing else HTML."
+        return self._html_output(u'%(label)s %(errors)s%(field)s%(help_text)s', u'%s', '', u'%s', False)
+

=== modified file 'loco_directory/common/views.py'
--- loco_directory/common/views.py	2010-08-26 00:00:52 +0000
+++ loco_directory/common/views.py	2010-11-20 17:28:59 +0000
@@ -60,3 +60,61 @@
             request.session['django_language'] = lang
         response.set_cookie(settings.LANGUAGE_COOKIE_NAME,lang)
     return response
+    
+def site_search(request):
+    from common.forms import SiteSearchForm
+    from common.utils import simple_iterator
+    teams = []
+    global_events = []
+    team_events = []
+    venues = []
+    q = None
+    form = SiteSearchForm(data=request.GET)
+    if form.is_valid():
+        q = form.cleaned_data.get('q', None)
+        if q is not None:
+            teams = search_teams(q)
+            global_events = search_global_events(q)
+            team_events = search_team_events(q)
+            venues = search_venues(q)
+    context = {
+        'teams': teams,
+        'global_events': global_events,
+        'team_events': team_events,
+        'venues': venues,
+        'q': q,
+        'colcycle' : simple_iterator('col_left', 'col_right'),
+    }
+    return render_to_response('site_search.html', context,
+        RequestContext(request))
+    
+def search_teams(q):
+    from teams.models import Team
+    from django.db.models import Q
+    team_list = Team.objects.all().order_by('name')
+    team_list = team_list.filter(Q(name__icontains=q) | Q(countries__name__icontains=q) | Q(city__icontains=q) | Q(languages__name__icontains=q))
+    return team_list
+    
+def search_global_events(q):
+    from events.models import GlobalEvent
+    from django.db.models import Q
+    global_event_list = GlobalEvent.objects.next_events()
+    global_event_list = global_event_list.filter(Q(name__icontains=q))
+    return global_event_list
+
+def search_team_events(q):
+    from events.models import TeamEvent
+    from django.db.models import Q
+    team_event_list = TeamEvent.objects.next_events()
+    team_event_list = team_event_list.filter(Q(name__icontains=q) | Q(teams__name__icontains=q) | Q(venue__name__icontains=q) | Q(venue__city__icontains=q) | Q(venue__country__name__icontains=q) | Q(global_event__name__icontains=q))
+    return team_event_list
+    
+def search_venues(q):
+    from venues.models import Venue
+    from django.db.models import Q
+    venue_list = Venue.objects.all().order_by('name')
+    venue_list = venue_list.filter(Q(name__icontains=q) | Q(country__name__icontains=q) | Q(city__icontains=q) | Q(address__icontains=q))
+    return venue_list
+    
+    
+

=== modified file 'loco_directory/settings.py'
--- loco_directory/settings.py	2010-09-01 15:50:09 +0000
+++ loco_directory/settings.py	2010-11-20 17:28:59 +0000
@@ -87,6 +87,7 @@
     "common.context_processors.flickr_api_key",
     "common.context_processors.login_redirect",
     "common.context_processors.url_base",
+    "common.context_processors.site_search",
 )
 
 ROOT_URLCONF = 'loco_directory.urls'

=== modified file 'loco_directory/templates/about.html'
--- loco_directory/templates/about.html	2010-08-20 13:05:47 +0000
+++ loco_directory/templates/about.html	2010-11-20 17:28:59 +0000
@@ -3,8 +3,6 @@
 
 {% block title %} {% trans "About the LoCo Team Directory" %} | {% trans "Ubuntu LoCo Team Directory" %} {% endblock %}
 
-{% block sub_nav %}{% endblock %}
-
 {% block content %}
 
 

=== modified file 'loco_directory/templates/about_loco.html'
--- loco_directory/templates/about_loco.html	2010-09-24 00:53:51 +0000
+++ loco_directory/templates/about_loco.html	2010-11-20 17:28:59 +0000
@@ -3,8 +3,6 @@
 
 {% block title %} {% trans "About Local Community (LoCo) Teams" %} | {% trans "Ubuntu LoCo Team Directory" %} {% endblock %}
 
-{% block sub_nav %}{% endblock %}
-
 {% block content %}
 
 <article class="main-content">

=== modified file 'loco_directory/templates/base.html'
--- loco_directory/templates/base.html	2010-09-09 19:06:22 +0000
+++ loco_directory/templates/base.html	2010-11-20 17:28:59 +0000
@@ -26,6 +26,13 @@
 {% block sub_nav_links %}
 {% endblock %}
 
+{% block search_box %}
+<form id="site_search_form" action="{% url common.views.site_search %}" method="get">
+		{{ search_form.q }}
+		<input type="image" src="/media/img/search.png" title="{% trans "Search" %}" />
+</form>
+{% endblock %}
+
 {% block messages %}
 	{% if messages %}
 	  {% for message in messages %}

=== modified file 'loco_directory/templates/events/event_list.html'
--- loco_directory/templates/events/event_list.html	2010-11-12 11:26:24 +0000
+++ loco_directory/templates/events/event_list.html	2010-11-20 17:28:59 +0000
@@ -12,13 +12,6 @@
 <a class="sub-nav-item" href="{% url event-history-list %}">{% trans "Past Events" %}</a>
 {% endblock %}
 
-{% block search_box %}
-<form action="." method="get">
-		{{ form.as_line }}
-		<input type="image" src="/media/img/search.png" title="{% trans "Search" %}" />
-</form>
-{% endblock %}
-
 {% block content %}
 <article class="main-content">
 <h2>{% trans "Ubuntu LoCo Global Events" %}

=== modified file 'loco_directory/templates/events/global_event_delete_confirm.html'
--- loco_directory/templates/events/global_event_delete_confirm.html	2010-08-21 21:07:34 +0000
+++ loco_directory/templates/events/global_event_delete_confirm.html	2010-11-20 17:28:59 +0000
@@ -7,9 +7,6 @@
 {{form.media}}
 {% endblock %}
 
-{% block sub_nav %}
-{% endblock %}
-
 {% block content %}
 <article class="main-content">
 <h2>{% trans "Delete global Event" %}</h2>

=== modified file 'loco_directory/templates/events/global_event_detail.html'
--- loco_directory/templates/events/global_event_detail.html	2010-09-09 19:06:22 +0000
+++ loco_directory/templates/events/global_event_detail.html	2010-11-20 17:28:59 +0000
@@ -18,9 +18,6 @@
 {% endif %}
 {% endblock %}
 
-{% block search %}
-{% endblock %}
-
 {% block content %}
 
 {% include "events/global_event_detail.inc.html" %}

=== modified file 'loco_directory/templates/events/global_event_new.html'
--- loco_directory/templates/events/global_event_new.html	2010-10-08 21:43:14 +0000
+++ loco_directory/templates/events/global_event_new.html	2010-11-20 17:28:59 +0000
@@ -17,9 +17,6 @@
 --></script>
 {% endblock %}
 
-{% block sub_nav %}
-{% endblock %}
-
 {% block content %}
 <article class="main-content">
 <h2>{% trans "Add new Global Event" %}</h2>

=== modified file 'loco_directory/templates/events/global_event_update.html'
--- loco_directory/templates/events/global_event_update.html	2010-10-08 21:43:14 +0000
+++ loco_directory/templates/events/global_event_update.html	2010-11-20 17:28:59 +0000
@@ -15,9 +15,6 @@
 --></script>
 {% endblock %}
 
-{% block sub_nav %}
-{% endblock %}
-
 {% block content %}
 <article class="main-content">
 <h2>{% trans "Update Global Event" %}</h2>

=== modified file 'loco_directory/templates/events/team_event_comment_new.html'
--- loco_directory/templates/events/team_event_comment_new.html	2010-10-08 21:43:14 +0000
+++ loco_directory/templates/events/team_event_comment_new.html	2010-11-20 17:28:59 +0000
@@ -7,9 +7,6 @@
 {{form.media}}
 {% endblock %}
 
-{% block sub_nav %}
-{% endblock %}
-
 {% block extrafooter %}
 <script type="text/javascript"><!--
 $(document).ready(function(){

=== modified file 'loco_directory/templates/events/team_event_delete_confirm.html'
--- loco_directory/templates/events/team_event_delete_confirm.html	2010-08-21 21:07:34 +0000
+++ loco_directory/templates/events/team_event_delete_confirm.html	2010-11-20 17:28:59 +0000
@@ -7,9 +7,6 @@
 {{form.media}}
 {% endblock %}
 
-{% block sub_nav %}
-{% endblock %}
-
 {% block content %}
 <article class="main-content">
 <h2>{% trans "Delete Team Event" %}</h2>

=== modified file 'loco_directory/templates/events/team_event_detail.html'
--- loco_directory/templates/events/team_event_detail.html	2010-11-12 11:26:24 +0000
+++ loco_directory/templates/events/team_event_detail.html	2010-11-20 17:28:59 +0000
@@ -16,9 +16,6 @@
 <a class="sub-nav-item" href="{% url event-ical team_event_object.id %}">{% trans "iCal Feed" %}</a>
 {% endblock %}
 
-{% block search %}
-{% endblock %}
-
 {% block content %}
 
 {% include "events/team_event_detail.inc.html" %}

=== modified file 'loco_directory/templates/events/team_event_new.html'
--- loco_directory/templates/events/team_event_new.html	2010-10-08 21:43:14 +0000
+++ loco_directory/templates/events/team_event_new.html	2010-11-20 17:28:59 +0000
@@ -23,9 +23,6 @@
 --></script>
 {% endblock %}
 
-{% block sub_nav %}
-{% endblock %}
-
 {% block content %}
 <article class="main-content">
 <h2>{% trans "Add new Team Event for " %}{{ team_object.name}}</h2>

=== modified file 'loco_directory/templates/events/team_event_new_select.html'
--- loco_directory/templates/events/team_event_new_select.html	2010-08-21 21:07:34 +0000
+++ loco_directory/templates/events/team_event_new_select.html	2010-11-20 17:28:59 +0000
@@ -3,9 +3,6 @@
 
 {% block title %}{% trans "New Team Event" %} | {% trans "Ubuntu LoCo Team Directory" %} {% endblock %}
 
-{% block sub_nav %}
-{% endblock %}
-
 {% block content %}
 <article class="main-content alone">
 <h2>{% trans "Select a Team to add an Event for" %}:</h2>

=== modified file 'loco_directory/templates/events/team_event_register.html'
--- loco_directory/templates/events/team_event_register.html	2010-10-08 21:43:14 +0000
+++ loco_directory/templates/events/team_event_register.html	2010-11-20 17:28:59 +0000
@@ -7,9 +7,6 @@
 {{form.media}}
 {% endblock %}
 
-{% block sub_nav %}
-{% endblock %}
-
 {% block content %}
 <article class="main-content">
 <h2>{% trans "Register for event " %}</h2>

=== modified file 'loco_directory/templates/events/team_event_update.html'
--- loco_directory/templates/events/team_event_update.html	2010-10-08 21:43:14 +0000
+++ loco_directory/templates/events/team_event_update.html	2010-11-20 17:28:59 +0000
@@ -15,9 +15,6 @@
 --></script>
 {% endblock %}
 
-{% block sub_nav %}
-{% endblock %}
-
 {% block content %}
 <article class="main-content">
 <h2>{% trans "Update Team Event" %}</h2>

=== modified file 'loco_directory/templates/index.html'
--- loco_directory/templates/index.html	2010-09-09 19:06:22 +0000
+++ loco_directory/templates/index.html	2010-11-20 17:28:59 +0000
@@ -6,8 +6,6 @@
 <a class="sub-nav-item" href="{% url using_locodir %}">{% trans "Using the LoCo Team Directory" %}</a>
 {% endblock %}
 
-{% block search %}{% endblock %}
-
 {% block extrahead %}{{block.super}}
         <link rel="stylesheet" type="text/css" href="{{MEDIA_URL}}/css/twidenash.css" />
         <link rel="stylesheet" type="text/css" href="{{MEDIA_URL}}/css/continents.css" />

=== modified file 'loco_directory/templates/irc_chat.html'
--- loco_directory/templates/irc_chat.html	2010-09-13 22:20:52 +0000
+++ loco_directory/templates/irc_chat.html	2010-11-20 17:28:59 +0000
@@ -3,8 +3,6 @@
 
 {% block title %} {% trans "Ubuntu LoCo Teams IRC Chat" %} | {% trans "Ubuntu LoCo Team Directory" %} {% endblock %}
 
-{% block sub_nav %}{% endblock %}
-
 {% block content %}
 
 <h1>{% trans "Ubuntu LoCo Teams IRC Chat" %}</h1>

=== modified file 'loco_directory/templates/loco_council.html'
--- loco_directory/templates/loco_council.html	2010-09-26 21:10:01 +0000
+++ loco_directory/templates/loco_council.html	2010-11-20 17:28:59 +0000
@@ -7,8 +7,6 @@
     <a class="sub-nav-item" href="approved">{% trans "Approved Teams" %}</a>
 {% endblock %}
 
-{% block search %}{% endblock %}
-
 {% block content %}
 
     <h1>{% trans "Ubuntu LoCo Council" %}</h1>

=== modified file 'loco_directory/templates/teams/merge_teams.html'
--- loco_directory/templates/teams/merge_teams.html	2010-09-30 16:14:48 +0000
+++ loco_directory/templates/teams/merge_teams.html	2010-11-20 17:28:59 +0000
@@ -5,7 +5,6 @@
 {% block extrahead %}{{ block.super }}
 <link rel="stylesheet" type="text/css" href="/media/css/newstyle.css" />
 {% endblock %}
-{% block sub_nav %}{% endblock %}
 
 {% block content %}
 

=== modified file 'loco_directory/templates/teams/select_other_team.html'
--- loco_directory/templates/teams/select_other_team.html	2010-10-01 05:29:29 +0000
+++ loco_directory/templates/teams/select_other_team.html	2010-11-20 17:28:59 +0000
@@ -5,7 +5,6 @@
 {% block extrahead %}{{ block.super }}
 <link rel="stylesheet" type="text/css" href="/media/css/newstyle.css" />
 {% endblock %}
-{% block sub_nav %}{% endblock %}
 
 {% block content %}
 

=== modified file 'loco_directory/templates/teams/team_detail.html'
--- loco_directory/templates/teams/team_detail.html	2010-10-09 14:10:42 +0000
+++ loco_directory/templates/teams/team_detail.html	2010-11-20 17:28:59 +0000
@@ -11,7 +11,6 @@
             {% if is_member %}<a class="sub-nav-item" href="{% url team-event-new team.lp_name %}" title="{% trans "Add New Event" %}">{% trans "Add New Event" %}</a>{% endif %}
 {% endblock %}
 
-{% block search %}{% endblock %}
 
 {% block extrahead %}{{ block.super }}
 {% if team.flickr_id or team.picasa_id or team.pixie_id %}

=== modified file 'loco_directory/templates/teams/team_event_history.html'
--- loco_directory/templates/teams/team_event_history.html	2010-08-23 08:18:37 +0000
+++ loco_directory/templates/teams/team_event_history.html	2010-11-20 17:28:59 +0000
@@ -8,8 +8,6 @@
 <a class="sub-nav-item" href="{% url team-event-list team_object.lp_name %}">{% trans "Upcoming Events" %}</a>
 {% endblock %}
 
-{% block search %}{% endblock %}
-
 {% block content %}
 <article class="main-content">
 <h1>{% blocktrans with team_object.name as teamname %}{{teamname}} Events History{% endblocktrans %}</h1>

=== modified file 'loco_directory/templates/teams/team_event_list.html'
--- loco_directory/templates/teams/team_event_list.html	2010-09-09 19:06:22 +0000
+++ loco_directory/templates/teams/team_event_list.html	2010-11-20 17:28:59 +0000
@@ -9,7 +9,6 @@
 <a class="sub-nav-item" href="{% url team-events-rss team_object.lp_name %}" title="{% trans "Team Events (RSS)" %}"">{% trans "Team Events (RSS)" %}</a>
 {% endblock %}
 
-{% block search %}{% endblock %}
 
 {% block extrahead %}{{ block.super }}
 <link type="application/rss+xml" rel="alternate" title="Team Events (RSS)" href="{% url team-events-rss team_object.lp_name %}" />

=== modified file 'loco_directory/templates/teams/team_list.html'
--- loco_directory/templates/teams/team_list.html	2010-08-23 15:05:57 +0000
+++ loco_directory/templates/teams/team_list.html	2010-11-20 17:28:59 +0000
@@ -10,13 +10,6 @@
 {% block sub_nav_links %}
 {% endblock %}
 
-{% block search_box %}
-<form action="." method="get">
-		{{ form.as_line }}
-		<input type="image" src="/media/img/search.png" title="{% trans "Search" %}" />
-</form>
-{% endblock %}
-
 {% block content %}
 {% if team_list %}
   {% for continent in continents %}{% if continent.related_teams %}

=== modified file 'loco_directory/templates/teams/team_reapprovals.html'
--- loco_directory/templates/teams/team_reapprovals.html	2010-09-10 01:07:12 +0000
+++ loco_directory/templates/teams/team_reapprovals.html	2010-11-20 17:28:59 +0000
@@ -5,7 +5,6 @@
 {% block extrahead %}{{ block.super }}
 <link rel="stylesheet" type="text/css" href="/media/css/newstyle.css" />
 {% endblock %}
-{% block sub_nav %}{% endblock %}
 
 {% block content %}
 

=== modified file 'loco_directory/templates/using_locodir.html'
--- loco_directory/templates/using_locodir.html	2010-08-20 09:58:11 +0000
+++ loco_directory/templates/using_locodir.html	2010-11-20 17:28:59 +0000
@@ -3,8 +3,6 @@
 
 {% block title %} {% trans "Using the LoCo Team Directory" %} | {% trans "Ubuntu LoCo Team Directory" %} {% endblock %}
 
-{% block sub_nav %}{% endblock %}
-
 {% block content %}
 
 <article class="main-content">

=== modified file 'loco_directory/templates/venues/venue_detail.html'
--- loco_directory/templates/venues/venue_detail.html	2010-11-12 11:26:24 +0000
+++ loco_directory/templates/venues/venue_detail.html	2010-11-20 17:28:59 +0000
@@ -15,9 +15,6 @@
 <a class="sub-nav-item" href="{% url venue-update venue_object.id %}">{% trans "Edit Venue Details" %}</a>
 {% endblock %}
 
-{% block search %}
-{% endblock %}
-
 {% block content %}
 
 {% include "venues/venue_detail.inc.html" %}

=== modified file 'loco_directory/templates/venues/venue_list.html'
--- loco_directory/templates/venues/venue_list.html	2010-11-12 11:26:24 +0000
+++ loco_directory/templates/venues/venue_list.html	2010-11-20 17:28:59 +0000
@@ -7,13 +7,6 @@
 <a class="sub-nav-item" href="{% url venue-new %}">{% trans "Add New Venue" %}</a>
 {% endblock %}
 
-{% block search_box %}
-<form action="." method="get">
-		{{ form.as_line }}
-		<input type="image" src="/media/img/search.png" title="{% trans "Search" %}" />
-</form>
-{% endblock %}
-
 {% block content %}
 <article id="main-content" class="main-content">
 

=== modified file 'loco_directory/templates/venues/venue_update.html'
--- loco_directory/templates/venues/venue_update.html	2010-10-13 20:56:02 +0000
+++ loco_directory/templates/venues/venue_update.html	2010-11-20 17:28:59 +0000
@@ -3,9 +3,6 @@
 
 {% block title %}{% if venue_object %}{% trans "Update Venue" %}{% else %}{% trans "New Venue" %}{% endif %} | {% trans "Ubuntu LoCo Team Directory" %} {% endblock %}
 
-{% block sub_nav %}
-{% endblock %}
-
 {% block extrahead %}{{block.super}}
 {{ form.media }}
 {% endblock %}

=== modified file 'loco_directory/urls.py'
--- loco_directory/urls.py	2010-09-10 01:07:12 +0000
+++ loco_directory/urls.py	2010-11-20 17:28:59 +0000
@@ -23,6 +23,7 @@
     url(r'^logout$', 'common.views.site_logout'),
     url(r'^jsi18n', 'django.views.i18n.javascript_catalog', name='jsi18n'),
     url(r'^services/', include('services.urls')),
+    url(r'^search/', 'common.views.site_search', name='site_search'),
 )
 
 if settings.STATIC_SERVE:

_______________________________________________
Mailing list: https://launchpad.net/~loco-directory-dev
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~loco-directory-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to