Adhésion: Séparation des Domaines de recherche et groupes de chercheurs
authorPA Parent <paparent@paparent.me>
Tue, 2 Aug 2011 21:16:51 +0000 (17:16 -0400)
committerPA Parent <paparent@paparent.me>
Tue, 2 Aug 2011 21:16:51 +0000 (17:16 -0400)
auf_savoirs_en_partage/chercheurs/models.py
auf_savoirs_en_partage/chercheurs/templatetags/adhesion_admin.py [new file with mode: 0644]
auf_savoirs_en_partage/templates/admin/chercheurs/chercheurgroupe/change_list.html

index 725b4dd..d1e4f01 100644 (file)
@@ -449,15 +449,15 @@ class DomaineRecherche(Groupe):
         self.groupe_chercheur = False
         super(DomaineRecherche, self).save(*args, **kwargs)
 
-class ChercheurGroupe(models.Model):
-    CG_STATUT_CHOICES = (
-        ('nouveau', 'Nouveau'),
-        ('refuse', 'Refusé'),
-        ('accepte', 'Accepté'),
-        ('resilie', 'Résilié'),
-        ('exclus', 'Exclus'),
-    )
+CG_STATUT_CHOICES = (
+    ('nouveau', 'Nouveau'),
+    ('refuse', 'Refusé'),
+    ('accepte', 'Accepté'),
+    ('resilie', 'Résilié'),
+    ('exclus', 'Exclus'),
+)
 
+class ChercheurGroupe(models.Model):
     id = models.AutoField(primary_key=True, db_column='id')
     chercheur = models.ForeignKey('Chercheur', db_column='chercheur')
     groupe = models.ForeignKey('Groupe', db_column='groupe', related_name="membership")
diff --git a/auf_savoirs_en_partage/chercheurs/templatetags/adhesion_admin.py b/auf_savoirs_en_partage/chercheurs/templatetags/adhesion_admin.py
new file mode 100644 (file)
index 0000000..5bca071
--- /dev/null
@@ -0,0 +1,24 @@
+# coding: utf-8
+
+from django import template
+
+from chercheurs.models import GroupeChercheur, DomaineRecherche, CG_STATUT_CHOICES
+from chercheurs.templatetags.chercheurs_admin import prepare_choices
+
+register = template.Library()
+
+@register.inclusion_tag('admin/filter.html', takes_context=True)
+def filter_statut(context):
+    return {'title': 'statut',
+            'choices': prepare_choices(CG_STATUT_CHOICES, 'statut', context)}
+
+@register.inclusion_tag('admin/filter.html', takes_context=True)
+def filter_groupe_chercheurs(context):
+    return {'title': u"groupe de chercheurs",
+            'choices': prepare_choices(GroupeChercheur.objects.values_list('id', 'nom'), 'groupe', context)}
+
+@register.inclusion_tag('admin/filter.html', takes_context=True)
+def filter_domaine_recherche(context):
+    return {'title': u"domaine de recherche",
+            'choices': prepare_choices(DomaineRecherche.objects.values_list('id', 'nom'), 'groupe', context)}
+
index 1974174..c20eb17 100644 (file)
@@ -1 +1,12 @@
 {% extends "alphafilter/change_list.html" %}
+{% load i18n admin_list adhesion_admin %}
+
+{% block filters %}
+<div id="changelist-filter">
+    <h2>{% trans 'Filter' %}</h2>
+    {% filter_statut %}
+    {% filter_groupe_chercheurs %}
+    {% filter_domaine_recherche %}
+</div>
+{% endblock %}
+