Bug 33309: Index items after renewal transaction completes
[koha-ffzg.git] / patroncards / edit-batch.pl
index e30fc62..dbb3d9c 100755 (executable)
 # You should have received a copy of the GNU General Public License
 # along with Koha; if not, see <http://www.gnu.org/licenses>.
 
-use strict;
-use warnings;
-use vars qw($debug);
+
+use Modern::Perl;
 
 use CGI qw ( -utf8 );
 use autouse 'Data::Dumper' => qw(Dumper);
 
-use C4::Auth qw(get_template_and_user);
-use C4::Output qw(output_html_with_http_headers);
-use C4::Creators;
+use C4::Auth qw( get_template_and_user );
+use C4::Output qw( output_html_with_http_headers );
+use C4::Creators qw( get_card_summary html_table );
 use C4::Patroncards;
-use C4::Members qw(GetMember);
-my $cgi = new CGI;
+use Koha::Patrons;
+
+my $cgi = CGI->new;
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {
         template_name   => "patroncards/edit-batch.tt",
         query           => $cgi,
         type            => "intranet",
-        authnotrequired => 0,
-        flagsrequired   => { catalogue => 1 },
-        debug           => 1,
+        flagsrequired   => { tools => 'label_creator' },
     }
 );
 
@@ -47,21 +45,29 @@ my $duplicate_count = undef;
 my $duplicate_message = undef;
 my $db_rows = {};
 my $batch = undef;
-my $display_columns = [ {_card_number   => {label => 'Card Number', link_field => 0}},
-                        {_summary       => {label => 'Summary', link_field => 0}},
+my $display_columns = [ {_summary       => {label => 'Summary', link_field => 0}},
                         {borrowernumber => {label => 'Borrower Number', link_field => 0}},
+                        {_action        => {label => 'Actions ', link_field => 0}},
                         {select         => {label => 'Select', value => '_label_id'}},
                       ];
 my $op = $cgi->param('op') || 'new';
 my $batch_id = $cgi->param('element_id') || $cgi->param('batch_id') || 0;
+my $description = $cgi->param('description') || '';
 my ( @label_ids, @item_numbers, @borrower_numbers );
-@label_ids = $cgi->param('label_id') if $cgi->param('label_id');
-@item_numbers = $cgi->param('item_number') if $cgi->param('item_number');
-@borrower_numbers = $cgi->param('borrower_number') if $cgi->param('borrower_number');
+@label_ids = $cgi->multi_param('label_id') if $cgi->param('label_id');
+@item_numbers = $cgi->multi_param('item_number') if $cgi->param('item_number');
+@borrower_numbers = $cgi->multi_param('borrower_number') if $cgi->param('borrower_number');
 my $errstr = $cgi->param('error') || '';
 my $bor_num_list = $cgi->param('bor_num_list') || undef;
 my $branch_code = C4::Context->userenv->{'branch'};
 
+my @errors = ( 'pdferr', 'errnocards', 'errba', 'errpl', 'errpt', 'errlo', 'errtpl', );
+foreach my $param (@errors) {
+    my $error = $cgi->param($param) ? 1 : 0;
+    $template->param( 'error_' . $param => $error )
+      if $error;
+}
+
 if ($op eq 'remove') {
     $batch = C4::Patroncards::Batch->retrieve(batch_id => $batch_id);
     foreach my $label_id (@label_ids) {
@@ -84,7 +90,7 @@ if ($bor_num_list) {
         my @bor_nums_unchecked = split /\n/, $bor_num_list; # $bor_num_list is effectively passed in as a <cr> separated list
         foreach my $number (@bor_nums_unchecked) {
             $number =~ s/\r$//; # strip any naughty return chars
-            if ( GetMember(borrowernumber => $number)) {  # we must test in case an invalid borrowernumber is passed in; we effectively disgard them atm
+            if ( Koha::Patrons->find( $number )) {  # we must test in case an invalid borrowernumber is passed in; we effectively disgard them atm
                 my $borrower_number = $number;
                 push @borrower_numbers, $borrower_number;
             }
@@ -92,6 +98,7 @@ if ($bor_num_list) {
     }
     if ($batch_id != 0) {$batch = C4::Patroncards::Batch->retrieve(batch_id => $batch_id);}
     if ($batch_id == 0 || $batch == -2) {$batch = C4::Patroncards::Batch->new(branch_code => $branch_code);}
+    $template->param( description => $batch->{'description'} );
     if ($branch_code){
         foreach my $borrower_number (@borrower_numbers) {
             $err = $batch->add_item($borrower_number);
@@ -118,6 +125,7 @@ elsif ($op eq 'de_duplicate') {
 }
 elsif ($op eq 'edit') {
     $batch = C4::Patroncards::Batch->retrieve(batch_id => $batch_id);
+    $template->param( description => $batch->{'description'} );
 }
 elsif ($op eq 'new') {
     if ($branch_code eq '') {