use C4::Members;
use C4::Reserves;
use C4::Letters;
-use Koha::Borrower::Discharge;
+use Koha::Patron::Discharge;
+use Koha::Patrons;
use Koha::DateUtils;
my $input = new CGI;
+
my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user({
template_name => 'members/discharge.tt',
query => $input,
flagsrequired => { 'borrowers' => '*' },
});
-my $borrowernumber;
-my $data;
+my $borrowernumber = $input->param('borrowernumber');
+
+unless ( C4::Context->preference('useDischarge') ) {
+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber&nopermission=1");
+ exit;
+}
+
if ( $input->param('borrowernumber') ) {
$borrowernumber = $input->param('borrowernumber');
# Getting member data
- $data = GetMember( borrowernumber => $borrowernumber );
+ my $patron = Koha::Patrons->find( $borrowernumber );
- my $can_be_discharged = Koha::Borrower::Discharge::can_be_discharged({
+ my $can_be_discharged = Koha::Patron::Discharge::can_be_discharged({
borrowernumber => $borrowernumber
});
- # Getting reserves
- my @reserves = GetReservesFromBorrowernumber($borrowernumber);
- my $has_reserves = scalar(@reserves);
+ 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::Borrower::Discharge::count({
+ my $is_discharged = Koha::Patron::Discharge::is_discharged({
borrowernumber => $borrowernumber,
- validated => 1,
});
unless ($is_discharged) {
- Koha::Borrower::Discharge::discharge({
+ Koha::Patron::Discharge::discharge({
borrowernumber => $borrowernumber
});
}
eval {
- my $pdf_path = Koha::Borrower::Discharge::generate_as_pdf(
- { borrowernumber => $borrowernumber, branchcode => $data->{'branchcode'} } );
+ my $pdf_path = Koha::Patron::Discharge::generate_as_pdf(
+ { borrowernumber => $borrowernumber, branchcode => $patron->branchcode } );
binmode(STDOUT);
print $input->header(
}
# Already generated discharges
- my $validated_discharges = Koha::Borrower::Discharge::get_validated({
- branchcode => $data->{'branchcode'},
+ 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,
- biblionumber => $data->{'biblionumber'},
- title => $data->{'title'},
- initials => $data->{'initials'},
- surname => $data->{'surname'},
+ title => $patron->title,
+ initials => $patron->initials,
+ surname => $patron->surname,
borrowernumber => $borrowernumber,
- firstname => $data->{'firstname'},
- cardnumber => $data->{'cardnumber'},
- categorycode => $data->{'categorycode'},
- category_type => $data->{'category_type'},
- categoryname => $data->{'description'},
- address => $data->{'address'},
- address2 => $data->{'address2'},
- city => $data->{'city'},
- zipcode => $data->{'zipcode'},
- country => $data->{'country'},
- phone => $data->{'phone'},
- email => $data->{'email'},
- branchcode => $data->{'branchcode'},
+ 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,