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 |