Passage de menage cableur à lc_ldap

This commit is contained in:
Gabriel Detraz 2015-08-18 12:28:20 +02:00
parent 94ee83b86a
commit c34ebc5177

View file

@ -1,9 +1,8 @@
#! /usr/bin/env python #!/bin/bash /usr/scripts/python.sh
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import sys
# Copyright (C) Stéphane Glondu, Alexandre Bos # Copyright (C) Stéphane Glondu, Alexandre Bos, et autres
# Licence : GPLv2 # Licence : GPLv2
__doc__ = u"""Ce script permet de faire le menages parmis les câbleurs qui ne __doc__ = u"""Ce script permet de faire le menages parmis les câbleurs qui ne
@ -21,16 +20,14 @@ Les commandes sont :
import sys, os, re import sys, os, re
sys.path.append('/usr/scripts/gestion') import gestion.config
import config
from email_tools import send_email, parse_mail_template
# Fonctions d'affichage # Fonctions d'affichage
from affich_tools import coul, tableau, prompt, cprint from gestion.affich_tools import coul, tableau, prompt, cprint
# Importation de la base de données # Importation de la base de données
from ldap_crans import crans_ldap, ann_scol from lc_ldap import shortcuts
db = crans_ldap() ldap = shortcuts.lc_ldap_admin()
def _controle_interactif_adherents(liste): def _controle_interactif_adherents(liste):
""" """
@ -50,26 +47,28 @@ def _controle_interactif_adherents(liste):
nb = 0 nb = 0
for a in liste: for a in liste:
ok = prompt(u'[%3d] %s, %s (%s) ?' ok = prompt(u'[%3d] %s, %s (%s) ?'
% (restant, a.nom(), a.prenom(), a.id()), 'n', '').lower() % (restant, a['nom'][0], a['prenom'][0], a['aid'][0]), 'n', '').lower()
restant -= 1 restant -= 1
if ok == 'o': if ok == 'o':
modifiable = db.search('aid=%s' % a.id(), 'w')['adherent'][0] modifiable = ldap.search(u'aid=%s' % a['aid'][0], mode='rw')[0]
if modifiable._modifiable: try:
modifiable.droits([]) with modifiable as adh:
cprint(modifiable.save()) adh['droits'].remove(u'Cableur')
else: adh.history_gen()
cprint(u'Adhérent %s locké, réessayer plus tard' % modifiable.Nom(), 'rouge') adh.save()
cprint(u'Droits cableurs retirés', 'rouge')
except:
cprint(u'Adhérent %s locké, réessayer plus tard' % modifiable['nom'][0], 'rouge')
elif ok != 'n': elif ok != 'n':
cprint(u'Arrêt du contrôle %s des membres actifs' % explicite, 'rouge') cprint(u'Arrêt du contrôle %s des membres actifs' % explicite, 'rouge')
break break
def candidats(): def candidats():
todo_list1 = db.search('droits=*')['adherent'] todo_list1 = ldap.search(u'droits=cableur')
todo_list = [] todo_list = []
for adh in todo_list1: for adh in todo_list1:
if adh.droitsGeles(): if not adh.paiement_ok():
todo_list.append(adh) todo_list.append(adh)
todo_list.sort(lambda x, y: cmp((x.nom(), x.prenom()), (y.nom(), y.prenom())))
return todo_list return todo_list
def lister(): def lister():
@ -80,7 +79,7 @@ def lister():
print "Liste des câbleur dont la cotisation n'est pas à jour." print "Liste des câbleur dont la cotisation n'est pas à jour."
print print
for adh in todo_list: for adh in todo_list:
print adh.prenom() + " " + adh.nom() print unicode(adh['prenom'][0]) + u" " + unicode(adh['nom'][0])
print print
print "total : " + str(len(todo_list)) print "total : " + str(len(todo_list))