#929 implement first half of multi tenancy with tenant_databases setting
This commit is contained in:
@@ -16,7 +16,7 @@ register_report(
|
||||
);
|
||||
|
||||
get '/ajax/content/report/apchanneldist' => require_login sub {
|
||||
my @results = schema('netdisco')->resultset('DevicePortWireless')->search(
|
||||
my @results = schema(vars->{'tenant'})->resultset('DevicePortWireless')->search(
|
||||
{ channel => { '!=', '0' } },
|
||||
{ select => [ 'channel', { count => 'channel' } ],
|
||||
as => [qw/ channel ch_count /],
|
||||
|
||||
@@ -16,7 +16,7 @@ register_report(
|
||||
);
|
||||
|
||||
get '/ajax/content/report/apclients' => require_login sub {
|
||||
my @results = schema('netdisco')->resultset('Device')->search(
|
||||
my @results = schema(vars->{'tenant'})->resultset('Device')->search(
|
||||
{ 'nodes.time_last' => { '>=', \'me.last_macsuck' } },
|
||||
{ select => [ 'ip', 'dns', 'name', 'model', 'location' ],
|
||||
join => { 'ports' => { 'ssid' => 'nodes' } },
|
||||
|
||||
@@ -20,7 +20,7 @@ get '/ajax/content/report/apradiochannelpower/data' => require_login sub {
|
||||
send_error( 'Missing parameter', 400 )
|
||||
unless ( param('draw') && param('draw') =~ /\d+/ );
|
||||
|
||||
my $rs = schema('netdisco')->resultset('Virtual::ApRadioChannelPower');
|
||||
my $rs = schema(vars->{'tenant'})->resultset('Virtual::ApRadioChannelPower');
|
||||
my $exp_params = expand_hash( scalar params );
|
||||
my $recordsTotal = $rs->count;
|
||||
my @data = $rs->get_datatables_data($exp_params)->hri->all;
|
||||
@@ -43,7 +43,7 @@ get '/ajax/content/report/apradiochannelpower' => require_login sub {
|
||||
}
|
||||
else {
|
||||
my @results
|
||||
= schema('netdisco')->resultset('Virtual::ApRadioChannelPower')
|
||||
= schema(vars->{'tenant'})->resultset('Virtual::ApRadioChannelPower')
|
||||
->hri->all;
|
||||
|
||||
return unless scalar @results;
|
||||
|
||||
@@ -16,7 +16,7 @@ register_report(
|
||||
);
|
||||
|
||||
get '/ajax/content/report/deviceaddrnodns' => require_login sub {
|
||||
my @results = schema('netdisco')->resultset('Device')->search(
|
||||
my @results = schema(vars->{'tenant'})->resultset('Device')->search(
|
||||
{ 'device_ips.dns' => undef },
|
||||
{ select => [ 'ip', 'dns', 'name', 'location', 'contact' ],
|
||||
join => [qw/device_ips/],
|
||||
|
||||
@@ -17,7 +17,7 @@ register_report(
|
||||
|
||||
get '/ajax/content/report/devicebylocation' => require_login sub {
|
||||
my @results
|
||||
= schema('netdisco')->resultset('Device')
|
||||
= schema(vars->{'tenant'})->resultset('Device')
|
||||
->columns( [qw/ ip dns name location vendor model /] )
|
||||
->order_by( [qw/ location name ip vendor model /] )->hri->all;
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ get '/ajax/content/report/devicednsmismatch' => require_login sub {
|
||||
(my $suffix = '***:'. setting('domain_suffix')) =~ s|\Q(?^\Eu?|(?|g;
|
||||
|
||||
my @results
|
||||
= schema('netdisco')->resultset('Virtual::DeviceDnsMismatch')
|
||||
= schema(vars->{'tenant'})->resultset('Virtual::DeviceDnsMismatch')
|
||||
->search( undef, { bind => [ $suffix, $suffix ] } )
|
||||
->columns( [qw/ ip dns name location contact /] )->hri->all;
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ get '/ajax/content/report/devicepoestatus/data' => require_login sub {
|
||||
send_error( 'Missing parameter', 400 )
|
||||
unless ( param('draw') && param('draw') =~ /\d+/ );
|
||||
|
||||
my $rs = schema('netdisco')->resultset('Virtual::DevicePoeStatus');
|
||||
my $rs = schema(vars->{'tenant'})->resultset('Virtual::DevicePoeStatus');
|
||||
|
||||
my $exp_params = expand_hash( scalar params );
|
||||
my $recordsTotal = $rs->count;
|
||||
@@ -44,7 +44,7 @@ get '/ajax/content/report/devicepoestatus' => require_login sub {
|
||||
}
|
||||
else {
|
||||
my @results
|
||||
= schema('netdisco')->resultset('Virtual::DevicePoeStatus')
|
||||
= schema(vars->{'tenant'})->resultset('Virtual::DevicePoeStatus')
|
||||
->hri->all;
|
||||
|
||||
return unless scalar @results;
|
||||
|
||||
@@ -17,7 +17,7 @@ register_report(
|
||||
|
||||
get '/ajax/content/report/duplexmismatch' => require_login sub {
|
||||
my @results
|
||||
= schema('netdisco')->resultset('Virtual::DuplexMismatch')->hri->all;
|
||||
= schema(vars->{'tenant'})->resultset('Virtual::DuplexMismatch')->hri->all;
|
||||
|
||||
return unless scalar @results;
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ register_report(
|
||||
|
||||
get '/ajax/content/report/halfduplex' => require_login sub {
|
||||
my @results
|
||||
= schema('netdisco')->resultset('DevicePort')
|
||||
= schema(vars->{'tenant'})->resultset('DevicePort')
|
||||
->columns( [qw/ ip port name duplex /] )->search(
|
||||
{ up => 'up', duplex => { '-ilike' => 'half' } },
|
||||
{ '+columns' => [qw/ device.dns device.name /],
|
||||
|
||||
@@ -15,7 +15,7 @@ register_report(
|
||||
);
|
||||
|
||||
get '/ajax/content/report/inventorybymodelbyos' => require_login sub {
|
||||
my @results = schema('netdisco')->resultset('Device')->search(undef, {
|
||||
my @results = schema(vars->{'tenant'})->resultset('Device')->search(undef, {
|
||||
columns => [qw/vendor model os os_ver/],
|
||||
select => [ { count => 'os_ver' } ],
|
||||
as => [qw/ os_ver_count /],
|
||||
|
||||
@@ -66,7 +66,7 @@ get '/ajax/content/report/ipinventory' => require_login sub {
|
||||
# server-side to provide user feedback
|
||||
$limit = 8192 if $limit > 8192;
|
||||
|
||||
my $rs1 = schema('netdisco')->resultset('DeviceIp')->search(
|
||||
my $rs1 = schema(vars->{'tenant'})->resultset('DeviceIp')->search(
|
||||
undef,
|
||||
{ join => ['device', 'device_port'],
|
||||
select => [
|
||||
@@ -86,7 +86,7 @@ get '/ajax/content/report/ipinventory' => require_login sub {
|
||||
}
|
||||
)->hri;
|
||||
|
||||
my $rs2 = schema('netdisco')->resultset('NodeIp')->search(
|
||||
my $rs2 = schema(vars->{'tenant'})->resultset('NodeIp')->search(
|
||||
undef,
|
||||
{ join => ['oui', 'netbios'],
|
||||
columns => [qw( ip mac time_first time_last dns active)],
|
||||
@@ -99,7 +99,7 @@ get '/ajax/content/report/ipinventory' => require_login sub {
|
||||
}
|
||||
)->hri;
|
||||
|
||||
my $rs3 = schema('netdisco')->resultset('NodeNbt')->search(
|
||||
my $rs3 = schema(vars->{'tenant'})->resultset('NodeNbt')->search(
|
||||
undef,
|
||||
{ join => ['oui'],
|
||||
columns => [qw( ip mac time_first time_last )],
|
||||
@@ -120,7 +120,7 @@ get '/ajax/content/report/ipinventory' => require_login sub {
|
||||
if ( $never ) {
|
||||
$subnet = NetAddr::IP::Lite->new('0.0.0.0/32') if ($subnet->bits ne 32);
|
||||
|
||||
my $rs4 = schema('netdisco')->resultset('Virtual::CidrIps')->search(
|
||||
my $rs4 = schema(vars->{'tenant'})->resultset('Virtual::CidrIps')->search(
|
||||
undef,
|
||||
{ bind => [ $subnet->cidr ],
|
||||
columns => [qw( ip mac time_first time_last dns active node age vendor nbname )],
|
||||
|
||||
@@ -41,11 +41,11 @@ get '/ajax/content/report/moduleinventory/data' => require_login sub {
|
||||
send_error( 'Missing parameter', 400 )
|
||||
unless ( param('draw') && param('draw') =~ /\d+/ );
|
||||
|
||||
my $rs = schema('netdisco')->resultset('DeviceModule');
|
||||
my $rs = schema(vars->{'tenant'})->resultset('DeviceModule');
|
||||
$rs = $rs->search( { -bool => 'fru' } ) if param('fruonly');
|
||||
|
||||
if ( param('device') ) {
|
||||
my @ips = schema('netdisco')->resultset('Device')
|
||||
my @ips = schema(vars->{'tenant'})->resultset('Device')
|
||||
->search_fuzzy( param('device') )->get_column('ip')->all;
|
||||
|
||||
params->{'ips'} = \@ips;
|
||||
@@ -87,14 +87,14 @@ get '/ajax/content/report/moduleinventory' => require_login sub {
|
||||
my $has_opt = List::MoreUtils::any { param($_) }
|
||||
qw/device description name type model serial class/;
|
||||
|
||||
my $rs = schema('netdisco')->resultset('DeviceModule');
|
||||
my $rs = schema(vars->{'tenant'})->resultset('DeviceModule');
|
||||
$rs = $rs->search( { -bool => 'fru' } ) if param('fruonly');
|
||||
my @results;
|
||||
|
||||
if ( $has_opt && !request->is_ajax ) {
|
||||
|
||||
if ( param('device') ) {
|
||||
my @ips = schema('netdisco')->resultset('Device')
|
||||
my @ips = schema(vars->{'tenant'})->resultset('Device')
|
||||
->search_fuzzy( param('device') )->get_column('ip')->all;
|
||||
|
||||
params->{'ips'} = \@ips;
|
||||
|
||||
@@ -41,7 +41,7 @@ get '/ajax/content/report/netbios/data' => require_login sub {
|
||||
|
||||
my $domain = param('domain');
|
||||
|
||||
my $rs = schema('netdisco')->resultset('NodeNbt');
|
||||
my $rs = schema(vars->{'tenant'})->resultset('NodeNbt');
|
||||
|
||||
my $search = $domain eq 'blank' ? '' : $domain;
|
||||
$rs = $rs->search( { domain => $search } )
|
||||
@@ -69,7 +69,7 @@ get '/ajax/content/report/netbios' => require_login sub {
|
||||
|
||||
my $domain = param('domain');
|
||||
|
||||
my $rs = schema('netdisco')->resultset('NodeNbt');
|
||||
my $rs = schema(vars->{'tenant'})->resultset('NodeNbt');
|
||||
my @results;
|
||||
|
||||
if ( defined $domain && !request->is_ajax ) {
|
||||
|
||||
@@ -16,7 +16,7 @@ register_report(
|
||||
);
|
||||
|
||||
get '/ajax/content/report/nodemultiips' => require_login sub {
|
||||
my @results = schema('netdisco')->resultset('Node')->search(
|
||||
my @results = schema(vars->{'tenant'})->resultset('Node')->search(
|
||||
{},
|
||||
{ select => [ 'mac', 'switch', 'port' ],
|
||||
join => [qw/device ips oui/],
|
||||
|
||||
@@ -42,7 +42,7 @@ get '/ajax/content/report/nodevendor/data' => require_login sub {
|
||||
|
||||
my $vendor = param('vendor');
|
||||
|
||||
my $rs = schema('netdisco')->resultset('Node');
|
||||
my $rs = schema(vars->{'tenant'})->resultset('Node');
|
||||
|
||||
my $match = $vendor eq 'blank' ? undef : $vendor;
|
||||
|
||||
@@ -78,7 +78,7 @@ get '/ajax/content/report/nodevendor' => require_login sub {
|
||||
|
||||
my $vendor = param('vendor');
|
||||
|
||||
my $rs = schema('netdisco')->resultset('Node');
|
||||
my $rs = schema(vars->{'tenant'})->resultset('Node');
|
||||
my @results;
|
||||
|
||||
if ( defined $vendor && !request->is_ajax ) {
|
||||
|
||||
@@ -42,7 +42,7 @@ register_report(
|
||||
get '/ajax/content/report/nodesdiscovered' => require_login sub {
|
||||
my $op = param('matchall') ? '-and' : '-or';
|
||||
|
||||
my @results = schema('netdisco')->resultset('Virtual::NodesDiscovered')
|
||||
my @results = schema(vars->{'tenant'})->resultset('Virtual::NodesDiscovered')
|
||||
->search({
|
||||
$op => [
|
||||
(param('aps') ?
|
||||
|
||||
@@ -16,7 +16,7 @@ register_report(
|
||||
);
|
||||
|
||||
get '/ajax/content/report/portadmindown' => require_login sub {
|
||||
my @results = schema('netdisco')->resultset('Device')->search(
|
||||
my @results = schema(vars->{'tenant'})->resultset('Device')->search(
|
||||
{ 'up_admin' => 'down' },
|
||||
{ select => [ 'ip', 'dns', 'name' ],
|
||||
join => [ 'ports' ],
|
||||
|
||||
@@ -16,7 +16,7 @@ register_report(
|
||||
);
|
||||
|
||||
get '/ajax/content/report/portblocking' => require_login sub {
|
||||
my @results = schema('netdisco')->resultset('Device')->search(
|
||||
my @results = schema(vars->{'tenant'})->resultset('Device')->search(
|
||||
{ 'stp' => [ 'blocking', 'broken' ], 'up' => { '!=', 'down' } },
|
||||
{ select => [ 'ip', 'dns', 'name' ],
|
||||
join => ['ports'],
|
||||
|
||||
@@ -26,8 +26,8 @@ sub _sanity_ok {
|
||||
ajax '/ajax/control/report/portlog/add' => require_login sub {
|
||||
send_error('Bad Request', 400) unless _sanity_ok();
|
||||
|
||||
schema('netdisco')->txn_do(sub {
|
||||
my $user = schema('netdisco')->resultset('DevicePortLog')
|
||||
schema(vars->{'tenant'})->txn_do(sub {
|
||||
my $user = schema(vars->{'tenant'})->resultset('DevicePortLog')
|
||||
->create({
|
||||
ip => param('ip'),
|
||||
port => param('port'),
|
||||
@@ -45,11 +45,11 @@ ajax '/ajax/content/report/portlog' => require_login sub {
|
||||
my $port = param('f');
|
||||
send_error('Bad Request', 400) unless $device and $port;
|
||||
|
||||
$device = schema('netdisco')->resultset('Device')
|
||||
$device = schema(vars->{'tenant'})->resultset('Device')
|
||||
->search_for_device($device);
|
||||
return unless $device;
|
||||
|
||||
my $set = schema('netdisco')->resultset('DevicePortLog')->search({
|
||||
my $set = schema(vars->{'tenant'})->resultset('DevicePortLog')->search({
|
||||
ip => $device->ip,
|
||||
port => $port,
|
||||
}, {
|
||||
|
||||
@@ -22,7 +22,7 @@ register_report(
|
||||
);
|
||||
|
||||
get '/ajax/content/report/portmultinodes' => require_login sub {
|
||||
my @results = schema('netdisco')->resultset('Device')->search(
|
||||
my @results = schema(vars->{'tenant'})->resultset('Device')->search(
|
||||
{ 'ports.remote_ip' => undef,
|
||||
(param('vlan') ?
|
||||
('ports.vlan' => param('vlan'), 'nodes.vlan' => param('vlan')) : ()),
|
||||
|
||||
@@ -46,7 +46,7 @@ get '/ajax/content/report/portssid' => require_login sub {
|
||||
|
||||
my $ssid = param('ssid');
|
||||
|
||||
my $rs = schema('netdisco')->resultset('DevicePortSsid');
|
||||
my $rs = schema(vars->{'tenant'})->resultset('DevicePortSsid');
|
||||
|
||||
if ( defined $ssid ) {
|
||||
|
||||
|
||||
@@ -28,11 +28,11 @@ register_report(
|
||||
);
|
||||
|
||||
get '/ajax/content/report/portutilization' => require_login sub {
|
||||
return unless schema('netdisco')->resultset('Device')->count;
|
||||
return unless schema(vars->{'tenant'})->resultset('Device')->count;
|
||||
|
||||
my $age_num = param('age_num') || 3;
|
||||
my $age_unit = param('age_unit') || 'months';
|
||||
my @results = schema('netdisco')->resultset('Virtual::PortUtilization')
|
||||
my @results = schema(vars->{'tenant'})->resultset('Virtual::PortUtilization')
|
||||
->search(undef, { bind => [ "$age_num $age_unit", "$age_num $age_unit", "$age_num $age_unit" ] })->hri->all;
|
||||
|
||||
if (request->is_ajax) {
|
||||
|
||||
@@ -17,8 +17,8 @@ register_report(
|
||||
);
|
||||
|
||||
get '/ajax/content/report/portvlanmismatch' => require_login sub {
|
||||
return unless schema('netdisco')->resultset('Device')->count;
|
||||
my @results = schema('netdisco')
|
||||
return unless schema(vars->{'tenant'})->resultset('Device')->count;
|
||||
my @results = schema(vars->{'tenant'})
|
||||
->resultset('Virtual::PortVLANMismatch')->search({},{
|
||||
bind => [ setting('sidebar_defaults')->{'device_ports'}->{'p_hide1002'}->{'default'}
|
||||
? (1002, 1003, 1004, 1005) : (0, 0, 0, 0) ],
|
||||
|
||||
@@ -16,7 +16,7 @@ register_report(
|
||||
);
|
||||
|
||||
get '/ajax/content/report/ssidinventory' => require_login sub {
|
||||
my @results = schema('netdisco')->resultset('DevicePortSsid')
|
||||
my @results = schema(vars->{'tenant'})->resultset('DevicePortSsid')
|
||||
->get_ssids->hri->all;
|
||||
|
||||
return unless scalar @results;
|
||||
|
||||
@@ -40,7 +40,7 @@ get '/ajax/content/report/subnets' => require_login sub {
|
||||
$start = $start . ' 00:00:00';
|
||||
$end = $end . ' 23:59:59';
|
||||
|
||||
my @results = schema('netdisco')->resultset('Virtual::SubnetUtilization')
|
||||
my @results = schema(vars->{'tenant'})->resultset('Virtual::SubnetUtilization')
|
||||
->search(undef,{
|
||||
bind => [ $subnet, $start, $end, $start, $subnet, $start, $start ],
|
||||
})->hri->all;
|
||||
|
||||
@@ -16,7 +16,7 @@ register_report(
|
||||
);
|
||||
|
||||
get '/ajax/content/report/vlaninventory' => require_login sub {
|
||||
my @results = schema('netdisco')->resultset('DeviceVlan')->search(
|
||||
my @results = schema(vars->{'tenant'})->resultset('DeviceVlan')->search(
|
||||
{ 'me.description' => { '!=', 'NULL' },
|
||||
'me.vlan' => { '>' => 0 },
|
||||
'ports.vlan' => { '>' => 0 },
|
||||
|
||||
Reference in New Issue
Block a user