auf-annuaire : ajout infos posix et vacations
authorProgfou <jean-christophe.andre@auf.org>
Sun, 12 Aug 2012 22:25:02 +0000 (05:25 +0700)
committerProgfou <jean-christophe.andre@auf.org>
Sun, 12 Aug 2012 22:25:02 +0000 (05:25 +0700)
auf-annuaire

index 544baff..a83c473 100755 (executable)
@@ -110,7 +110,11 @@ class AnnuaireAuF(object):
         adel = json_dict['adel']
         user, domain = adel.rsplit('@', 1)
         cn = user.title().replace('-De-', '-de-').replace('.', ' ')
-        prenom, nom = cn.rsplit(' ', 1)
+        if user.count('.') == 1:
+            prenom, nom = cn.rsplit(' ', 1)
+        else:
+            # cas des noms vietnamiens
+            nom, prenom = cn.rsplit(' ', 1)
         login = json_dict['login']
         nom_affichage = json_dict['nom'] and json_dict['nom'] or cn
 
@@ -149,6 +153,14 @@ class AnnuaireAuF(object):
             ldap_dict['gidNumber'] = [ str(100) ]
             ldap_dict['homeDirectory'] = [ '/home/auf/%s' % user ]
             ldap_dict['loginShell'] = [ '/bin/false' ]
+        # message d'absence
+        if json_dict['vacation']:
+            ldap_dict['description'] = [ json_dict['vacation']['message'] ]
+            debut = json_dict['vacation']['debut']
+            debut = '%s/%s/%s' % (debut[8:10], debut[5:7], debut[0:4])
+            fin = json_dict['vacation']['fin']
+            fin = '%s/%s/%s' % (fin[8:10], fin[5:7], fin[0:4])
+            ldap_dict['l'] = [ u'Absence du %s au %s' % (debut, fin) ]
         # identification unique
         ldap_dn = u'mail=%s,%s' % (adel, self.ldap_base)
         return ldap_dn, ldap_dict
@@ -157,11 +169,17 @@ class AnnuaireAuF(object):
         self.data = [ ]
         employes = aufrefer.get('datamaster-employe.json')
         employes = dict([(e['courriel'],e) for e in employes if e['courriel']])
+        vacation = aufrefer.get('vacation.json')
+        vacation = dict([(v['adel'],v) for v in vacation if v['adel']])
         for json_dict in aufrefer.get('annuaire.json'):
             try:
                 json_dict['employe'] = employes[json_dict['adel']]
             except:
                 json_dict['employe'] = None
+            try:
+                json_dict['vacation'] = vacation[json_dict['adel']]
+            except:
+                json_dict['vacation'] = None
             ldap_dn, ldap_dict = self.json2ldap(json_dict)
             self.data.append(LdapEntry(ldap_dn, ldap_dict))