fix deleting of tags after commit 756009b
authorDenis Ovsienko <denis@ovsienko.info>
Wed, 9 Aug 2017 09:51:54 +0000 (10:51 +0100)
committerDenis Ovsienko <denis@ovsienko.info>
Wed, 9 Aug 2017 09:51:54 +0000 (10:51 +0100)
The call to usePreparedDeleteBlade() in destroyTag() [expectedly] started
to trigger an exception. However, that call didn't do any useful work
in the first place because a foreign key does not allow to delete a row
from TagTree if there are any dependent rows in TagStorage, this way if a
tag can be deleted it means it is not assigned to any rack or object and
hence its colour does not make any difference to any rack thumbnail.

Without the call that truncates RackThumbnail destroyTag() has no purpose
anymore so delete it and leave the $opspec_list declaration to do the job
through tableHandler() as before.

wwwroot/inc/navigation.php
wwwroot/inc/ophandlers.php

index 0194898..3309cc9 100644 (file)
@@ -649,7 +649,7 @@ $tabhandler['tagtree']['default'] = 'renderTagTree';
 $tabhandler['tagtree']['edit'] = 'renderTagTreeEditor';
 $tabhandler['tagtree']['resolve'] = 'renderGraphCycleResolver';
 $ophandler['tagtree']['edit']['createTag'] = 'tableHandler';
-$ophandler['tagtree']['edit']['destroyTag'] = 'destroyTag';
+$ophandler['tagtree']['edit']['destroyTag'] = 'tableHandler';
 $ophandler['tagtree']['edit']['updateTag'] = 'updateTag';
 $ophandler['tagtree']['resolve']['updateTag'] = 'updateTag';
 $trigger['tagtree']['resolve'] = 'triggerGraphCycleResolver';
index 855fbb9..93c697a 100644 (file)
@@ -350,7 +350,6 @@ $opspec_list['tagtree-edit-createTag'] = array
                array ('url_argname' => 'color', 'assertion' => 'htmlcolor0', 'translator' => 'HTMLColorForDatabase'),
        ),
 );
-// Used through an intermediate ophandler function that calls tableHandler().
 $opspec_list['tagtree-edit-destroyTag'] = array
 (
        'table' => 'TagTree',
@@ -3767,20 +3766,6 @@ function updateVLANDomain()
        showSuccess ("VLAN domain updated successfully");
 }
 
-function destroyTag()
-{
-       global $taglist;
-       $tag_id = genericAssertion ('tag_id', 'uint');
-
-       if (isset ($taglist[$tag_id]) && isset ($taglist[$tag_id]['color']))
-       {
-               // remove all rack thumbnails
-               usePreparedDeleteBlade ('RackThumbnail', array ('1' => '1'));
-       }
-
-       tableHandler();
-}
-
 function installPlugin ()
 {
        $name = assertStringArg ('name');