|
Lines 45-57
my ( $template, $loggedinuser, $cookie ) = get_template_and_user({
Link Here
|
| 45 |
}); |
45 |
}); |
| 46 |
|
46 |
|
| 47 |
|
47 |
|
| 48 |
my $batch_id = $cgi->param('batch_id') if $cgi->param('batch_id'); |
48 |
my $batch_id = $cgi->param('batch_id') || undef; |
| 49 |
my $template_id = $cgi->param('template_id') || undef; |
49 |
my $template_id = $cgi->param('template_id') || undef; |
| 50 |
my $layout_id = $cgi->param('layout_id') || undef; |
50 |
my $layout_id = $cgi->param('layout_id') || undef; |
| 51 |
my $start_card = $cgi->param('start_card') || 1; |
51 |
my $start_card = $cgi->param('start_card') || 1; |
| 52 |
my @label_ids = $cgi->param('label_id') if $cgi->param('label_id'); |
52 |
my @label_ids = $cgi->param('label_id') if $cgi->param('label_id'); |
| 53 |
my @borrower_numbers = $cgi->param('borrower_number') if $cgi->param('borrower_number'); |
53 |
my @borrower_numbers = $cgi->param('borrower_number') if $cgi->param('borrower_number'); |
| 54 |
|
54 |
|
|
|
55 |
|
| 56 |
# Proof of concept pretesting see Bug 14138 |
| 57 |
# Prepare for pre-tests |
| 58 |
|
| 59 |
my $batch_failed = ''; |
| 60 |
my $patron_failed = ''; |
| 61 |
my $template_failed = ''; |
| 62 |
my $layout_failed = ''; |
| 63 |
|
| 64 |
|
| 65 |
my $batch = C4::Patroncards::Batch->retrieve(batch_id => $batch_id) if ($batch_id); |
| 66 |
# returns -1 or -2 if error occured |
| 67 |
$batch_failed = $batch_id if ( ( $batch && $batch < 0 ) || ! $batch ); |
| 68 |
|
| 69 |
# Later add code to handle lists (Bug 14131) |
| 70 |
# Later prevent that more than one of patron / batch / list is given |
| 71 |
|
| 72 |
if ( @borrower_numbers ) { |
| 73 |
my $test_number = GetMember(borrowernumber => @borrower_numbers); |
| 74 |
$patron_failed = @borrower_numbers unless ( $test_number ); |
| 75 |
} |
| 76 |
|
| 77 |
my $pc_template; |
| 78 |
my $template_failed = ''; |
| 79 |
if ( $template_id ) { |
| 80 |
$pc_template = C4::Patroncards::Template->retrieve(template_id => $template_id, profile_id => 1); |
| 81 |
# returns -1 or -2 if error occured |
| 82 |
$template_failed = $template_id if ( $pc_template && $pc_template < 0 ); |
| 83 |
} else { |
| 84 |
$template_failed = 'missing'; |
| 85 |
} |
| 86 |
|
| 87 |
my $layout; |
| 88 |
if ( $layout_id ) { |
| 89 |
$layout = C4::Patroncards::Layout->retrieve(layout_id => $layout_id); |
| 90 |
# returns -1 or -2 if error occured |
| 91 |
$layout_failed = $layout_id if ( $layout && $layout < 0 ); |
| 92 |
} else { |
| 93 |
$layout_failed = 'missing'; |
| 94 |
} |
| 95 |
|
| 96 |
|
| 97 |
# Display the errors and go back to previous page |
| 98 |
# Later: Fit better into Koha look and feel (Template?) / Translation issues (is hard coded) |
| 99 |
if ( $batch_failed || $patron_failed || $template_failed || $layout_failed ) { |
| 100 |
my $errmessage = ''; |
| 101 |
$errmessage .= "ERROR "; |
| 102 |
$errmessage .= "Template $template_failed " if ( $template_failed ); |
| 103 |
$errmessage .= "Layout $layout_failed " if ( $layout_failed ); |
| 104 |
$errmessage .= "Batch $batch_failed " if ( $batch_failed ); |
| 105 |
$errmessage .= "Patron $patron_failed" if ( $patron_failed ); |
| 106 |
|
| 107 |
print $cgi->header( -type => 'text/html', -encoding => 'utf-8', ); |
| 108 |
my $errtitle = 'Error preparing PDF document'; |
| 109 |
my $errscript = "alert(\" $errmessage \"); window.history.back();"; |
| 110 |
print $cgi-> start_html( -title => $errtitle, -onLoad => $errscript, ); |
| 111 |
print $cgi->h1($errtitle); |
| 112 |
print $cgi->end_html(); |
| 113 |
exit 1; |
| 114 |
} |
| 115 |
|
| 116 |
|
| 117 |
# Do the work |
| 55 |
my $items = undef; # items = cards |
118 |
my $items = undef; # items = cards |
| 56 |
my $new_page = 0; |
119 |
my $new_page = 0; |
| 57 |
|
120 |
|
|
Lines 62-70
print $cgi->header( -type => 'application/pdf',
Link Here
|
| 62 |
); |
125 |
); |
| 63 |
|
126 |
|
| 64 |
my $pdf = C4::Creators::PDF->new(InitVars => 0); |
127 |
my $pdf = C4::Creators::PDF->new(InitVars => 0); |
| 65 |
my $batch = C4::Patroncards::Batch->retrieve(batch_id => $batch_id); |
|
|
| 66 |
my $pc_template = C4::Patroncards::Template->retrieve(template_id => $template_id, profile_id => 1); |
| 67 |
my $layout = C4::Patroncards::Layout->retrieve(layout_id => $layout_id); |
| 68 |
|
128 |
|
| 69 |
$| = 1; |
129 |
$| = 1; |
| 70 |
|
130 |
|
| 71 |
- |
|
|