1package App::Netdisco::Web::Plugin::Report::PortVLANMismatch; 2 3use Dancer ':syntax'; 4use Dancer::Plugin::DBIC; 5use Dancer::Plugin::Auth::Extensible; 6 7use App::Netdisco::Web::Plugin; 8 9register_report( 10 { category => 'Port', 11 tag => 'portvlanmismatch', 12 label => 'Port VLAN Mismatches', 13 provides_csv => 1, 14 api_endpoint => 1, 15 } 16); 17 18get '/ajax/content/report/portvlanmismatch' => require_login sub { 19 return unless schema('netdisco')->resultset('Device')->count; 20 my @results = schema('netdisco')->resultset('Virtual::PortVLANMismatch')->hri->all; 21 22 if (request->is_ajax) { 23 my $json = to_json (\@results); 24 template 'ajax/report/portvlanmismatch.tt', { results => $json }; 25 } 26 else { 27 header( 'Content-Type' => 'text/comma-separated-values' ); 28 template 'ajax/report/portvlanmismatch_csv.tt', { results => \@results, }; 29 } 30}; 31 321; 33