Commit e79c7526 authored by Daniel STAN's avatar Daniel STAN

fin_connexion: gestion des clubs

Le mail était déjà prêt pour l'envoi, juste que … ben voilà
parent 8fa3dfc2
......@@ -36,27 +36,38 @@ FORMAT_LDAP = '%Y%m%d%H%M%S%z'
#: Infos à oublier dans un datetime pour ne garder que le jour
ERASE_DAY = {'second': 0, 'minute': 0, 'microsecond': 0, 'hour': 0, }
#: filtre ldap max(finConnexion) \in intervalle
# NB: finConnexion est un attribut ldap multivalué, et on s'intéresse ici
#: filtre ldap max(finAdhesion) \in intervalle
# NB: finAdhesion est un attribut ldap multivalué, et on s'intéresse ici
# à sa valeur max pour un adhérent.
# Les filtres ldap recherchent, de manière existentielle, une valeur valide.
# Ainsi, en notant F l'ensemble des valeurs :
# max(F) >= v <=> \exists x\in F x>= v <=> finConnexion>=v
# max(F) >= v <=> \exists x\in F x>= v <=> finAdhesion>=v
# L'autre inégalité ( < ) est plus délicate :
# max(F) < v <=> \forall x\in F x < v <=> \not( \exists x\in F x >= v )
# <=> \not( finConnexion>= v )
FILTRE_TPL_SIMPLE = u'(&(finConnexion>=%(debut)s)(!(finConnexion>=%(fin)s)))'
# <=> \not( finAdhesion>= v )
FILTRE_TPL_CLUB = u"""(&
(finAdhesion>=%(debut)s)
(!(finAdhesion>=%(fin)s))
)"""
# Le cas précédent était simplifié, en réalité, la connexion s'achève dès que
# l'adhésion se termine.
# Le cas précédent était simplifié, en réalité, pour un adhérent,
# la connexion s'achève dès que
# l'adhésion *ou* la connexion se termine (pour un adhérent).
# On regarde donc min(max(finConnexion), max(finAdhesion))
# min(a,b) >= v <=> a >= v /\ b >= v
# min(a,b) < v <=> a < v \/ b < v
FILTRE_TPL = u"""(&
FILTRE_TPL_ADH = u"""(&
(&(finConnexion>=%(debut)s)(finAdhesion>=%(debut)s))
(|(!(finConnexion>=%(fin)s))(!(finAdhesion>=%(fin)s)))
)"""
# Le filtre global lance le bon sous-filtre (adh ou club)
FILTRE_TPL = u"""(|
(&(finConnexion=*)%s)
(&(!(finConnexion=*))%s)
)""" % (FILTRE_TPL_ADH, FILTRE_TPL_CLUB)
# Calcul de la timezone locale
#try:
# with open('/etc/timezone', 'r') as f:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment