Bug 31028: Add catalog concern management page to staff
[koha-ffzg.git] / members / printslip.pl
index 368788d..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 Koha::DateUtils;
-
-#use Smart::Comments;
-#use Data::Dumper;
-
-use vars qw($debug);
-
-BEGIN {
-       $debug = $ENV{DEBUG} || 0;
-}
+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 );
 
 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');
 
@@ -68,7 +56,6 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         query           => $input,
         type            => "intranet",
         flagsrequired   => $flagsrequired,
-        debug           => 1,
     }
 );
 
@@ -84,36 +71,27 @@ if ( $print eq 'checkinslip' ) {
     my $checkinslip_branch = $session->param('branch') ? $session->param('branch') : $branch;
 
     # get today's checkins
-    my $today_start = dt_from_string->set( hour => 0, minute => 0, second => 0 );
-    my $today_end = dt_from_string->set( hour => 23, minute => 59, second => 0 );
-    $today_start = Koha::Database->new->schema->storage->datetime_parser->format_datetime( $today_start );
-    $today_end = Koha::Database->new->schema->storage->datetime_parser->format_datetime( $today_end );
-    my @todays_checkins = Koha::Old::Checkouts->search({
-        returndate => {
-            '>=' => $today_start,
-            '<=' => $today_end,
-        },
-        borrowernumber => $borrowernumber,
-        branchcode => $checkinslip_branch,
-    });
+    my @issue_ids = $patron->old_checkouts->search( { branchcode => $checkinslip_branch } )
+      ->filter_by_todays_checkins->get_column('issue_id');
 
     my %loops = (
-        old_issues => [ map { $_->itemnumber } @todays_checkins ],
+        old_issues => \@issue_ids,
     );
 
     my $letter = C4::Letters::GetPreparedLetter(
-        module => 'circulation',
+        module      => 'circulation',
         letter_code => 'CHECKINSLIP',
-        branchcode => $checkinslip_branch,
-        tables => {
-            branches => $checkinslip_branch,
+        branchcode  => $checkinslip_branch,
+        lang        => $patron->lang,
+        tables      => {
+            branches  => $checkinslip_branch,
             borrowers => $borrowernumber,
         },
-        loops => \%loops,
+        loops                  => \%loops,
         message_transport_type => 'print'
     );
 
-    $slip = $letter->{content};
+    $slip    = $letter->{content};
     $is_html = $letter->{is_html};
 
 } elsif (my $letter = IssueSlip ($session->param('branch') || $branch, $borrowernumber, $print eq "qslip")) {