src/egonomy/views.py
changeset 41 92e530850200
parent 40 599b9b82c750
child 43 119cd616faa4
equal deleted inserted replaced
40:599b9b82c750 41:92e530850200
     1 from django.conf import settings
     1 from django.conf import settings
     2 from django.contrib.auth.decorators import login_required
     2 from django.contrib.auth.decorators import login_required
     3 from django.core.paginator import Paginator, InvalidPage, EmptyPage
     3 from django.core.paginator import Paginator, InvalidPage, EmptyPage
       
     4 from django.core.urlresolvers import reverse
       
     5 from django.db.models.aggregates import Max
     4 from django.shortcuts import get_object_or_404, render_to_response, redirect
     6 from django.shortcuts import get_object_or_404, render_to_response, redirect
     5 from django.template import RequestContext
     7 from django.template import RequestContext
     6 from models import Image, Fragment
     8 from egonomy.models import ImageMetadata, Image, Fragment
     7 from django.db.models.aggregates import Max
     9 from egonomy.search_indexes import QueryParser
       
    10 from egonomy.search_indexes.paginator import SearchPaginator
       
    11 from egonomy.search_indexes.query import ModelRelatedSearchQuerySet
     8 import logging
    12 import logging
     9 from egonomy.search_indexes.query import ModelRelatedSearchQuerySet
       
    10 from egonomy.search_indexes import QueryParser
       
    11 from egonomy.models import ImageMetadata
       
    12 from egonomy.search_indexes.paginator import SearchPaginator
       
    13 
    13 
    14 logger = logging.getLogger(__name__)
    14 logger = logging.getLogger(__name__)
    15 
    15 
    16 
    16 
    17 def home(request):
    17 def home(request):
   106         qp = QueryParser(field)
   106         qp = QueryParser(field)
   107         res = ModelRelatedSearchQuerySet(model=Image).filter(qp.parse(search)).models(ImageMetadata).load_all_queryset(Image, img_list).load_all()
   107         res = ModelRelatedSearchQuerySet(model=Image).filter(qp.parse(search)).models(ImageMetadata).load_all_queryset(Image, img_list).load_all()
   108         paginator = SearchPaginator(res, nb)
   108         paginator = SearchPaginator(res, nb)
   109     else:
   109     else:
   110         img_list = img_list.order_by('pk').all()
   110         img_list = img_list.order_by('pk').all()
   111         paginator = Paginator(img_list, nb)    
   111         paginator = Paginator(img_list, nb)
   112     
   112     
   113     try:
   113     try:
   114         results = paginator.page(cur_page_nb)
   114         results = paginator.page(cur_page_nb)
   115     except (EmptyPage, InvalidPage):
   115     except (EmptyPage, InvalidPage):
   116         results = paginator.page(paginator.num_pages)
   116         results = paginator.page(paginator.num_pages)
       
   117     
       
   118     url_pagination = reverse("all_pictures")
       
   119     if search:
       
   120         url_pagination = url_pagination + "?search=" + search
   117 
   121 
   118     return render_to_response("egonomy_all_pictures.html",
   122     return render_to_response("egonomy_all_pictures.html",
   119                               {'results':results, 'nb_pages':paginator.num_pages, 'cur_page_nb':cur_page_nb, "search":search, "nb_results":nb_results},
   123                               {'results':results, 'nb_pages':paginator.num_pages, 'cur_page_nb':cur_page_nb, "search":search, "nb_results":nb_results, "url_pagination":url_pagination},
   120                               context_instance=RequestContext(request))
   124                               context_instance=RequestContext(request))
   121 
   125 
   122 
   126 
   123 def all_fragments(request):
   127 def all_fragments(request):
   124     
   128