Hi, when I force synchronization of a computer, if software there are one version, the software is deleted and recreated again and all information about this software is lost, doesn't matter if the software was licenses, attributes, etc
$query3 = "SELECT COUNT(*)
FROM `glpi_softwareversions`
WHERE `softwares_id`= " . $vers->fields['softwares_id'];
$result3 = $DB->query($query3);
if ($DB->result($result3, 0, 0) == 1) {
$soft = new Software();
$soft->delete(['id' => $vers->fields['softwares_id'],
'_no_history' => !$uninstall_history],
true,
$uninstall_history);
}
maybe check if software have attributes like category changed
$query3 = "SELECT glpi.glpi_softwares.softwarecategories_id
FROM `glpi_softwareversions`
INNER JOIN glpi.glpi_softwares ON (glpi_softwareversions.softwares_id = glpi_softwares.id )
WHERE glpi_softwareversions.`softwares_id`='{$vers->fields['softwares_id']}'
LIMIT 1";
$result3 = $DB->query($query3);
if ($DB->result($result3, 0, 0) == 0) {
$soft = new Software();
$soft->delete(['id' => $vers->fields['softwares_id'],
'_no_history' => !$uninstall_history],
true,
$uninstall_history);
}
The version of the plugin.
1.6.0
The version of your GLPI.
9.4.3
The steps to reproduce your issue.
leave one software installed only on a unique computer, force sync of the computer, the software will be deleted and created again, all information of software will be lost
Hi, when I force synchronization of a computer, if software there are one version, the software is deleted and recreated again and all information about this software is lost, doesn't matter if the software was licenses, attributes, etc
file: plugins/ocsinventoryng/inc/software.class.php lines: 484:495
maybe check if software have attributes like category changed
The version of the plugin. 1.6.0
The version of your GLPI. 9.4.3
The steps to reproduce your issue. leave one software installed only on a unique computer, force sync of the computer, the software will be deleted and created again, all information of software will be lost