Property changes on: trunk
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/DEV-capside/release-3.9.0:6365-6370
/branches/DEV-extra-notification-data:6734-6746
/branches/DEV-odw-calculations:9016-9160
/branches/DEV-restapi-monitoringservers:9778
/branches/DEV-snmp-multi:7324-7376
/branches/US187:9403-9479
/branches/US198b:8875-8994
/branches/US310:9851-9873
/branches/US539:12178-12182
/branches/enterprise/BRAN-3.14:6874,6882,6956
/branches/enterprise/DEV-professional:6494-8475,8477-8478,8486,8490,8492,8494,8499-8500,8515,8518-8519,8524,8527-8529,8531-8532,8536,8538,8540-8544,8547-8552,8554,8557,8600-8601,8637,8749,8772,8897,8917,8944-8945,8947,8950-8952,8967,8969,8979,8982,8987,8998,9006,9008,9011,9013,9026,9033-9036,9038,9040,9042,9044,9048,9050-9053,9062,9064-9065,9069,9078,9081,9088,9096,9099-9101,9103,9105,9115,9118,9347,9353-9354,9411,9432,9445,9486,9538-9550,9569-9571,9620,9635,9637-9638,9645-9647,9693,9699,9721,9814,9825,9857,9879,9881,9939,10002,10029,10038-10041,10070,10086,10093,10345,10347,10388,10407,10481,10549,10560-10562,10565,10568,10571,10577,10932,11025,11035,11360-11612,11798-11799,11920,12075-12076,12096,12189,12207,12232,12266,12288,12322,12334,12355,12372,12401-12406,12428,12491,12523,12539-12540,12544,12546,12555,12580,12583,12599-12600,12609,12611,12614-12615,12618,12624,12630-12631,12633,12643,12645-12646,12649,12653-12654,12657-12658,12660,12662-12663,12666,12668,12678-12679,
12681-12682,12685,12687,12691-12693,12697,12703,12744,12765,13126-13127,13211
/branches/nagvis-iframe:9764-9786
/branches/opsview2runtime:10960-11258
/branches/opsview2runtime_xs:11279-11303
/branches/us168:8759,8762-8763,8766-8768,8770,8774-8777,8794,8798-8799,8801-8803,8821-8822,8834,8837-8838,8932,8937,8947,8969,8977,8981,9004,9007,9009-9010,9012,9024,9049
/commercial/branches/BRAN-4.2:10944,11017
/commercial/branches/BRAN-4.3:12423-12426
/commercial/branches/US306-slaves:9804-9823
/commercial/branches/US307-network-map:9685-9837
+ /branches/DEV-capside/release-3.9.0:6365-6370
/branches/DEV-extra-notification-data:6734-6746
/branches/DEV-odw-calculations:9016-9160
/branches/DEV-restapi-monitoringservers:9778
/branches/DEV-snmp-multi:7324-7376
/branches/US187:9403-9479
/branches/US198b:8875-8994
/branches/US310:9851-9873
/branches/US539:12178-12182
/branches/enterprise/BRAN-3.14:6874,6882,6956
/branches/enterprise/DEV-professional:6494-8475,8477-8478,8486,8490,8492,8494,8499-8500,8515,8518-8519,8524,8527-8529,8531-8532,8536,8538,8540-8544,8547-8552,8554,8557,8600-8601,8637,8749,8772,8897,8917,8944-8945,8947,8950-8952,8967,8969,8979,8982,8987,8998,9006,9008,9011,9013,9026,9033-9036,9038,9040,9042,9044,9048,9050-9053,9062,9064-9065,9069,9078,9081,9088,9096,9099-9101,9103,9105,9115,9118,9347,9353-9354,9411,9432,9445,9486,9538-9550,9569-9571,9620,9635,9637-9638,9645-9647,9693,9699,9721,9814,9825,9857,9879,9881,9939,10002,10029,10038-10041,10070,10086,10093,10345,10347,10388,10407,10481,10549,10560-10562,10565,10568,10571,10577,10622,10932,11025,11035,11360-11612,11798-11799,11920,12075-12076,12096,12189,12207,12232,12266,12288,12322,12334,12355,12372,12401-12406,12428,12491,12523,12539-12540,12544,12546,12555,12580,12583,12599-12600,12609,12611,12614-12615,12618,12624,12630-12631,12633,12643,12645-12646,12649,12653-12654,12657-12658,12660,12662-12663,12666,12668,12678-
12679,12681-12682,12685,12687,12691-12693,12697,12703,12721,12744,12765,13126-13127,13211
/branches/nagvis-iframe:9764-9786
/branches/opsview2runtime:10960-11258
/branches/opsview2runtime_xs:11279-11303
/branches/us168:8759,8762-8763,8766-8768,8770,8774-8777,8794,8798-8799,8801-8803,8821-8822,8834,8837-8838,8932,8937,8947,8969,8977,8981,9004,9007,9009-9010,9012,9024,9049
/commercial/branches/BRAN-4.2:10944,11017
/commercial/branches/BRAN-4.3:12423-12426
/commercial/branches/US306-slaves:9804-9823
/commercial/branches/US307-network-map:9685-9837
Modified: trunk/opsview-core/lib/Opsview/ResultSet/Hostgroups.pm
===================================================================
--- trunk/opsview-core/lib/Opsview/ResultSet/Hostgroups.pm 2013-08-15 18:10:56 UTC (rev 13271)
+++ trunk/opsview-core/lib/Opsview/ResultSet/Hostgroups.pm 2013-08-15 18:17:25 UTC (rev 13272)
@@ -61,16 +61,21 @@
);
}
-sub restricted_leaves_arrayref {
- my ($self) = @_;
- my @matpaths = map { $_->matpath . "%" } $self->user->role->hostgroups;
- my @a = $self->search(
+sub restricted_leaves_by_role {
+ my ( $self, $role ) = @_;
+ my @matpaths = map { $_->matpath . "%" } $role->hostgroups;
+ return $self->search(
{
rgt => \"= lft+1",
matpath => { "-like" => \@matpaths }
},
{ order_by => "name" }
);
+}
+
+sub restricted_leaves_arrayref {
+ my ($self) = @_;
+ my @a = $self->restricted_leaves_by_role( $self->user->role );
\@a;
}
Modified: trunk/opsview-web/lib/Opsview/Web/Controller/Admin/Hostgroup.pm
===================================================================
--- trunk/opsview-web/lib/Opsview/Web/Controller/Admin/Hostgroup.pm 2013-08-15 18:10:56 UTC (rev 13271)
+++ trunk/opsview-web/lib/Opsview/Web/Controller/Admin/Hostgroup.pm 2013-08-15 18:17:25 UTC (rev 13272)
@@ -31,6 +31,7 @@
default_rows => 100,
page_search_box => 1,
page_add_new => 1,
+ acl => 'CONFIGUREHOSTGROUPS',
);
before 'auto' => sub {
@@ -52,8 +53,15 @@
#if (my $q = $c->req->param("q")) {
# $c->stash->{list_search_criteria} = { "hosts.name" => [ map { "%".$_."%" } split(" ", $q) ] };
#}
+
};
+after 'list' => sub {
+ my ( undef, $c ) = @_;
+ $c->stash->{data_iterator} =
+ $c->stash->{data_iterator}->restricted_leaves_by_role( $c->user->role );
+};
+
sub change_hosts : Local : Args(0) {
my ( $self, $c ) = @_;
my ( $hg, $host );
Copied: trunk/opsview-web/t/tests/Test/Opsview/Web/Admin/Hostgroup.pm (from rev 12721, branches/enterprise/DEV-professional/opsview-web/t/tests/Test/Opsview/Web/Admin/Hostgroup.pm)
===================================================================
--- trunk/opsview-web/t/tests/Test/Opsview/Web/Admin/Hostgroup.pm (rev 0)
+++ trunk/opsview-web/t/tests/Test/Opsview/Web/Admin/Hostgroup.pm 2013-08-15 18:17:25 UTC (rev 13272)
@@ -0,0 +1,24 @@
+package Test::Opsview::Web::Admin::Hostgroup;
+
+use strict;
+use warnings;
+use FindBin '$Bin';
+use lib "$Bin/../lib";
+use Test::More;
+
+use base 'Test::Opsview::Web';
+
+sub hostgroup_list : Tests {
+ my $self = shift;
+ my $mech = $self->{mech};
+
+ $mech->get_ok( '/admin/hostgroup/list' );
+ $mech->text_like(
+ qr/alphaearly\s+Leafciscocisco1cisco2cisco3cisco4doesnt_exist_1doesnt_exist_2fake_ipv6host_locally_monitoredhost_locally_monitored_v3\s+Leaf2monitored_by_clustermonitored_by_slaveresolved_servicestoclone\s+middling\s+Monitoring\s+ServersopslaveopslaveclusterAopslaveclusterBopslaveclusterCopsviewopsviewdev1opsviewdev46PassiveSlave\s+Passive MonitoringPassiveNode\s+singlehostsinglehostgroup/
+ );
+
+ $mech->get_ok( '/logout' );
+
+}
+
+1;