=cut
use Modern::Perl;
-use Carp;
+use Carp qw( carp );
use CGI qw( -utf8 );
-use C4::Auth;
-use C4::Output;
+use C4::Auth qw( get_template_and_user );
+use C4::Output qw( output_and_exit_if_error output_and_exit output_html_with_http_headers );
use C4::Members;
use C4::Reserves;
use C4::Letters;
use Koha::Patron::Discharge;
use Koha::Patrons;
-use Koha::DateUtils;
-my $input = new CGI;
+my $input = CGI->new;
my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user({
template_name => 'members/discharge.tt',
query => $input,
type => 'intranet',
- authnotrequired => 0,
flagsrequired => { 'borrowers' => 'edit_borrowers' },
});
exit;
}
-my $logged_in_user = Koha::Patrons->find( $loggedinuser ) or die "Not logged in";
+my $logged_in_user = Koha::Patrons->find( $loggedinuser );
my $patron = Koha::Patrons->find( $borrowernumber );
output_and_exit_if_error( $input, $cookie, $template, { module => 'members', logged_in_user => $logged_in_user, current_patron => $patron } );
borrowernumber => $borrowernumber
});
-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({
my @lines = <$fh>;
close $fh;
print @lines;
- exit;
};
if ( $@ ) {
carp $@;
$template->param( messages => [ {type => 'error', code => 'unable_to_generate_pdf'} ] );
+ } else {
+ # no error, pdf is sent, so stop sending data to browser
+ exit;
}
}
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,
+ patron => $patron,
can_be_discharged => $can_be_discharged,
validated_discharges => \@validated_discharges,
);