From 1edf485ec7d9a3b3895f04a9afd9b05fb43b02fd Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Sat, 22 Feb 2014 12:16:32 +0000 Subject: [PATCH] Do not trigger userlog popups for all/walk jobs --- Netdisco/Changes | 1 + Netdisco/lib/App/Netdisco/Web/AdminTask.pm | 30 +++++++++++----------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/Netdisco/Changes b/Netdisco/Changes index 2dc21ea2..078ed11c 100644 --- a/Netdisco/Changes +++ b/Netdisco/Changes @@ -23,6 +23,7 @@ * Fix IP Inventory Report to work without daterange * Fix "list IPs never seen" to work without daterange in IP Inventory Report * Correct "Archive" status of nodes in IP Inventory Report + * Do not trigger userlog popups for all/walk jobs 2.023002 - 2014-02-17 diff --git a/Netdisco/lib/App/Netdisco/Web/AdminTask.pm b/Netdisco/lib/App/Netdisco/Web/AdminTask.pm index 2c0efeca..cd1216b8 100644 --- a/Netdisco/lib/App/Netdisco/Web/AdminTask.pm +++ b/Netdisco/lib/App/Netdisco/Web/AdminTask.pm @@ -7,6 +7,20 @@ use Dancer::Plugin::Auth::Extensible; use Try::Tiny; +# we have a separate list for jobs needing a device to avoid queueing +# such a job when there's no device param (it could still be duff, tho). +my %jobs = map { $_ => 1} qw/ + discover + macsuck + arpnip +/; +my %jobs_all = map {$_ => 1} qw/ + discoverall + macwalk + arpwalk + nbtwalk +/; + sub add_job { my ($jobtype, $device, $subaction) = @_; @@ -23,26 +37,12 @@ sub add_job { action => $jobtype, ($subaction ? (subaction => $subaction) : ()), status => 'queued', - username => session('logged_in_user'), + (exists $jobs{$jobtype} ? (username => session('logged_in_user')) : ()), userip => request->remote_address, }); }; } -# we have a separate list for jobs needing a device to avoid queueing -# such a job when there's no device param (it could still be duff, tho). -my %jobs = map { $_ => 1} qw/ - discover - macsuck - arpnip -/; -my %jobs_all = map {$_ => 1} qw/ - discoverall - macwalk - arpwalk - nbtwalk -/; - foreach my $jobtype (keys %jobs_all, keys %jobs) { ajax "/ajax/control/admin/$jobtype" => require_role admin => sub { send_error('Missing device', 400)