r2411 added deleteRow functionality and fixed a nasty bug in makeHrefProcess()
authorDenis Yeldandi <dyeldandi@gmail.com>
Sun, 8 Feb 2009 04:25:38 +0000 (04:25 +0000)
committerDenis Yeldandi <dyeldandi@gmail.com>
Sun, 8 Feb 2009 04:25:38 +0000 (04:25 +0000)
inc/database.php
inc/functions.php
inc/interface.php
inc/navigation.php
inc/ophandlers.php
upgrade.php

index e4b2cfe..c4962e2 100644 (file)
@@ -89,6 +89,23 @@ function commitUpdateRow($rackrow_id, $rackrow_name)
        return TRUE;
 }
 
+function commitDeleteRow($rackrow_id)
+{
+       global $dbxlink;
+       $query = "delete from RackRow where id=${rackrow_id}";
+       $result = $dbxlink->query ($query);
+       if ($result == NULL)
+       {
+               showError ("SQL query '${query}' failed", __FUNCTION__);
+               return FALSE;
+       }
+       $result->closeCursor();
+       return TRUE;
+}
+
+
+
+
 // This function returns id->name map for all object types. The map is used
 // to build <select> input for objects.
 function getObjectTypeList ()
index c2b691f..f54ee28 100644 (file)
@@ -1845,10 +1845,10 @@ function makeHrefProcess($params = array())
                error_log("Can't make a process link when not in head revision");
                die();
        }
-       if (!isset($params['pageno']))
-               $params['pageno'] = $pageno;
-       if (!isset($params['tabno']))
-               $params['tabno'] = $tabno;
+       if (!isset($params['page']))
+               $params['page'] = $pageno;
+       if (!isset($params['tab']))
+               $params['tab'] = $tabno;
        foreach($params as $key=>$value)
        {
                if (!$first)
index fc1349a..0c027cf 100644 (file)
@@ -264,7 +264,7 @@ function renderRackspaceRowEditor ()
                printOpFormIntro ('addRow');
                echo "<tr><td><input type=text name=name tabindex=100></td><td>";
                printImageHREF ('create', 'Add new row', TRUE, 101);
-               echo "</td></tr></form>";
+               echo "</td><td></td></tr></form>";
        }
        global $pageno, $tabno;
        startPortlet ('Rows');
@@ -279,7 +279,9 @@ function renderRackspaceRowEditor ()
                printOpFormIntro ('updateRow', array ('row_id' => $rackrow['row_id']));
                echo "<tr><td><input type=text name=name value='${rackrow['row_name']}'></td><td>";
                printImageHREF ('save', 'Save changes', TRUE);
-               echo "</td></form></tr>\n";
+               echo "</td></form><td><a href=\"".makeHrefProcess(array('op'=>'delete', 'row_id'=>$rackrow['row_id'], 'name'=>$rackrow['row_name']))."\">";
+               printImageHREF ('delete', 'Delete row');
+               echo "</a></td></tr>\n";
        }
        if (getConfigVar ('ADDNEW_AT_TOP') != 'yes')
                printNewItemTR();
@@ -1480,6 +1482,7 @@ function printLog ($log)
                                203 => array ('code' => 'warning', 'format' => 'Port %s seems to be the first in VLAN %u at this switch.'),
                                204 => array ('code' => 'warning', 'format' => 'Check uplink/downlink configuration for proper operation.'),
                                205 => array ('code' => 'warning', 'format' => '%u change request(s) have been ignored'),
+                               206 => array ('code' => 'success', 'format' => 'Row %s was deleted successfully'),
                        );
                        // Handle the arguments. Is there any better way to do it?
                        foreach ($log['m'] as $record)
index adb92bf..264cc45 100644 (file)
@@ -27,10 +27,13 @@ $tabhandler['rackspace']['edit'] = 'renderRackspaceRowEditor';
 $tabhandler['rackspace']['history'] = 'renderRackspaceHistory';
 $ophandler['rackspace']['edit']['addRow'] = 'addRow';
 $ophandler['rackspace']['edit']['updateRow'] = 'updateRow';
+$ophandler['rackspace']['edit']['delete'] = 'deleteRow';
 $msgcode['addRow']['OK'] = 74;
 $msgcode['addRow']['ERR'] = 100;
 $msgcode['updateRow']['OK'] = 75;
 $msgcode['updateRow']['ERR'] = 100;
+$msgcode['deleteRow']['OK'] = 206;
+$msgcode['deleteRow']['ERR'] = 100;
 
 $page['objects']['title'] = 'Objects';
 $page['objects']['parent'] = 'index';
index 3e177c4..3e88b82 100644 (file)
@@ -1409,6 +1409,18 @@ function updateRow ()
                return buildRedirectURL (__FUNCTION__, 'ERR', array ($_REQUEST['name']));
 }
 
+function deleteRow ()
+{
+       assertUIntArg ('row_id', __FUNCTION__);
+
+       if (TRUE === commitDeleteRow ($_REQUEST['row_id']))
+               return buildRedirectURL (__FUNCTION__, 'OK', array ($_REQUEST['name']));
+       else
+               return buildRedirectURL (__FUNCTION__, 'ERR', array ($_REQUEST['name']));
+}
+
+
+
 function addRack ()
 {
        assertUIntArg ('row_id', __FUNCTION__);
index 129b406..38fa9a0 100644 (file)
@@ -185,12 +185,12 @@ CREATE TABLE `FileLink` (
                        $query[] = "alter table Dictionary change chapter_no chapter_id int(10) unsigned NOT NULL";
                        $query[] = "CREATE TABLE RackRow ( id int(10) unsigned NOT NULL auto_increment, name char(255) NOT NULL, PRIMARY KEY  (`id`) ) ENGINE=MyISAM";
 
-                       $result = $dbxlink->query ("select dict_key, dict_value from Dictionary where chapter_id = 3");
-                       while($result->fetch(PDO::FETCH_NUM))
+                       $result = $dbxlink->query ("select dict_key, dict_value from Dictionary where chapter_no = 3");
+                       while($row = $result->fetch(PDO::FETCH_NUM))
                        {
                                $query[] = "insert into RackRow set id=${row[0]}, name='${row[1]}'";
                        }
-                       $query[] = "delete from Dictionary where chapter_id = 3");
+                       $query[] = "delete from Dictionary where chapter_no = 3";
                        
                        break;
                default: