r2290 combined two forms on object properties page into one. closes ticket 36
authorAaron Dummer <aaron@dummer.info>
Thu, 13 Nov 2008 23:45:42 +0000 (23:45 +0000)
committerAaron Dummer <aaron@dummer.info>
Thu, 13 Nov 2008 23:45:42 +0000 (23:45 +0000)
ChangeLog
inc/interface.php
inc/navigation.php
inc/ophandlers.php

index f9bd282e3e9337096a37b16d986667e246ed0ac7..feb718392fb8aa575e9bd573838772df624453ef 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,7 @@
     update: allow port type to be changed if it isn't linked.  closes ticket 137 (by Aaron)
        update: add network security chapter and dictionary entries.  closes ticket 148 (by Aaron)
     update: add HP and Juniper dictionary entries.  closes tickets 145 and 165 (by Aaron)
+    update: combined two forms on object properties page into one.  closes ticket 36 (by Aaron)
        bugfix: show error message if snmp module isn't loaded.  closes ticket 43 (by Aaron)
 0.16.4 2008-11-04
        bugfix: display VS/RS config block in RS pool view
index 38f1d21a02d90503b526c664cb05f7bcc6e78587..50cdf1df58fe5db313f02b30c9c52238e98951c9 100644 (file)
@@ -466,12 +466,13 @@ function renderEditObjectForm ($object_id)
                showError ('getObjectInfo() failed', __FUNCTION__);
                return;
        }
-       echo '<table border=0 width=100%><tr>';
-
-       echo '<td class=pcleft>';
-       startPortlet ('Static attributes');
+       startPortlet ();
        printOpFormIntro ('update');
+       echo '<table border=0 width=100%><tr><td class=pcleft>';
+
+       // static attributes
        echo '<table border=0 align=center>';
+       echo "<tr><th colspan=2><h2>Static attributes</h2></th></tr>";
        echo "<tr><th class=tdright>Type:</th><td class=tdleft>";
        printSelect (getObjectTypeList(), 'object_type_id', $object['objtype_id']);
        echo "</td></tr>\n";
@@ -485,22 +486,16 @@ function renderEditObjectForm ($object_id)
                echo ' checked';
        echo "></td></tr>\n";
        echo "<tr><td colspan=2><b>Comment:</b><br><textarea name=object_comment rows=10 cols=80>${object['comment']}</textarea></td></tr>";
-       echo "<tr><th class=submit colspan=2>";
-       printImageHREF ('SAVE', 'Save changes', TRUE);
-       echo "</td></tr>\n";
-       echo '</form></table><br>';
-       finishPortlet();
-       echo '</td>';
+       echo '</table>';
+
+       echo '</td><td class=pcright>';
        
-       // stickers
-       echo '<td class=pcright>';
-       startPortlet ('Optional attributes');
+       // optional attributes
        $values = getAttrValues ($object_id);
-       echo "<table cellspacing=0 cellpadding=5 align=center class=widetable>\n";
-       echo "<tr><th>&nbsp;</th><th>Attribute</th><th>Value</th><th>&nbsp;</th></tr>\n";
-       printOpFormIntro ('updateStickers');
+       echo "<table border=0 cellspacing=0 cellpadding=5 align=center class=widetable>\n";
+       echo "<tr><th colspan=3><h2>Optional attributes</h2></th></tr>";
+       echo "<tr><th>&nbsp;</th><th>Attribute</th><th>Value</th></tr>\n";
        echo '<input type=hidden name=num_attrs value=' . count($values) . ">\n";
-
        $i = 0;
        foreach ($values as $record)
        {
@@ -532,23 +527,18 @@ function renderEditObjectForm ($object_id)
                echo "</td></tr>\n";
                $i++;
        }
-       echo "<tr><td colspan=3>";
+       echo "</table></td></tr>\n";
+
+       echo "<tr><th class=submit colspan=2>";
        printImageHREF ('SAVE', 'Save changes', TRUE);
-       echo "</td></tr>\n";
-       echo "</form>";
-       echo "</table>\n";
+       echo "</form></th></tr></table>\n";
        finishPortlet();
-       echo '</td>';
 
-       echo '</tr><tr>';
-
-       echo '<td colspan=2>';
+       echo '<table border=0 width=100%><tr><td>';
        startPortlet ('history');
        renderHistory ($pageno, $object_id);
        finishPortlet();
-       echo '</td>';
-
-       echo '</tr></table>';
+       echo '</td></tr></table>';
 }
 
 // This is a clone of renderEditObjectForm().
index 8ca93ce7dc95c187b4c6592bd65a08dd85aeb34b..eef1c2df5d654a7d03fb705d206c6621fdd8dd16 100644 (file)
@@ -155,7 +155,6 @@ $ophandler['object']['ipv4']['updIPv4Allocation'] = 'updIPv4Allocation';
 $ophandler['object']['ipv4']['addIPv4Allocation'] = 'addIPv4Allocation';
 $ophandler['object']['ipv4']['delIPv4Allocation'] = 'delIPv4Allocation';
 $ophandler['object']['edit']['clearSticker'] = 'clearSticker';
-$ophandler['object']['edit']['updateStickers'] = 'updateStickers';
 $ophandler['object']['edit']['update'] = 'updateObject';
 $ophandler['object']['nat4']['addNATv4Rule'] = 'addPortForwarding';
 $ophandler['object']['nat4']['delNATv4Rule'] = 'delPortForwarding';
@@ -207,8 +206,6 @@ $msgcode['object']['edit']['clearSticker']['OK'] = 15;
 $msgcode['object']['edit']['clearSticker']['ERR'] = 120;
 $msgcode['object']['edit']['update']['OK'] = 16;
 $msgcode['object']['edit']['update']['ERR'] = 121;
-$msgcode['object']['edit']['updateStickers']['OK'] = 17;
-$msgcode['object']['edit']['updateStickers']['ERR'] = 122;
 $msgcode['object']['editrspvs']['addLB']['OK'] = 18;
 $msgcode['object']['editrspvs']['addLB']['ERR'] = 137;
 $msgcode['object']['editrspvs']['delLB']['OK'] = 19;
index f58eeb8b41f4edf62e9582e874fa678318662c68..1e3e4d1783665e0ab817265c06bad3d7b6597e76 100644 (file)
@@ -672,6 +672,7 @@ function clearSticker ()
 
 function updateObject ()
 {
+       assertUIntArg ('num_attrs', __FUNCTION__);
        assertUIntArg ('object_id', __FUNCTION__);
        assertUIntArg ('object_type_id', __FUNCTION__);
        assertStringArg ('object_name', __FUNCTION__, TRUE);
@@ -694,19 +695,10 @@ function updateObject ()
                $_REQUEST['object_comment']
        ) !== TRUE)
                return buildRedirectURL ('ERR');
-       // Invalidate thumb cache of all racks objects could occupy.
-       foreach (getResidentRacksData ($_REQUEST['object_id'], FALSE) as $rack_id)
-               resetThumbCache ($rack_id);
-       return buildRedirectURL ('OK');
-}
 
-function updateStickers ()
-{
-       assertUIntArg ('object_id', __FUNCTION__);
-       assertUIntArg ('num_attrs', __FUNCTION__);
+       // Update optional attributes
        $oldvalues = getAttrValues ($_REQUEST['object_id']);
        $result = array();
-
        for ($i = 0; $i < $_REQUEST['num_attrs']; $i++)
        {
                assertUIntArg ("${i}_attr_id", __FUNCTION__);
@@ -743,10 +735,13 @@ function updateStickers ()
                // Note if the queries succeed or not, it determines which page they see.
                $result[] = commitUpdateAttrValue ($_REQUEST['object_id'], $attr_id, $value);
        }
-
        if (in_array (FALSE, $result))
                return buildRedirectURL ('ERR');
 
+       // Invalidate thumb cache of all racks objects could occupy.
+       foreach (getResidentRacksData ($_REQUEST['object_id'], FALSE) as $rack_id)
+               resetThumbCache ($rack_id);
+
        return buildRedirectURL ('OK');
 }