ffzg/recall_notices.pl: added --interval and --dedup
[koha.git] / patroncards / print.pl
index 2c674a4..8992038 100755 (executable)
@@ -17,8 +17,7 @@
 # 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 Modern::Perl;
 
 use CGI qw ( -utf8 );
 use autouse 'Data::Dumper' => qw(Dumper);
@@ -41,13 +40,14 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
 );
 
 my $op = $cgi->param('op') || 'none';
-my @label_ids = $cgi->param('label_id') if $cgi->param('label_id');   # this will handle individual card printing; we use label_id to maintain consistency with the column names in the creator_batches table
-my @batch_ids = $cgi->param('batch_id') if $cgi->param('batch_id');
+my @label_ids = $cgi->multi_param('label_id') if $cgi->param('label_id');   # this will handle individual card printing; we use label_id to maintain consistency with the column names in the creator_batches table
+my @batch_ids = $cgi->multi_param('batch_id') if $cgi->param('batch_id');
 my $patronlist_id = $cgi->param('patronlist_id') || undef;
 my $layout_id = $cgi->param('layout_id') || undef;
+my $layout_back_id = $cgi->param('layout_back_id') || undef;
 my $template_id = $cgi->param('template_id') || undef;
 my $start_card = $cgi->param('start_card') || 1;
-my @borrower_numbers = $cgi->param('borrower_number') if $cgi->param('borrower_number');
+my @borrower_numbers = $cgi->multi_param('borrower_number') if $cgi->param('borrower_number');
 my $output_format = $cgi->param('output_format') || 'pdf';
 my $referer = $cgi->param('referer') || undef;
 
@@ -67,6 +67,7 @@ if ($op eq 'export') {
                          batch_id        => $batch_ids[0],
                          template_id     => $template_id,
                          layout_id       => $layout_id,
+                         layout_back_id  => $layout_back_id,
                          start_card      => $start_card,
                          label_ids       => $label_id_param,
                          card_count      => scalar(@label_ids),
@@ -82,6 +83,7 @@ if ($op eq 'export') {
         push (@batches, {create_script   => ($output_format eq 'pdf' ? 'create-pdf.pl' : 'create-csv.pl'),
                          template_id     => $template_id,
                          layout_id       => $layout_id,
+                         layout_back_id  => $layout_back_id,
                          start_card      => $start_card,
                          borrower_numbers    => $borrower_number_param,
                          card_count      => scalar(@borrower_numbers),
@@ -97,6 +99,7 @@ if ($op eq 'export') {
                             batch_id        => $batch_id,
                             template_id     => $template_id,
                             layout_id       => $layout_id,
+                            layout_back_id  => $layout_back_id,
                             start_card      => $start_card,
                             });
         }
@@ -110,6 +113,7 @@ if ($op eq 'export') {
                          patronlist_id   => $patronlist_id,
                          template_id     => $template_id,
                          layout_id       => $layout_id,
+                         layout_back_id  => $layout_back_id,
                          start_card      => $start_card,
                          referer         => $referer,
                         );
@@ -122,8 +126,8 @@ elsif ($op eq 'none') {
     @batch_ids = grep{$_ = {batch_id => $_}} @batch_ids;
     @label_ids = grep{$_ = {label_id => $_}} @label_ids;
     @borrower_numbers = grep{$_ = {borrower_number => $_}} @borrower_numbers;
-    $templates = get_all_templates(field_list => 'template_id, template_code', filter => 'creator = "Patroncards"');
-    $layouts = get_all_layouts(field_list => 'layout_id, layout_name', filter => 'creator = "Patroncards"');
+    $templates = get_all_templates( { fields => [qw( template_id template_code ) ], filters => { creator => "Patroncards" } });
+    $layouts = get_all_layouts({ fields => [ qw( layout_id layout_name ) ], filters => { creator => "Patroncards" } });
     $output_formats = get_output_formats();
     $template->param(
                     batch_ids                   => \@batch_ids,