From 20b7e19ac87e0e5f0f4746e28b893573233be5f1 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Fri, 20 Dec 2013 00:17:00 +0100 Subject: [PATCH] upgrade resource paginator to django-paginator --- ...erence__del_field_mediafonds_reference.py} | 0 .../templates/telemeta/inc/resource_list.html | 45 +++++++++---------- .../templates/telemeta/resource_list.html | 6 +-- telemeta/urls.py | 13 +++--- telemeta/views/core.py | 3 +- telemeta/views/resource.py | 28 ++++++++++++ 6 files changed, 58 insertions(+), 37 deletions(-) rename telemeta/migrations/{0027_auto__del_field_mediacorpus_reference__del_field_mediafonds_reference.py => 0028_auto__del_field_mediacorpus_reference__del_field_mediafonds_reference.py} (100%) diff --git a/telemeta/migrations/0027_auto__del_field_mediacorpus_reference__del_field_mediafonds_reference.py b/telemeta/migrations/0028_auto__del_field_mediacorpus_reference__del_field_mediafonds_reference.py similarity index 100% rename from telemeta/migrations/0027_auto__del_field_mediacorpus_reference__del_field_mediafonds_reference.py rename to telemeta/migrations/0028_auto__del_field_mediacorpus_reference__del_field_mediafonds_reference.py diff --git a/telemeta/templates/telemeta/inc/resource_list.html b/telemeta/templates/telemeta/inc/resource_list.html index 2f8c199e..ce1fe3d1 100644 --- a/telemeta/templates/telemeta/inc/resource_list.html +++ b/telemeta/templates/telemeta/inc/resource_list.html @@ -1,32 +1,31 @@ {% load telemeta_utils %} {% load i18n %} -{% if resources %} -{% if hits %} -

-{{ type|capitalize }}{% blocktrans %} from {{ first_on_page }} to {{ last_on_page }} on {{ hits }}{% endblocktrans %} -| Pages : {% if pages == 1 %}1{% else %}{% if is_paginated %}{% load paginator %}{% paginator 5 %}{% endif %}{% endif %} -

-{% endif %} +{% if object_list %} + +{% load pagination_tags %} +{% autopaginate object_list 15 %} +{% paginate %} + - - - - - - -{% for resource in resources %} - - - - - - + + + + + + +{% for resource in object_list %} + + + + + + {% endfor %}
{% trans "Title" %}{% trans "Description" %}{% trans "Code" %}{% trans "Reference" %}
- {{ resource.title }} - {{ resource.description }}{{ resource.code }}{{ resource.reference }}
{% trans "Title" %}{% trans "Description" %}{% trans "Code" %}{% trans "Reference" %}
+ {{ resource.title }} + {{ resource.description }}{{ resource.code }}{{ resource.reference }}
+ {% else %}

{% trans "No resource" %}

{% endif %} - diff --git a/telemeta/templates/telemeta/resource_list.html b/telemeta/templates/telemeta/resource_list.html index 3f3f2a2a..a09e1446 100644 --- a/telemeta/templates/telemeta/resource_list.html +++ b/telemeta/templates/telemeta/resource_list.html @@ -4,8 +4,8 @@ {% block head_title %}{% trans type %} - {{ block.super }}{% endblock %} -{% block title%} - {{ type|capitalize }} +{% block title %} + {{ type|capitalize }} ({{ object_list|length }}) {% endblock %} {% block title_buttons %} @@ -15,9 +15,7 @@ {% endblock %} {% block content %} -{% with object_list as resources and type as type %}
{% include "telemeta/inc/resource_list.html" %}
-{% endwith %} {% endblock %} diff --git a/telemeta/urls.py b/telemeta/urls.py index 48fe8715..520aa078 100644 --- a/telemeta/urls.py +++ b/telemeta/urls.py @@ -37,10 +37,9 @@ from django.conf.urls.defaults import * from django.conf import settings from django.views.generic.simple import redirect_to -from telemeta.models import MediaItem, MediaCollection, MediaItemMarker, MediaCorpus, MediaFonds -from telemeta.views import HomeView, AdminView, CollectionView, ItemView, \ - InstrumentView, PlaylistView, ProfileView, GeoView, \ - LastestRevisionsFeed, ResourceView, UserRevisionsFeed +from telemeta.models import * +from telemeta.views import * + from jsonrpc import jsonrpc_site import os.path import telemeta.config @@ -172,12 +171,10 @@ urlpatterns = patterns('', # RESOURCES # Corpus list - url(r'^archives/corpus/$', 'django.views.generic.list_detail.object_list', - dict(all_corpus, paginate_by=20, template_name="telemeta/resource_list.html", extra_context={'type':'corpus'}), name="telemeta-corpus"), + url(r'^archives/corpus/$', CorpusListView.as_view(), name="telemeta-corpus"), # Fonds list - url(r'^archives/fonds/$', 'django.views.generic.list_detail.object_list', - dict(all_fonds, paginate_by=20, template_name="telemeta/resource_list.html", extra_context={'type':'fonds'}), name="telemeta-fonds"), + url(r'^archives/fonds/$', FondsListView.as_view(), name="telemeta-fonds"), # Generic resource url(r'^archives/(?P[A-Za-z0-9._-]+)/(?P[A-Za-z0-9._-]+)/$', resource_view.detail, diff --git a/telemeta/views/core.py b/telemeta/views/core.py index 2db1b785..46833dbf 100644 --- a/telemeta/views/core.py +++ b/telemeta/views/core.py @@ -54,8 +54,7 @@ from django import template from django.http import HttpResponse, HttpResponseRedirect from django.http import Http404 from django.shortcuts import render_to_response, redirect, get_object_or_404 -from django.views.generic import list_detail -from django.views.generic import DetailView +from django.views.generic import * from django.conf import settings from django.contrib import auth from django.contrib import messages diff --git a/telemeta/views/resource.py b/telemeta/views/resource.py index 6ed26120..6108b281 100644 --- a/telemeta/views/resource.py +++ b/telemeta/views/resource.py @@ -38,6 +38,34 @@ from telemeta.views.core import * +class FondsListView(ListView): + + model = MediaFonds + template_name="telemeta/resource_list.html" + + def get_queryset(self): + return MediaFonds.objects.all().order_by('code') + + def get_context_data(self, **kwargs): + context = super(FondsListView, self).get_context_data(**kwargs) + context['type'] = self.model.element_type + return context + + +class CorpusListView(ListView): + + model = MediaCorpus + template_name="telemeta/resource_list.html" + + def get_queryset(self): + return MediaCorpus.objects.all().order_by('code') + + def get_context_data(self, **kwargs): + context = super(CorpusListView, self).get_context_data(**kwargs) + context['type'] = self.model.element_type + return context + + class ResourceView(object): """Provide Resource web UI methods""" -- 2.39.5