From 80eddb3dc8201a9686db214af2d6dbc5a637c107 Mon Sep 17 00:00:00 2001 From: mark Date: Tue, 25 May 2010 07:53:08 +0000 Subject: [PATCH] RT#7010: inventory items can be moved between agents --- httemplate/misc/inventory_item-move.cgi | 23 +++++++++++++++++ httemplate/search/inventory_item.html | 45 ++++++++++++++++++++++++++++++++- 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 httemplate/misc/inventory_item-move.cgi diff --git a/httemplate/misc/inventory_item-move.cgi b/httemplate/misc/inventory_item-move.cgi new file mode 100644 index 000000000..4d53beb23 --- /dev/null +++ b/httemplate/misc/inventory_item-move.cgi @@ -0,0 +1,23 @@ +<% '',$cgi->redirect(popurl(2). "search/inventory_item.html?$browse_opts") %> +<%init> + +# 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 }); +# die "Can't move assigned inventory item $itemnum" if $item->svcnum; + my $error; + $item->agentnum($move_agentnum); + $error = $item->replace; + die $error if $error; +} + + + diff --git a/httemplate/search/inventory_item.html b/httemplate/search/inventory_item.html index 37914e0a7..086c8e92d 100644 --- a/httemplate/search/inventory_item.html +++ b/httemplate/search/inventory_item.html @@ -34,6 +34,7 @@ $inventory_class->classname, 'Service', FS::UI::Web::cust_header(), + '', # checkbox column ], 'fields' => [ @@ -56,6 +57,7 @@ }, \&FS::UI::Web::cust_fields, + $sub_checkbox, ], 'align' => 'rll'.FS::UI::Web::cust_aligns(), @@ -79,7 +81,12 @@ '', FS::UI::Web::cust_styles(), ], - + 'html_form' => + qq! +
+ +', #' + 'html_foot' => $sub_foot, ) %> <%init> @@ -151,5 +158,41 @@ my $addl_from = ' LEFT JOIN cust_svc USING ( svcnum ) '. ' LEFT JOIN part_svc USING ( svcpart ) '. ' LEFT JOIN cust_pkg USING ( pkgnum ) '. ' LEFT JOIN cust_main USING ( custnum ) '; +my $areboxes = 0; + +my $sub_checkbox = sub { + my $item = $_[0]; + my $itemnum = $item->itemnum; + #return '' if $item->svcnum; + $areboxes = 1; + return qq!!; +}; + +my $sub_foot = sub { + return if !$areboxes; + my $foot = +'
+ +
+ +'; + $foot; +}; + + + -- 2.11.0