X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=members%2Fprintslip.pl;h=368d84cc7f24e69a1550c98d7c5f963c9fd77a85;hb=c0260e4501c74739da14599d510e4f6cc71dd2b4;hp=3a499cd89ebfd705ada032ba67bd6e2c13ad6bc5;hpb=068e5be6395088793aeab66d67c36c2b9da2c5d9;p=koha-ffzg.git diff --git a/members/printslip.pl b/members/printslip.pl index 3a499cd89e..368d84cc7f 100755 --- a/members/printslip.pl +++ b/members/printslip.pl @@ -5,18 +5,18 @@ # # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along -# with Koha; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . =head1 moremember.pl @@ -32,29 +32,17 @@ =cut -use strict; -#use warnings; FIXME - Bug 2505 -use CGI; +use Modern::Perl; +use CGI qw ( -utf8 ); use C4::Context; -use C4::Auth qw/:DEFAULT get_session/; -use C4::Output; -use C4::Members; -use C4::Koha; +use C4::Auth qw( get_session get_template_and_user ); +use C4::Output qw( output_and_exit_if_error output_and_exit output_html_with_http_headers ); +use C4::Members qw( IssueSlip ); -#use Smart::Comments; -#use Data::Dumper; - -use vars qw($debug); - -BEGIN { - $debug = $ENV{DEBUG} || 0; -} - -my $input = new CGI; +my $input = CGI->new; my $sessionID = $input->cookie("CGISESSID"); my $session = get_session($sessionID); -$debug or $debug = $input->param('debug') || 0; my $print = $input->param('print'); my $error = $input->param('error'); @@ -64,19 +52,49 @@ my $flagsrequired = { circulate => "circulate_remaining_permissions" }; my ( $template, $loggedinuser, $cookie ) = get_template_and_user( { - template_name => "circ/printslip.tmpl", + template_name => "circ/printslip.tt", query => $input, type => "intranet", - authnotrequired => 0, flagsrequired => $flagsrequired, - debug => 1, } ); my $borrowernumber = $input->param('borrowernumber'); + +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 } ); + my $branch=C4::Context->userenv->{'branch'}; my ($slip, $is_html); -if (my $letter = IssueSlip ($session->param('branch') || $branch, $borrowernumber, $print eq "qslip")) { +if ( $print eq 'checkinslip' ) { + my $checkinslip_branch = $session->param('branch') ? $session->param('branch') : $branch; + + # get today's checkins + my @issue_ids = $patron->old_checkouts->search( { branchcode => $checkinslip_branch } ) + ->filter_by_todays_checkins->get_column('issue_id'); + + my %loops = ( + old_issues => \@issue_ids, + ); + + my $letter = C4::Letters::GetPreparedLetter( + module => 'circulation', + letter_code => 'CHECKINSLIP', + branchcode => $checkinslip_branch, + lang => $patron->lang, + tables => { + branches => $checkinslip_branch, + borrowers => $borrowernumber, + }, + loops => \%loops, + message_transport_type => 'print' + ); + + $slip = $letter->{content}; + $is_html = $letter->{is_html}; + +} elsif (my $letter = IssueSlip ($session->param('branch') || $branch, $borrowernumber, $print eq "qslip")) { $slip = $letter->{content}; $is_html = $letter->{is_html}; } @@ -84,9 +102,12 @@ if (my $letter = IssueSlip ($session->param('branch') || $branch, $borrowernumbe $template->param( slip => $slip, plain => !$is_html, - title => "Print Receipt for $borrowernumber", + borrowernumber => $borrowernumber, + caller => 'members', stylesheet => C4::Context->preference("SlipCSS"), error => $error, ); +$template->param( IntranetSlipPrinterJS => C4::Context->preference('IntranetSlipPrinterJS' ) ); + output_html_with_http_headers $input, $cookie, $template->output;