Mise en place de filtre avec initiale
[auf_savoirs_en_partage_django.git] / auf_savoirs_en_partage / chercheurs / admin.py
index 6635881..7f3d5b5 100644 (file)
@@ -12,14 +12,17 @@ from chercheurs.models import Chercheur, Publication, Groupe, ChercheurGroupe, C
 
 class ChercheurAdmin(admin.ModelAdmin):
     list_filter = ['genre']
-    list_per_page = 9999
+    alphabet_filter = 'nom'
+    alphabet_filter_table = 'chercheurs_personne'
+    DEFAULT_ALPHABET = ''
+
     actions = ('remove_from_group', 'export_as_ods', 'export_as_csv')
     search_fields = ('nom', 'prenom')
 
     def lookup_allowed(self, lookup, value):
         return lookup in ['genre', 'statut', 'membre_reseau_institutionnel', 
                           'membre_instance_auf', 'discipline', 'region', 'pays', 
-                          'groupes', 'nord_sud', 'initial'] or \
+                          'groupes', 'nord_sud'] or \
                admin.ModelAdmin.lookup_allowed(self, lookup, value)
 
     def remove_from_group(self, request, queryset):
@@ -53,14 +56,6 @@ class ChercheurAdmin(admin.ModelAdmin):
         except Chercheur.DoesNotExist:
             return None
 
-    def changelist_view(self, request, extra_context=None):
-        initials = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-        current_initial = request.GET.get('initial', 'A')
-        return super(ChercheurAdmin, self).changelist_view(request, extra_context={
-            'initials': initials,
-            'current_initial': current_initial
-        })
-
     def export(self, queryset, type):
         if queryset.count() == 0:
             return None
@@ -147,8 +142,7 @@ class ChercheurAdminQuerySet(ChercheurQuerySet):
         region = kwargs.pop('region', None)
         nord_sud = kwargs.pop('nord_sud', None)
         expert = kwargs.pop('expert', None)
-        initial = kwargs.pop('initial', 'A')
-        qs = super(ChercheurAdminQuerySet, self).filter(nom__istartswith=initial)
+        qs = self
         if pays is not None:
             qs = qs.filter(Q(etablissement__pays=pays) | 
                            (Q(etablissement=None) & Q(etablissement_autre_pays=pays)))