src/egonomy/views.py
changeset 67 a085d708c407
parent 49 df024e5f011d
child 68 dc6f8802c08a
--- a/src/egonomy/views.py	Mon Feb 25 12:25:48 2013 +0100
+++ b/src/egonomy/views.py	Mon Feb 25 13:54:58 2013 +0100
@@ -11,6 +11,7 @@
 from egonomy.search_indexes.query import ModelRelatedSearchQuerySet
 from haystack.query import RelatedSearchQuerySet
 import logging
+from django.contrib.auth.models import User
 
 logger = logging.getLogger(__name__)
 
@@ -165,4 +166,28 @@
                               context_instance=RequestContext(request))
 
 
+def user_fragments(request, username):
+        
+    # Get the cur_page_nb number parameter if possible
+    cur_page_nb = request.GET.get("page") or 1
+    cur_page_nb = int(cur_page_nb)
+    # get the username
+    user = get_object_or_404(User, username=username)
+    
+    frg_list = Fragment.objects.filter(author=user).order_by('-date_saved').select_related('image', 'image__info', 'image__metadata','author')
+    nb = request.GET.get("limit") or getattr(settings,"IMAGES_PER_PAGE", 32)
+    paginator = Paginator(frg_list, nb)
+        
+    try:
+        results = paginator.page(cur_page_nb)
+    except (EmptyPage, InvalidPage):
+        results = paginator.page(paginator.num_pages)
+        
+    url_pagination = reverse("user_fragments", args=[username]) + "?limit=" + str(nb)
 
+    return render_to_response("egonomy_all_fragments.html",
+                              {"user_fragments":True, 'username':username, 'results':results, 'nb_pages':paginator.num_pages, "search":None, 'cur_page_nb':cur_page_nb, "url_pagination":url_pagination},
+                              context_instance=RequestContext(request))
+
+
+