r3533 navigation: new page "dqueue" for deploy queue listing
authorDenis Ovsienko <infrastation@yandex.ru>
Thu, 6 May 2010 15:26:05 +0000 (15:26 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Thu, 6 May 2010 15:26:05 +0000 (15:26 +0000)
dynamic_title_decoder(): update respectively
render8021QStatus(): move $dqtitle to global scope, wrap queues into links
renderDeployQueue(): new function, simple table lister

inc/interface.php
inc/navigation.php

index 178d754..7a5d097 100644 (file)
@@ -48,6 +48,15 @@ $vtoptions = array
        'alien' => 'never touch',
 );
 
+// 802.1Q deploy queue titles
+$dqtitle = array
+(
+       'aging' => 'Being edited',
+       'sync' => 'Pending sync',
+       'resync' => 'Version conflict',
+       'failed' => 'Failed',
+);
+
 // Let's have it here, so extensions can add their own images.
 $image = array();
 $image['error']['path'] = 'pix/error.png';
@@ -6295,6 +6304,13 @@ function dynamic_title_decoder ($path_position)
                        'name' => niftyString ("template '${vst['description']}'", 50),
                        'params' => array ('vst_id' => $vst['id'])
                );
+       case 'dqueue':
+               global $dqtitle;
+               return array
+               (
+                       'name' => 'queue "' . $dqtitle[$sic['dqcode']] . '"',
+                       'params' => array ('qcode' => $sic['dqcode'])
+               );
        default:
                return array
                (
@@ -6522,8 +6538,9 @@ function render8021QOrderForm ($some_id)
 
 function render8021QStatus ()
 {
+       global $dqtitle;
        echo '<table border=0 class=objectview cellspacing=0 cellpadding=0>';
-       echo '<tr valign=top><td class=pcleft width="30%">';
+       echo '<tr valign=top><td class=pcleft width="40%">';
        if (!count ($vdlist = getVLANDomainList()))
                startPortlet ('no VLAN domains');
        else
@@ -6555,7 +6572,7 @@ function render8021QStatus ()
        }
        finishPortlet();
 
-       echo '</td><td class=pcleft width="30%">';
+       echo '</td><td class=pcleft width="40%">';
 
        if (!count ($vstlist = getVLANSwitchTemplates()))
                startPortlet ('no switch templates');
@@ -6579,16 +6596,10 @@ function render8021QStatus ()
 
        startPortlet ('deploy queues');
        echo '<table border=0 cellspacing=0 cellpadding=3 width="100%">';
-       $qtitle = array
-       (
-               'aging' => 'Being edited',
-               'sync' => 'Pending sync',
-               'resync' => 'Version conflict',
-               'failed' => 'Failed',
-       );
        foreach (get8021QDeployQueues() as $qcode => $qitems)
        {
-               echo '<tr><th width="50%" class=tdright>' . $qtitle[$qcode] . ':</th>';
+               echo '<tr><th width="50%" class=tdright><a href="' . makeHREF (array ('page' => 'dqueue', 'dqcode' => $qcode));
+               echo '">' . $dqtitle[$qcode] . '</a>:</th>';
                echo '<td class=tdleft>' . count ($qitems) . '</td></tr>';
        }
        echo '</table>';
@@ -7499,4 +7510,21 @@ function renderVSTRulesEditor ($vst_id)
        echo '</table>';
 }
 
+function renderDeployQueue ($dqcode)
+{
+       global $nextorder;
+       $order = 'odd';
+       $allq = get8021QDeployQueues();
+       echo '<table cellspacing=0 cellpadding=5 align=center class=widetable>';
+       echo '<tr><th>switch</th><th>age</th><th>';
+       foreach ($allq[$dqcode] as $item)
+       {
+               echo "<tr class=row_${order}><td>";
+               renderCell (spotEntity ('object', $item['object_id']));
+               echo "</td><td>${item['age']}</td></tr>";
+               $order = $nextorder[$order];
+       }
+       echo '</table>';
+}
+
 ?>
index f8e1ec5..2ff92b8 100644 (file)
@@ -527,4 +527,10 @@ $ophandler['vst']['editrules']['upd'] = 'updVSTRule';
 $ophandler['vst']['8021qorder']['add'] = 'add8021QOrder';
 $ophandler['vst']['8021qorder']['del'] = 'del8021QOrder';
 
+$page['dqueue']['parent'] = '8021q';
+$page['dqueue']['bypass'] = 'dqcode';
+$page['dqueue']['bypass_type'] = 'string';
+$tab['dqueue']['default'] = 'View';
+$tabhandler['dqueue']['default'] = 'renderDeployQueue';
+
 ?>