exit;
}
-if ( $input->param('borrowernumber') ) {
- $borrowernumber = $input->param('borrowernumber');
+$borrowernumber = $input->param('borrowernumber');
- # Getting member data
- my $patron = Koha::Patrons->find( $borrowernumber );
+my $patron = Koha::Patrons->find( $borrowernumber );
+unless ( $patron ) {
+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber");
+ exit;
+}
- my $can_be_discharged = Koha::Patron::Discharge::can_be_discharged({
- borrowernumber => $borrowernumber
- });
+my $can_be_discharged = Koha::Patron::Discharge::can_be_discharged({
+ borrowernumber => $borrowernumber
+});
- my $holds = $patron->holds;
- my $has_reserves = $holds->count;
+my $holds = $patron->holds;
+my $has_reserves = $holds->count;
- # Generating discharge if needed
- if ( $input->param('discharge') and $can_be_discharged ) {
- my $is_discharged = Koha::Patron::Discharge::is_discharged({
- borrowernumber => $borrowernumber,
+# Generating discharge if needed
+if ( $input->param('discharge') and $can_be_discharged ) {
+ my $is_discharged = Koha::Patron::Discharge::is_discharged({
+ borrowernumber => $borrowernumber,
+ });
+ unless ($is_discharged) {
+ Koha::Patron::Discharge::discharge({
+ borrowernumber => $borrowernumber
});
- unless ($is_discharged) {
- Koha::Patron::Discharge::discharge({
- borrowernumber => $borrowernumber
- });
- }
- eval {
- my $pdf_path = Koha::Patron::Discharge::generate_as_pdf(
- { borrowernumber => $borrowernumber, branchcode => $patron->branchcode } );
-
- binmode(STDOUT);
- print $input->header(
- -type => 'application/pdf',
- -charset => 'utf-8',
- -attachment => "discharge_$borrowernumber.pdf",
- );
- open my $fh, '<', $pdf_path;
- my @lines = <$fh>;
- close $fh;
- print @lines;
- exit;
- };
- if ( $@ ) {
- carp $@;
- $template->param( messages => [ {type => 'error', code => 'unable_to_generate_pdf'} ] );
- }
}
+ eval {
+ my $pdf_path = Koha::Patron::Discharge::generate_as_pdf(
+ { borrowernumber => $borrowernumber, branchcode => $patron->branchcode } );
+
+ binmode(STDOUT);
+ print $input->header(
+ -type => 'application/pdf',
+ -charset => 'utf-8',
+ -attachment => "discharge_$borrowernumber.pdf",
+ );
+ open my $fh, '<', $pdf_path;
+ my @lines = <$fh>;
+ close $fh;
+ print @lines;
+ exit;
+ };
+ if ( $@ ) {
+ carp $@;
+ $template->param( messages => [ {type => 'error', code => 'unable_to_generate_pdf'} ] );
+ }
+}
- # Already generated discharges
- my $validated_discharges = Koha::Patron::Discharge::get_validated({
- borrowernumber => $borrowernumber,
- });
+# Already generated discharges
+my $validated_discharges = Koha::Patron::Discharge::get_validated({
+ borrowernumber => $borrowernumber,
+});
- $template->param( picture => 1 ) if $patron->image;
-
- $template->param(
- # FIXME The patron object should be passed to the template
- borrowernumber => $borrowernumber,
- title => $patron->title,
- initials => $patron->initials,
- surname => $patron->surname,
- borrowernumber => $borrowernumber,
- firstname => $patron->firstname,
- cardnumber => $patron->cardnumber,
- categorycode => $patron->categorycode,
- category_type => $patron->category->category_type,
- categoryname => $patron->category->description,
- address => $patron->address,
- streetnumber => $patron->streetnumber,
- streettype => $patron->streettype,
- address2 => $patron->address2,
- city => $patron->city,
- zipcode => $patron->zipcode,
- country => $patron->country,
- phone => $patron->phone,
- email => $patron->email,
- branchcode => $patron->branchcode,
- has_reserves => $has_reserves,
- can_be_discharged => $can_be_discharged,
- validated_discharges => $validated_discharges,
- );
-}
+$template->param( picture => 1 ) if $patron->image;
+
+$template->param(
+ # FIXME The patron object should be passed to the template
+ borrowernumber => $borrowernumber,
+ title => $patron->title,
+ initials => $patron->initials,
+ surname => $patron->surname,
+ borrowernumber => $borrowernumber,
+ firstname => $patron->firstname,
+ cardnumber => $patron->cardnumber,
+ categorycode => $patron->categorycode,
+ category_type => $patron->category->category_type,
+ categoryname => $patron->category->description,
+ address => $patron->address,
+ streetnumber => $patron->streetnumber,
+ streettype => $patron->streettype,
+ address2 => $patron->address2,
+ city => $patron->city,
+ zipcode => $patron->zipcode,
+ country => $patron->country,
+ phone => $patron->phone,
+ email => $patron->email,
+ branchcode => $patron->branchcode,
+ has_reserves => $has_reserves,
+ can_be_discharged => $can_be_discharged,
+ validated_discharges => $validated_discharges,
+);
$template->param( dischargeview => 1, );