Selection des chercheurs pour rappel
authorPA Parent <paparent@paparent.me>
Tue, 11 Oct 2011 13:22:36 +0000 (09:22 -0400)
committerPA Parent <paparent@paparent.me>
Tue, 11 Oct 2011 13:22:36 +0000 (09:22 -0400)
auf_savoirs_en_partage/rappels/admin.py [new file with mode: 0644]
auf_savoirs_en_partage/rappels/models.py
auf_savoirs_en_partage/templates/admin/rappels/chercheurrappel/change_list.html [new file with mode: 0644]
auf_savoirs_en_partage/templates/admin/rappels/rappels.html

diff --git a/auf_savoirs_en_partage/rappels/admin.py b/auf_savoirs_en_partage/rappels/admin.py
new file mode 100644 (file)
index 0000000..566f527
--- /dev/null
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+
+from django.contrib import admin
+
+from chercheurs.admin import ChercheurAdmin
+from rappels.models import ChercheurRappel
+
+
+class ChercheurRappelAdmin(ChercheurAdmin):
+    list_display = ['__unicode__', 'last_login']
+
+    list_editable = []
+    fields = ['salutation', 'nom', 'prenom', 'courriel', 'afficher_courriel',
+              'fonction', 'date_naissance', 'sousfonction', 'telephone',
+              'adresse_postale', 'genre', 'commentaire',
+              'nationalite', 'statut', 'diplome', 'etablissement',
+              'etablissement_autre_nom', 'etablissement_autre_pays',
+              'attestation', 'thematique', 'mots_cles', 'discipline',
+              'theme_recherche', 'equipe_recherche', 'url_site_web',
+              'url_blog', 'url_reseau_social',
+              'membre_instance_auf', 'membre_instance_auf_nom',
+              'membre_instance_auf_fonction', 'membre_instance_auf_dates',
+              'expert_oif', 'expert_oif_details', 'expert_oif_dates',
+              'membre_association_francophone', 'membre_association_francophone_details',
+              'membre_reseau_institutionnel', 'membre_reseau_institutionnel_nom',
+              'membre_reseau_institutionnel_fonction', 'membre_reseau_institutionnel_dates',
+              'expertises_auf']
+
+    def __init__(self, model, admin_site):
+        super(ChercheurRappelAdmin, self).__init__(model, admin_site)
+        self.readonly_fields = self.fields
+
+    def queryset(self, request):
+        return ChercheurRappel.objects
+
+
+admin.site.register(ChercheurRappel, ChercheurRappelAdmin)
index fa4424e..8d38c11 100644 (file)
@@ -1,9 +1,12 @@
 # -*- coding: utf-8 -*-
 
-from django.db import models
+import datetime
 
+from django.db import models
 from django.contrib.auth.models import User
 
+from chercheurs.models import Chercheur
+
 
 class Rappel(models.Model):
     date_creation = models.DateTimeField("date de création", auto_now_add=True)
@@ -29,3 +32,22 @@ class RappelUser(models.Model):
         super(RappelUser, self).save(*args, **kwargs)
 
         # Envoi du courriel...
+
+
+class ChercheurRappelManager(models.Manager):
+    def get_query_set(self):
+        last_year = datetime.datetime.today() - datetime.timedelta(days=365)
+        return super(ChercheurRappelManager, self).get_query_set().filter(user__is_active=True).filter(user__last_login__lt=last_year)
+
+
+class ChercheurRappel(Chercheur):
+
+    objects = ChercheurRappelManager()
+
+    class Meta:
+        proxy = True
+        verbose_name = 'chercheur (rappel)'
+        verbose_name_plural = 'chercheur (rappel)'
+
+    def last_login(self):
+        return self.user.last_login
diff --git a/auf_savoirs_en_partage/templates/admin/rappels/chercheurrappel/change_list.html b/auf_savoirs_en_partage/templates/admin/rappels/chercheurrappel/change_list.html
new file mode 100644 (file)
index 0000000..96cd113
--- /dev/null
@@ -0,0 +1,21 @@
+{% extends "alphafilter/change_list.html" %}
+{% load i18n chercheurs_admin %}
+
+{% block extrastyle %}
+{{ block.super }}
+<style type="text/css" media="screen">
+ul.alphabetfilter li.first,.change-list ul.alphabetfilter li.first{width:2em!important;}
+</style>
+{% endblock %}
+
+{% block content_title %}<h1>Sélectionnez les chercheurs destinataires du rappel</h1>{% endblock %}
+{% block object-tools %}{% endblock %}
+
+{% block filters %}
+<div id="changelist-filter">
+    <h2>{% trans 'Filter' %}</h2>
+    {% filter_groupe_chercheurs %}
+    {% filter_domaine_recherche %}
+</div>
+{% endblock %}
+
index f39086c..32ffff1 100644 (file)
@@ -22,4 +22,6 @@ Nombre de chercheurs connecté depuis un an: {{ num_chercheurs_lastlog_thisyear
 {% endfor %}
 </table>
 
+<p><a href="{% url admin:rappels_chercheurrappel_changelist %}" class="button">Envoyer un rappel</a></p>
+
 {% endblock %}