X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fmisc%2Finventory_item-move.cgi;h=6b2ab1413ccc341228db1c9310c9c0d56b18de4a;hp=4d53beb2311bf0856c734caacbefca21827e44b4;hb=ded6a5654efd56d2f271970c992133600e0223b1;hpb=b5c4237a34aef94976bc343c8d9e138664fc3984 diff --git a/httemplate/misc/inventory_item-move.cgi b/httemplate/misc/inventory_item-move.cgi index 4d53beb23..6b2ab1413 100644 --- a/httemplate/misc/inventory_item-move.cgi +++ b/httemplate/misc/inventory_item-move.cgi @@ -1,21 +1,37 @@ <% '',$cgi->redirect(popurl(2). "search/inventory_item.html?$browse_opts") %> <%init> +die "access denied" unless $FS::CurrentUser::CurrentUser->access_right( + [ 'Edit inventory', 'Edit global inventory' ] + ); -# Shamelessly copied from misc/cust_attachment.cgi. my $browse_opts = join(';', map { $_.'='.$cgi->param($_) } qw( classnum avail ) ); -my $move_agentnum = $cgi->param('move_agentnum') or - die "No agent selected"; -foreach my $itemnum ( - map { /^itemnum(\d+)$/; $1; } grep /^itemnum\d+$/, $cgi->param ) { - my $item = qsearchs('inventory_item', { 'itemnum' => $itemnum }); + +my $move_agentnum; +if ( $cgi->param('move') ) { + $move_agentnum = $cgi->param('move_agentnum') or + die "No agent selected"; +} elsif ( $cgi->param('delete') ) { + # don't need it in this case +} else { + die "No action selected"; +} + +foreach my $itemnum ( grep /^\d+$/, $cgi->param('itemnum') ) +{ + my $item = FS::inventory_item->by_key($itemnum) or next; +# UI disallows this # die "Can't move assigned inventory item $itemnum" if $item->svcnum; my $error; - $item->agentnum($move_agentnum); - $error = $item->replace; + if ( $cgi->param('move') ) { + $item->agentnum($move_agentnum); + $error = $item->replace; + } elsif ( $cgi->param('delete') ) { + $error = $item->delete; + } die $error if $error; }