Liste seulement 20 membres, et le reste dans une autre page
authorPA Parent <paparent@paparent.me>
Thu, 21 Jul 2011 18:22:59 +0000 (14:22 -0400)
committerPA Parent <paparent@paparent.me>
Thu, 21 Jul 2011 18:22:59 +0000 (14:22 -0400)
auf_savoirs_en_partage/chercheurs/views.py
auf_savoirs_en_partage/templates/chercheurs/groupe_membres.html [new file with mode: 0644]
auf_savoirs_en_partage/templates/chercheurs/groupe_retrieve.html
auf_savoirs_en_partage/urls.py

index 2bf4aa8..0ffb39e 100644 (file)
@@ -259,6 +259,8 @@ def groupe_adhesion(request, id):
 def groupe_retrieve(request, id):
     groupe = get_object_or_404(Groupe, id=id)
     membres = groupe.membership.all().filter(actif=True).order_by('-date_modification')
+    plus_que_20 = True if membres.count() > 20 else False
+    membres_20 = membres[:20]
     messages = groupe.message_set.all()[:5]
 
     est_chercheur, est_membre, est_membre_actif = False, False, False
@@ -274,7 +276,8 @@ def groupe_retrieve(request, id):
     return render_to_response(
         "chercheurs/groupe_retrieve.html", {
             'groupe': groupe,
-            'membres': membres,
+            'membres': membres_20,
+            'plus_que_20': plus_que_20,
             'messages': messages,
             'est_chercheur': est_chercheur,
             'est_membre': est_membre,
@@ -282,6 +285,17 @@ def groupe_retrieve(request, id):
         }, context_instance=RequestContext(request)
     )
 
+def groupe_membres(request, id):
+    groupe = get_object_or_404(Groupe, id=id)
+    membres = groupe.membership.all().filter(actif=True).order_by('chercheur__nom')
+
+    return render_to_response(
+        "chercheurs/groupe_membres.html", {
+            'groupe': groupe,
+            'membres': membres,
+        }, context_instance=RequestContext(request)
+    )
+
 def groupe_messages(request, id):
 
     groupe = get_object_or_404(Groupe, id=id)
diff --git a/auf_savoirs_en_partage/templates/chercheurs/groupe_membres.html b/auf_savoirs_en_partage/templates/chercheurs/groupe_membres.html
new file mode 100644 (file)
index 0000000..5e83f6b
--- /dev/null
@@ -0,0 +1,22 @@
+{% extends "container_base.html" %}
+{% load pagination_tags %}
+
+{% block contenu %}
+{% autopaginate membres 50 %}
+
+<h1>{{ groupe }}</h1>
+<p><a href="{% url groupe_retrieve groupe.pk %}">Retour à la page du groupe</a></p>
+
+<h2>Liste complète des membres</h2>
+{% if membres %}
+       <ul>
+       {% for membre in membres.all %}
+               <li><a href="{% url chercheurs.views.retrieve membre.chercheur.pk %}">{{ membre.chercheur.prenom }} {{ membre.chercheur.nom|upper }}</a></li>
+       {% endfor %}
+       </ul>
+       <div class="pagination">{% paginate %}</div>
+{% else %}
+<p>Aucun membre</p>
+{% endif %}
+
+{% endblock %}
index 7f29202..897f546 100644 (file)
@@ -1,8 +1,6 @@
 {% extends "container_base.html" %}
-{% load pagination_tags %}
 
 {% block contenu %}
-{% autopaginate membres 20 %}
 
 <h1>{{ groupe }}</h1>
 
 
 <div style="float:left;width:270px">
        {% if membres %}
-       <h2>Membres</h2>
-       <ul>
-               {% for membre in membres.all %}
-               <li><a href="{% url chercheurs.views.retrieve membre.chercheur.pk %}">{{ membre.chercheur.prenom }} {{ membre.chercheur.nom|upper }}</a></li>
-               {% endfor %}
-       </ul>
-       {% paginate %}
+               <h2>Membres</h2>
+               <ul>
+                       {% for membre in membres.all %}
+                       <li><a href="{% url chercheurs.views.retrieve membre.chercheur.pk %}">{{ membre.chercheur.prenom }} {{ membre.chercheur.nom|upper }}</a></li>
+                       {% endfor %}
+               </ul>
+               {% if plus_que_20 %}
+                       <a href="{% url groupe_membres groupe.pk %}">Voir tous les chercheurs de ce groupe</a>
+               {% endif %}
        {% endif %}
        <!--<h2>Recherches prédéfinies</h2>-->
 </div>
index 5d03ea9..8c91ecf 100644 (file)
@@ -107,6 +107,7 @@ urlpatterns = sep_patterns + patterns(
     (r'^groupes/$', 'chercheurs.views.groupe_index'),
     url(r'^groupes/(?P<id>\d+)/$', 'chercheurs.views.groupe_retrieve', name='groupe_retrieve'),
     url(r'^groupes/(?P<id>\d+)/adhesion/$', 'chercheurs.views.groupe_adhesion', name='groupe_adhesion'),
+    url(r'^groupes/(?P<id>\d+)/membres/$', 'chercheurs.views.groupe_membres', name='groupe_membres'),
     url(r'^groupes/(?P<id>\d+)/messages/$', 'chercheurs.views.groupe_messages', name='groupe_messages'),
 
     # section par discipline et/ou région