r4003 Merged 8021Q order delete focus hints from maintenance
authorAlexey Andriyanov <alan@al-an.info>
Wed, 10 Nov 2010 16:24:19 +0000 (16:24 +0000)
committerAlexey Andriyanov <alan@al-an.info>
Wed, 10 Nov 2010 16:24:19 +0000 (16:24 +0000)
ChangeLog
inc/interface.php
inc/ophandlers.php

index 9deb5bc..1490d28 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,7 @@
        bugfix: draw administrator's attention to missing LDAP extension (by Matt Mills)
        bugfix: minor issues on LiveCDP/LLDP tab
        update: SNMP data for FastIron LS (#357)
+       update: upon deleting 802.1Q order record focus SELECTs on the deleted values
        bugfix: SQL error issue on some versions of PHP introduced in 0.18.5
 0.18.5 2010-10-25
        bugfix: attribute map editor was broken (#353)
index bfd570f..2fc1ceb 100644 (file)
@@ -6665,6 +6665,18 @@ function render8021QOrderForm ($some_id)
        {
                $all_vswitches = getVLANSwitches();
                global $pageno;
+               $hintcodes = array ('prev_vdid' => 'DEFAULT_VDOM_ID', 'prev_vstid' => 'DEFAULT_VST_ID', 'prev_objid' => NULL);
+               $focus = array();
+               foreach ($hintcodes as $hint_code => $option_name)
+               if (array_key_exists ($hint_code, $_REQUEST))
+               {
+                       assertUIntArg ($hint_code);
+                       $focus[$hint_code] = $_REQUEST[$hint_code];
+               }
+               elseif ($option_name != NULL)
+                       $focus[$hint_code] = getConfigVar ($option_name);
+               else
+                       $focus[$hint_code] = NULL;
                printOpFormIntro ('add');
                echo '<tr>';
                if ($pageno != 'object')
@@ -6675,13 +6687,13 @@ function render8021QOrderForm ($some_id)
                        foreach (getNarrowObjectList ('VLANSWITCH_LISTSRC') as $object_id => $object_dname)
                                if (!in_array ($object_id, $all_vswitches))
                                        $options[$object_id] = $object_dname;
-                       printSelect ($options, array ('name' => 'object_id', 'tabindex' => 101, 'size' => getConfigVar ('MAXSELSIZE')));
+                       printSelect ($options, array ('name' => 'object_id', 'tabindex' => 101, 'size' => getConfigVar ('MAXSELSIZE')), $focus['prev_objid']);
                        echo '</td>';
                }
                if ($pageno != 'vlandomain')
-                       echo '<td>' . getSelect (getVLANDomainOptions(), array ('name' => 'vdom_id', 'tabindex' => 102, 'size' => getConfigVar ('MAXSELSIZE')), getConfigVar ('DEFAULT_VDOM_ID')) . '</td>';
+                       echo '<td>' . getSelect (getVLANDomainOptions(), array ('name' => 'vdom_id', 'tabindex' => 102, 'size' => getConfigVar ('MAXSELSIZE')), $focus['prev_vdid']) . '</td>';
                if ($pageno != 'vst')
-                       echo '<td>' . getSelect (getVSTOptions(), array ('name' => 'vst_id', 'tabindex' => 103, 'size' => getConfigVar ('MAXSELSIZE')), getConfigVar ('DEFAULT_VST_ID')) . '</td>';
+                       echo '<td>' . getSelect (getVSTOptions(), array ('name' => 'vst_id', 'tabindex' => 103, 'size' => getConfigVar ('MAXSELSIZE')), $focus['prev_vstid']) . '</td>';
                echo '<td>' . getImageHREF ('Attach', 'set', TRUE, 104) . '</td></tr></form>';
        }
        global $pageno;
index e2934d5..a0c15c6 100644 (file)
@@ -2121,9 +2121,17 @@ $msgcode['del8021QOrder']['ERR'] = 119;
 function del8021QOrder ()
 {
        assertUIntArg ('object_id');
+       assertUIntArg ('vdom_id');
+       assertUIntArg ('vst_id');
        global $sic;
        $result = usePreparedDeleteBlade ('VLANSwitch', array ('object_id' => $sic['object_id']));
-       return buildRedirectURL (__FUNCTION__, $result ? 'OK' : 'ERR');
+       $focus_hints = array
+       (
+               'prev_objid' => $_REQUEST['object_id'],
+               'prev_vstid' => $_REQUEST['vst_id'],
+               'prev_vdid' => $_REQUEST['vdom_id'],
+       );
+       return buildRedirectURL (__FUNCTION__, $result ? 'OK' : 'ERR', array(), NULL, NULL, $focus_hints);
 }
 
 $msgcode['addVLANDescription']['OK'] = 48;