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