Compare commits

..

2 Commits

Author SHA1 Message Date
Jason SECULA
ccece73f92 Fix MAJ GLPI magenta link 2026-02-17 11:25:04 +01:00
Jason SECULA
e01bae2243 Correction bug filtre de recherche, ajout macOS dans les types d'appareil 2026-02-05 16:38:35 +01:00
2 changed files with 34 additions and 11 deletions

View File

@@ -112,20 +112,41 @@ class GLPIAPI:
return requests.put(uri, headers=self.Headers, json=body)
def UpdateAirwatchLink(self, deviceid, airwatchlink):
uri = f"{self.Server}/apirest.php/PluginFieldsComputermdt"
searchURI = f"{self.Server}/apirest.php/PluginFieldsComputermdt?range=0-999999999"
result = requests.get(searchURI, headers=self.Headers)
if(result.status_code == 200):
result = result.json()
fieldItem = None
# searching for field item
for entry in result:
if str(entry["items_id"]) == deviceid:
fieldItem = entry
if(fieldItem == None):
body = {
"input": {
"id": deviceid,
"items_id": deviceid,
"itemtype": "Computer",
"plugin_fields_containers_id": 4,
"appareilsurmagentafield": airwatchlink
}
}
return requests.post(uri, headers=self.Headers, json=body)
else:
body = {
"input": {
"id": fieldItem["id"],
"appareilsurmagentafield": airwatchlink
}
}
uri = f"{self.Server}/apirest.php/Computer/"
return requests.put(uri, headers=self.Headers, json=body)
def CreateInventoryForAirwatchDevice(self, device, deviceName, apps=None):
platforms = {
2:"Apple iOS",
5:"Android",
10:"Apple macOS",
12:"Windows"
}

View File

@@ -196,7 +196,7 @@ if(searchFilter != None):
if(searchFilter == 'Id'):
devices = [device for device in devices if getattr(device, "Id") == searchValue]
else:
devices = [device for device in devices if getattr(device, "searchFilter") == searchValue]
devices = [device for device in devices if getattr(device, searchFilter) == searchValue]
for device in devices:
if(device.EnrollmentStatus != 'Enrolled'):
@@ -226,6 +226,7 @@ for device in devices:
inventory = glpiapi.CreateInventoryForAirwatchDevice(device, data["1"], apps)
# Mise à jour du friendly name sur Airwatch
print(device.PlatformId)
platformName = inventory.operatingsystem["name"]
osVersion = inventory.operatingsystem["version"]
if(device.FriendlyName != f"{data['1']} {platformName} {osVersion} - {device.User}"):
@@ -247,6 +248,7 @@ for device in devices:
logger.info(f"Updating {deviceID} on GLPI")
glpiapi.UpdateInventory(inventory.Json())
print(f"{data['70']} - {device.User}")
if(data['70'] == None and device.User != settings["AIRWATCH"]["StagingUser"]):
userID, userData, userCount = glpiapi.GetUser(device.User)
if(userCount == 1):