diff -r fa141523769a -r 07c9aa7de765 src/hp/views.py --- a/src/hp/views.py Sat Nov 24 15:21:04 2012 +0100 +++ b/src/hp/views.py Mon Nov 26 17:01:05 2012 +0100 @@ -20,10 +20,18 @@ def all_videos(request): - url = settings.LDT_API_URL + "contents/?limit=" + str(settings.LDT_MAX_FETCH) + url = "%scontents/" % (settings.LDT_API_URL) + + request_params = {'limit' : settings.LDT_MAX_FETCH, 'order_by': 'title'} + + search = request.REQUEST.get("search", None) + if search: + search = search.strip() + request_params['title__icontains'] = search #pagination TODO : implement a lazy loader - contents = get_all_objects(url, 'front_project') + contents = get_all_objects(url, request_params, 'front_project') + for content in contents: url_parts = urlparse.urlparse(content.get('image','')) if not url_parts.netloc: @@ -42,8 +50,15 @@ except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. results = paginator.page(paginator.num_pages) - - return render_to_response('hp/all_videos.html',{'results':results}, context_instance=RequestContext(request)) + + if search: + search_param = "&search=%s" % search + search_param_first = "?search=%s" % search + else: + search_param = "" + search_param_first = "" + + return render_to_response('hp/all_videos.html',{'results':results, 'search': search, 'search_param': search_param, 'search_param_first': search_param_first}, context_instance=RequestContext(request)) def show_video_details(request, content_id):