RT# 75817 - updated UI to be more intuitive
[freeside.git] / httemplate / misc / inventory_item-move.cgi
index 4d53beb..6b2ab14 100644 (file)
@@ -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;
 }