--- /dev/null
+# -*- 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)
# -*- 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)
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
--- /dev/null
+{% 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 %}
+