From c26686f310314c1ac1b8ea23f0577f0a9b6c8f29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Tue, 3 Nov 2009 10:37:08 +0100 Subject: [PATCH] Special case 'Service du Greffier' --- PcfAnnuaire.py | 18 +++++++++++------- skins/pcfannuaire/pcfannuaire_view.pt | 2 +- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/PcfAnnuaire.py b/PcfAnnuaire.py index 913c84e..9802b38 100644 --- a/PcfAnnuaire.py +++ b/PcfAnnuaire.py @@ -125,20 +125,24 @@ class PcfAnnuaire(BaseContent): services = sorted(services.keys()) return services - def getServiceManagers(self, service): + def getServiceManager(self, service): sec_gen = self.getSecretaireGeneral() - entries = [x for x in self.getEntries() if x.service == service and x.manager == sec_gen.dn] - return sorted(entries, key=get_sn) + if service == 'Service du Greffier': + return sec_gen + try: + return [x for x in self.getEntries() if x.service == service and x.manager == sec_gen.dn][0] + except KeyError: + return None def getServiceNonManagers(self, service): - service_managers = [x.dn for x in self.getServiceManagers(service)] + service_manager = self.getServiceManager(service) entries = [x for x in self.getEntries() if \ - x.service == service and x.manager in service_managers and not x.division] + x.service == service and x.manager == service_manager.dn and not x.division] return sorted(entries, key=get_sn) def getCellules(self, service): - service_managers = [x.dn for x in self.getServiceManagers(service)] - entries = [x for x in self.getEntries() if x.manager in service_managers] + service_manager = self.getServiceManager(service) + entries = [x for x in self.getEntries() if x.manager == service_manager.dn] cells = {} for entry in entries: if entry.division: diff --git a/skins/pcfannuaire/pcfannuaire_view.pt b/skins/pcfannuaire/pcfannuaire_view.pt index 38baf5d..5a5c309 100644 --- a/skins/pcfannuaire/pcfannuaire_view.pt +++ b/skins/pcfannuaire/pcfannuaire_view.pt @@ -56,7 +56,7 @@

service name