From afc8b9b1f40f9dbbfe322f3ffe7d13b3e47f2646 Mon Sep 17 00:00:00 2001 From: PA Parent Date: Tue, 11 Oct 2011 09:22:36 -0400 Subject: [PATCH] Selection des chercheurs pour rappel --- auf_savoirs_en_partage/rappels/admin.py | 37 ++++++++++++++++++++ auf_savoirs_en_partage/rappels/models.py | 24 ++++++++++++- .../admin/rappels/chercheurrappel/change_list.html | 21 +++++++++++ .../templates/admin/rappels/rappels.html | 2 ++ 4 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 auf_savoirs_en_partage/rappels/admin.py create mode 100644 auf_savoirs_en_partage/templates/admin/rappels/chercheurrappel/change_list.html diff --git a/auf_savoirs_en_partage/rappels/admin.py b/auf_savoirs_en_partage/rappels/admin.py new file mode 100644 index 0000000..566f527 --- /dev/null +++ b/auf_savoirs_en_partage/rappels/admin.py @@ -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) diff --git a/auf_savoirs_en_partage/rappels/models.py b/auf_savoirs_en_partage/rappels/models.py index fa4424e..8d38c11 100644 --- a/auf_savoirs_en_partage/rappels/models.py +++ b/auf_savoirs_en_partage/rappels/models.py @@ -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 index 0000000..96cd113 --- /dev/null +++ b/auf_savoirs_en_partage/templates/admin/rappels/chercheurrappel/change_list.html @@ -0,0 +1,21 @@ +{% extends "alphafilter/change_list.html" %} +{% load i18n chercheurs_admin %} + +{% block extrastyle %} +{{ block.super }} + +{% endblock %} + +{% block content_title %}

Sélectionnez les chercheurs destinataires du rappel

{% endblock %} +{% block object-tools %}{% endblock %} + +{% block filters %} +
+

{% trans 'Filter' %}

+ {% filter_groupe_chercheurs %} + {% filter_domaine_recherche %} +
+{% endblock %} + diff --git a/auf_savoirs_en_partage/templates/admin/rappels/rappels.html b/auf_savoirs_en_partage/templates/admin/rappels/rappels.html index f39086c..32ffff1 100644 --- a/auf_savoirs_en_partage/templates/admin/rappels/rappels.html +++ b/auf_savoirs_en_partage/templates/admin/rappels/rappels.html @@ -22,4 +22,6 @@ Nombre de chercheurs connecté depuis un an: {{ num_chercheurs_lastlog_thisyear {% endfor %} +

Envoyer un rappel

+ {% endblock %} -- 1.7.10.4