diff --git a/tresorerie/controle_rapide.py b/tresorerie/controle_rapide.py index 431088e7..e9dbba24 100755 --- a/tresorerie/controle_rapide.py +++ b/tresorerie/controle_rapide.py @@ -243,7 +243,8 @@ def show_list_factures(choix, dialog_interface, titre, description): def proceed_with(selected, bloc_a, bloc_b, bloc_append, new_value=None): """Traite la liste des factures sélectionnées en effectuant l'opération désirée - dessus + dessus. Cette fonction est appelée depuis la fonction retournée par l'appel à + la fonction controle bloc_a et bloc_b sont deux listes parmi (controle_ok controle_non, sans_controle), ils contiennent les états a et b qu'on veut passer à c. bloc_append reçoit les @@ -393,10 +394,14 @@ def trie_factures(ldap, args): if args.all: _recu_paiement = "(recuPaiement=*)" else: + # Si on ne veut pas toutes les factures, on utilise les éventuels paramètres, + # ou bien on les définit à des valeurs par défaut. if not args.end: args.end = crans_utils.localized_datetime() else: args.end = crans_utils.localized_datetime(str_to_gtf(args.end)) + + # Par défaut on cherche sur une année if not args.begin: args.begin = args.end.replace(year=args.end.year-1) else: @@ -410,6 +415,7 @@ def trie_factures(ldap, args): 'end': _end, } + # Factures, avec reçu aux dates voulues, avec les modes de paiement voulus filtre = u"(&(fid=*)%(recuPaiement)s%(modes)s)" if args.mode: @@ -424,9 +430,15 @@ def trie_factures(ldap, args): 'recuPaiement': _recu_paiement, } + # Un peu de kikoo pour faire patienter les gens print affichage.style(u"Chargement des factures depuis la base de données.", what=["magenta"]) + + # On utilise le filtre fraîchement généré factures = ldap.search(filterstr=filtre, mode="w", sizelimit=0) + + # Un peu de kikoo pour faire patienter les gens. _animation = affichage.Animation(texte=u"Classification des factures", nb_cycles=len(factures), couleur=True, kikoo=True) + for facture in factures: if unicode(facture.get('controle', [u''])[0]) == u"TRUE": controle_ok.append(facture) @@ -437,6 +449,7 @@ def trie_factures(ldap, args): _animation.new_step() _animation.end() + # On retourne trois listes, une avec contrôle validé, une avec contrôle invalidé, et une sans contrôle return controle_ok, controle_non, sans_controle if __name__ == '__main__': @@ -447,7 +460,7 @@ if __name__ == '__main__': PARSER.add_argument("-b", "--begin", help="Date de début, au format \"JJ/MM/AAAA HH:MM:SS\"", type=str, action="store") PARSER.add_argument("-e", "--end", help="Date de fin, au format \"JJ/MM/AAAA HH:MM:SS\"", type=str, action="store") PARSER.add_argument("-h", "--help", help="Affiche cette aide et quitte.", action="store_true") - PARSER.add_argument("-m", "--mode", help="Filtre sur le mode de paiement", type=str, action="store") + PARSER.add_argument("-m", "--mode", help="Filtre sur le mode de paiement. Séparer plusieurs modes par des virgules.", type=str, action="store") PARSER.add_argument("-t", "--tri", help="Trie les factures suivant l'aid ou le fid", type=str, action="store") ARGS = PARSER.parse_args()