src/hp/views.py
changeset 83 07c9aa7de765
parent 74 1b68d4acab0d
--- 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):