View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
727 | RackTables | IPv4/IPv6/SLB | public | 2013-01-17 12:37 | 2014-06-17 05:44 |
Reporter | nrobst | Assigned To | andriyanov | ||
Priority | normal | Severity | feature | Reproducibility | always |
Status | assigned | Resolution | open | ||
Product Version | 0.20.3 | ||||
Summary | 727: Feature request to only display allocated IPs in IPv4 listing | ||||
Description | I would like to request / suggest a feature whereby the user can tick a box on the subnet display IPv4/IPv6 space (of a specific subnet) to only display IP addresses that have been used - either have a Name or are related / allocated to an object. Perhaps the converse would also be useful whereby an option could be provided to also only display IP addresses that are NOT allocated? | ||||
Steps To Reproduce | Click on a subnet in IPv4 / IPv6 space. Subnet is displayed entirely (e.g. /24 - .0 through .254) - may have some non-contigious IPs allocated throughout the range? | ||||
Tags | No tags attached. | ||||
Attached Files | 727-ipv4.patch (2,378 bytes)
--- interface.php 2014-03-03 05:43:45.000000000 -0700 +++ interface-mine.php 2014-06-16 21:30:02.000000000 -0600 @@ -2864,19 +2864,31 @@ } echo $rendered_pager; - echo "<table class='widetable' border=0 cellspacing=0 cellpadding=5 align='center' width='100%'>\n"; - echo "<tr><th>Address</th><th>Name</th><th>Comment</th><th>Allocation</th></tr>\n"; + $tableDefn = "<table class='widetable' style='table-layout:fixed' border=0 cellspacing=0 cellpadding=5 align='center' width='100%'>\n"; + echo $tableDefn; + echo "<tr class='tdleft $tr_class'><th style='width:120px'>Address</th><th>Name</th><th>Comment</th><th>Allocation</th></tr>\n"; markupIPAddrList ($range['addrlist']); + $inUnused = FALSE; for ($ip = $startip; $ip <= $endip; $ip++) { $ip_bin = ip4_int2bin ($ip); $dottedquad = ip4_format ($ip_bin); $tr_class = (isset ($hl_ip) && $hl_ip == $ip ? 'highlight' : ''); - if (isset ($range['addrlist'][$ip_bin])) + if (isset ($range['addrlist'][$ip_bin])) { + if ($inUnused) { + echo "</table></details>$tableDefn\n"; + $inUnused = FALSE; + } $addr = $range['addrlist'][$ip_bin]; + } else { + if (!$inUnused) { + echo '</table><details><summary style="text-align:left">+</summary>'; + echo "$tableDefn\n"; + $inUnused = TRUE; + } echo "<tr class='tdleft $tr_class'><td class=tdleft><a name='ip-$dottedquad' href='" . makeHref(array('page'=>'ipaddress', 'ip' => $dottedquad)) . "'>$dottedquad</a></td>"; $editable = permitted ('ipaddress', 'properties', 'editAddress') ? 'editable' @@ -2895,7 +2907,7 @@ } $tr_class .= ' ' . $addr['class']; echo "<tr class='tdleft $tr_class'>"; - echo "<td><a class='$history_class' $title name='ip-$dottedquad' href='".makeHref(array('page'=>'ipaddress', 'ip'=>$addr['ip']))."'>${addr['ip']}</a></td>"; + echo "<td style='width:120px'><a class='$history_class' $title name='ip-$dottedquad' href='".makeHref(array('page'=>'ipaddress', 'ip'=>$addr['ip']))."'>${addr['ip']}</a></td>"; $editable = (empty ($addr['allocs']) || !empty ($addr['name']) || !empty ($addr['comment'])) && permitted ('ipaddress', 'properties', 'editAddress') @@ -2938,6 +2950,9 @@ } echo "</td></tr>\n"; } + if ($inUnsed) { + echo "</details>\n"; + } // end of iteration if (permitted (NULL, NULL, 'set_reserve_comment')) addJS ('js/inplace-edit.js'); | ||||
Just ran into this with our implementation, so I wrote a quick patch to deal with the IPv4 section. It uses the HTML5 Summary and Detail tags to collapse all contiguous unallocated addresses into a section which the user can expand by clicking the plus sign. | |
BTW, the patch is against 0.20.7 | |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-01-17 12:37 | nrobst | New Issue | |
2013-01-17 12:37 | nrobst | Status | new => assigned |
2013-01-17 12:37 | nrobst | Assigned To | => andriyanov |
2014-06-17 05:39 | dreid | File Added: 727-ipv4.patch | |
2014-06-17 05:41 | dreid | Note Added: 0002357 | |
2014-06-17 05:43 | dreid | Note Added: 0002359 |