0.9.9 Subwartungsverträge
-
Hallo,
leider scheint es so zu sein, das sich in 0.9.9 Subwartungsverträge nicht mehr vernünftig anlegen lassen. Wenn es dann mal überhaupt funktioniert, werden 2 Wartungsverträge angezeigt. Archiviert man dann aber z.b. einen sind beide im Archiv… ?
grüsse
// Edit, neu anlegen eines Wartungsvertrags plus Subvertrag ist kein Problem. Editiert man ihn dann wieder = gleiches Problem .
-
Hi,
kann ich so bestätigen. Neu anlage ok, Update funktioniert bei mir gar nicht
-
Ist gefixt danke fuer den Hinweis.
Der Fix wird im nächsten Release enthalten sein -
Ich habe es mir kurz angeschaut, das ist ein kleiner Fehler der das verursacht. In der Klasse isys_cmdb_dao_category_g_maintenance wird beim Speichern überprüft, ob der Haken für den Sub-Wartungsvertrag gesetzt ist, und wenn nicht wird der Titel des Sub-Vertrages gelöscht. Dadurch wird der Sub-Vertrag dann nicht mehr angezeigt, obwohl er noch im System vorhanden ist.
Der Fehler ist, dass die Überprüfung, ob der Haken gesetzt ist nicht funktioniert, da das falsche Element überprüft wird. Die Checkbox heisst subcheckbox, geprüft wird das Element sub (Zeile 136 & 298)
Patch anbei
-
da habe ich wohl zu lange an meinem posting geschrieben….
-
Aber ich hätte noch etwas zu dem Thema,
ich kann kein Objekt purgen wenn es noch einen Wartungsvertrag zugeordnet hat. Es gibt dann eine SQL-Constraint Fehler
isys_exception_database : Query error: 'DELETE FROM isys_obj WHERE isys_obj__id = '430'': Cannot delete or update a parent row: a foreign key constraint fails (
witcom_cmdb_witcom/isys_catg_maintenance_list
, CONSTRAINTisys_catg_maintenance_list_ibfk_2
FOREIGN KEY (isys_catg_maintenance_list__isys_obj__id
) REFERENCESisys_obj
(isys_obj__id
) )Ich muss dann zuerst den Wartungsvertrag löschen (archivieren->löschen->purgen), dann das Hauptobjekt.
Ich weiss nicht ob das nur bei Wartungsverträgen so ist, und ob das auch in älteren Versionen aufgetreten ist. Schön wäre es wenn beim purgen alle existierenden Beziehungen mitgelöscht würden.
-
Versuch's mal mit diesem Statement:
ALTER TABLE `isys_catg_maintenance_list` DROP FOREIGN KEY `isys_catg_maintenance_list_ibfk_2` ; ALTER TABLE `isys_catg_maintenance_list` ADD FOREIGN KEY ( `isys_catg_maintenance_list__isys_obj__id` ) REFERENCES `isys_obj` (`isys_obj__id`) ON DELETE CASCADE ON UPDATE CASCADE ;
-
Perfekt - vielen Dank