Send Netdot-devel mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
https://osl.uoregon.edu/mailman/listinfo/netdot-devel
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Netdot-devel digest..."
Today's Topics:
1. [Netdot - Bug #1916] (New) Netdot not displaying all hosts to
user type User when browsing IP blocks with multiple forward
zones ([email protected])
----------------------------------------------------------------------
Message: 1
Date: Mon, 7 Aug 2017 14:44:52 -0700
From: [email protected]
Subject: [Netdot-devel] [Netdot - Bug #1916] (New) Netdot not
displaying all hosts to user type User when browsing IP blocks with
multiple forward zones
To: [email protected], [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=utf-8
Issue #1916 has been reported by Patrick Landry.
----------------------------------------
Bug #1916: Netdot not displaying all hosts to user type User when browsing IP
blocks with multiple forward zones
https://osl.uoregon.edu/redmine/issues/1916
Author: Patrick Landry
Status: New
Priority: Normal
Assignee:
Category:
Target version:
Resolution:
When a user of User Type "User" uses the "IP Block Actions" to browse an IP
Block which
is associated with multiple Forward DNS Zones, only host records from one of
those Forward
DNS Zones is displayed.
I believe this is due to code in htdocs/user_management/hostinfo_tasks.html
which only fetches one associated Forward Zone.
<pre>
if ( $ipblock_action eq 'browse_records' ){
my $ipblock = Ipblock->retrieve($ipblock);
-> if ( my $zone = $ipblock->forward_zone ){
my $records = $zone->get_hosts($ipblock->id);
$m->comp('/management/hostlist.mhtml', records=>$records,
withedit=>1,
return_args=>"?ipblock=$ipblock&ipblock_action='browse_records'");
}else{
$m->comp('/generic/error.mhtml', error=>$ipblock->get_label." not
associated with a zone");
}
</pre>
My fix was to fetch the forward_zones for the Ipblock into an array (@results),
loop through all
of the forward zones collecting the host records into an additional array
(@allrecords), and then displaying all
of those host records in one table. Diff below.
<pre>
--- hostinfo_tasks.html-PREV 2017-08-07 10:59:14.307543082 -0500
+++ hostinfo_tasks.html 2017-08-07 11:01:50.707015825 -0500
@@ -163,23 +163,28 @@
</table>
</div> <!-- close containerbody -->
</div> <!-- close container -->
</div> <!-- close sectiontools -->
<%perl>
if ( $submit && $ipblock ){
if ( $ipblock_action eq 'browse_records' ){
my $ipblock = Ipblock->retrieve($ipblock);
- if ( my $zone = $ipblock->forward_zone ){
+ my @results;
+ if ( my @results = $ipblock->forward_zone ){
+ my @allrecords;
+ foreach my $zone (@results) {
my $records = $zone->get_hosts($ipblock->id);
- $m->comp('/management/hostlist.mhtml', records=>$records, withedit=>1,
+ push @allrecords, @$records;
+ }
+ $m->comp('/management/hostlist.mhtml', records=>\@allrecords,
withedit=>1,
return_args=>"?ipblock=$ipblock&ipblock_action='browse_records'");
}else{
$m->comp('/generic/error.mhtml', error=>$ipblock->get_label." not
associated with a zone");
}
}elsif ( $ipblock_action eq 'show_block' ){
$m->comp('../management/ip.html', id=>$ipblock, user=>$user);
}elsif ( $ipblock_action eq 'add_host' ){
$m->comp('add_host.html', add_host_block=>$ipblock);
</pre>
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://osl.uoregon.edu/redmine/my/account
------------------------------
_______________________________________________
Netdot-devel mailing list
[email protected]
https://osl.uoregon.edu/mailman/listinfo/netdot-devel
End of Netdot-devel Digest, Vol 123, Issue 2
********************************************