Special case 'Service du Greffier'

This commit is contained in:
Frédéric Péters 2009-11-03 10:37:08 +01:00
parent 627ed9c9de
commit c26686f310
2 changed files with 12 additions and 8 deletions

View File

@ -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:

View File

@ -56,7 +56,7 @@
<div tal:condition="python: not(not(service))">
<h2 tal:content="python: service">service name</h2>
<ul>
<li tal:repeat="entry python: context.getServiceManagers(service)">
<li tal:repeat="entry python: [context.getServiceManager(service)]">
<span tal:replace="entry/givenName">givenName</span>
<span tal:replace="entry/sn">sn</span>
</li>