From 5c3045d5cbb404dba59f53a83a0edb0d681ba7c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Elliott=20B=C3=A9cue?= Date: Wed, 15 Jul 2015 09:09:17 -0600 Subject: [PATCH] On jette tout ce qui concerne paiement (adh glissantes en place depuis plus d'un an) --- gestion/ldap_crans.py | 48 ++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 4c959cd6..35962406 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -988,6 +988,24 @@ class CransLdap: class BaseClasseCrans(CransLdap): """ Méthodes de base des classes machines, et BaseProprietaire """ + def proprietaire(self): + return None + + def carteEtudiant(self, action=None): + return False + + def adhesion(self, update=False, f=None): + return 0.0 + + def connexion(self, update=False, f=None): + return 0.0 + + def sursis_carte(self): + return False + + def chbre(self, new=None): + return "????" + def __eq__(self, autre): """ Test d'égalité de deux instances de club/adhérent/machine, retourne True s'il s'agit du même club/adhérent/machine, False sinon """ @@ -1043,7 +1061,8 @@ class BaseClasseCrans(CransLdap): # Il faut aussi regarder la blackliste du propriétaire p = self.proprietaire() bl_liste += p.blacklist() - elif isinstance(self, Adherent) and (config.ann_scol in self.paiement() or (self.adhesion() > time.time() and self.connexion() > time.time())): + + elif isinstance(self, Adherent) and (self.adhesion() > time.time() and self.connexion() > time.time()): # blacklistes virtuelle si on est un adhérent pour carte étudiant et chambre invalides if not config.periode_transitoire and config.bl_carte_et_actif and not bool(self.carteEtudiant()) and not self.sursis_carte(): actifs['carte_etudiant']=('-','-') @@ -1920,14 +1939,6 @@ class BaseProprietaire(BaseClasseCrans): self._set('uidNumber', [new]) return new - def paiement(self, action=None): - """ - Action est un entier représentant une année - si positif ajoute l'année à la liste - si négatif le supprime - """ - return self._an('paiement', action) - def sursis_carte(self): if not config.bl_carte_et_actif: return True @@ -1942,7 +1953,7 @@ class BaseProprietaire(BaseClasseCrans): m_paiement = min(self.adhesion(), self.connexion()) else: m_paiement = self.adhesion() - if config.ann_scol in self.paiement() or (config.periode_transitoire and (config.ann_scol-1) in self.paiement()) or (m_paiement > time.time()) or (config.periode_transitoire and config.debut_periode_transitoire <= m_paiement <= config.fin_periode_transitoire): + if (m_paiement > time.time()) or (config.periode_transitoire and config.debut_periode_transitoire <= m_paiement <= config.fin_periode_transitoire): if config.periode_transitoire or not isinstance(self, Adherent) or not config.bl_carte_et_definitif or bool(self.carteEtudiant()): return True else: @@ -1950,7 +1961,6 @@ class BaseProprietaire(BaseClasseCrans): else: return False - def delete(self, comment=''): """Destruction du propriétaire""" @@ -2688,7 +2698,7 @@ class Adherent(BaseProprietaire): if config.bl_vieux_cableurs: l = self.droits() if l != []: - if config.ann_scol not in self.paiement(): + if not self.paiement_ok(): reponse = True for d in droits_vieux: if d in l: @@ -2789,7 +2799,7 @@ class Club(BaseProprietaire): return strip_accents(self.Nom()) def carteEtudiant(self, pd=None): - return [ config.ann_scol ] + return True def responsable(self, adher=None): """ Responsable du club, adher doit être une instance de la classe adhérent """ @@ -4260,8 +4270,10 @@ class _FakeProprio(CransLdap): if not self.conn: self.connect() self.dn = self.base_dn + def id(self): return '' + def blacklist(self, new=None): if new is not None: print >>sys.stderr, "Tentative d'ajout de blacklist à un propriétaire virtuel :" @@ -4273,22 +4285,26 @@ class _FakeProprio(CransLdap): print >>sys.stderr, new raise ValueError("Impossible de blacklister %r" % str(self)) return [] - def paiement(self): - return [ config.ann_scol ] + def carteEtudiant(self): - return [ config.ann_scol ] + return True + def blacklist_actif(self): return [] + def mail(self, new=None): return 'roots@crans.org' + def machines(self): res = self.conn.search_s(self.dn, 1, Machine.filtre_idn) m = [] for r in res: m.append(self.make(r)) return m + def adhesion(self): return time.time() + 86400 + def connexion(self): return time.time() + 86400