Sercice home à jour.

This commit is contained in:
Pierre-Elliott Bécue 2015-03-07 01:07:55 +01:00
parent 54510faa56
commit 519293602b

View file

@ -79,7 +79,8 @@ def services_to_args_dns(x):
return [] return []
# Trouver comment faire le cas où on ajoute une redirection mail (il faut alors retourner un quadruplet "homedir,uidNumber,uid,mail") # Trouver comment faire le cas où on ajoute une redirection mail (il faut alors retourner un quadruplet "homedir,uidNumber,uid,mail")
def services_to_args_home(x): def services_to_args_home(old, new):
x = new['objectclass'][0]
if isinstance(x, attributs.Attr): if isinstance(x, attributs.Attr):
proprio=x.parent proprio=x.parent
elif isinstance(x, objets.proprio): elif isinstance(x, objets.proprio):
@ -87,7 +88,7 @@ def services_to_args_home(x):
else: else:
return [] return []
if u'cransAccount' in [ str(o) for o in proprio['objectClass']]: if u'cransAccount' in [ str(o) for o in proprio['objectClass']]:
return [ "%s,%s,%s" % (proprio['homeDirectory'][0],proprio['uidNumber'][0],proprio['uid'][0]) ] return [ "%s,%s,%s" % (proprio['uid'][0], old.get('uid', [''])[0], old.get('homeDirectory', [''])[0]) ]
else: else:
return [] return []
@ -315,12 +316,13 @@ def services_to_restart(conn, old_attrs={}, new_attrs={}, created_object=[], del
update_now() update_now()
added_objectClass = [obc for obc in new_attrs.get("objectClass", []) if not obc in old_attrs.get("objectClass", [])] added_objectClass = [obc for obc in new_attrs.get("objectClass", []) if not obc in old_attrs.get("objectClass", [])]
updated_objectClass = [obc for obc in new_attrs.get("objectClass", []) if obc in old_attrs.get("objectClass", [])]
deleted_objectClass = [obc for obc in old_attrs.get("objectClass", []) if not obc in new_attrs.get("objectClass", [])] deleted_objectClass = [obc for obc in old_attrs.get("objectClass", []) if not obc in new_attrs.get("objectClass", [])]
# Je met la reconfiguration du home / del_user à la main pour la création/suppression d'un compte crans # Je met la reconfiguration du home / del_user à la main pour la création/suppression d'un compte crans
# parce que que je vois pas vraiement comment faire autrement # parce que que je vois pas vraiement comment faire autrement
if 'cransAccount' in added_objectClass: if 'cransAccount' in added_objectClass + updated_objectClass:
arg = services_to_args['home'](added_objectClass[0]) arg = services_to_args['home'](old_attrs, new_attrs)
service_to_restart(conn, "home", list(arg), 0) service_to_restart(conn, "home", list(arg), 0)
if 'cransAccount' in deleted_objectClass: if 'cransAccount' in deleted_objectClass: