Bug 31028: Add catalog concern management page to staff
[koha-ffzg.git] / members / printslip.pl
index f27083e..368d84c 100755 (executable)
 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');
 
@@ -66,9 +55,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         template_name   => "circ/printslip.tt",
         query           => $input,
         type            => "intranet",
-        authnotrequired => 0,
         flagsrequired   => $flagsrequired,
-        debug           => 1,
     }
 );
 
@@ -80,7 +67,34 @@ output_and_exit_if_error( $input, $cookie, $template, { module => 'members', log
 
 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};
 }