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