1package App::Netdisco::Web::Plugin::Device::Details; 2 3use Dancer ':syntax'; 4use Dancer::Plugin::Ajax; 5use Dancer::Plugin::DBIC; 6use Dancer::Plugin::Auth::Extensible; 7 8use App::Netdisco::Web::Plugin; 9 10register_device_tab({ tag => 'details', label => 'Details' }); 11 12# device details table 13ajax '/ajax/content/device/details' => require_login sub { 14 my $q = param('q'); 15 my $device = schema('netdisco')->resultset('Device') 16 ->search_for_device($q) or send_error('Bad device', 400); 17 18 my @results 19 = schema('netdisco')->resultset('Device') 20 ->search( { 'me.ip' => $device->ip } )->with_times() 21 ->hri->all; 22 23 my @power 24 = schema('netdisco')->resultset('DevicePower') 25 ->search( { 'me.ip' => $device->ip } )->with_poestats->hri->all; 26 27 content_type('text/html'); 28 template 'ajax/device/details.tt', { 29 d => $results[0], p => \@power 30 }, { layout => undef }; 31}; 32 331; 34