Export iTop: sync responsable serveur et responsable domaine
This commit is contained in:
parent
d8a526368e
commit
6683813743
@ -362,9 +362,16 @@ def sync_to_itop(db, itop_url, itop_user, itop_pass):
|
||||
"stock": "stock", "en_cours": "implementation"}
|
||||
tier_map = {"tier0": "Tier 0", "tier1": "Tier 1", "tier2": "Tier 2", "tier3": "Tier 3"}
|
||||
|
||||
# Build Person name → itop_id lookup for responsable sync
|
||||
itop_persons = {}
|
||||
for p in client.get_all("Person", "name,first_name"):
|
||||
fullname = f"{p.get('first_name','')} {p.get('name','')}".strip()
|
||||
itop_persons[fullname.lower()] = p["itop_id"]
|
||||
|
||||
rows = db.execute(text("""SELECT hostname, fqdn, os_version, etat, commentaire, tier,
|
||||
ssh_method, ssh_user, patch_frequency, patch_excludes, domain_ltd,
|
||||
pref_patch_jour, pref_patch_heure FROM servers WHERE machine_type='vm'""")).fetchall()
|
||||
pref_patch_jour, pref_patch_heure, responsable_nom, referent_nom
|
||||
FROM servers WHERE machine_type='vm'""")).fetchall()
|
||||
|
||||
for srv in rows:
|
||||
hostname = (srv.hostname or "").lower()
|
||||
@ -392,6 +399,16 @@ def sync_to_itop(db, itop_url, itop_user, itop_pass):
|
||||
fields["patch_window"] = srv.pref_patch_heure
|
||||
if srv.domain_ltd:
|
||||
fields["domain_ldap_id"] = f"SELECT DomainLdap WHERE name = '{srv.domain_ltd}'"
|
||||
# Responsable serveur
|
||||
if srv.responsable_nom:
|
||||
pid = itop_persons.get(srv.responsable_nom.lower())
|
||||
if pid:
|
||||
fields["responsable_serveur_id"] = pid
|
||||
# Responsable domaine
|
||||
if srv.referent_nom:
|
||||
pid = itop_persons.get(srv.referent_nom.lower())
|
||||
if pid:
|
||||
fields["responsable_domaine_id"] = pid
|
||||
|
||||
if itop_vm:
|
||||
if fields:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user