| 
      
            Lines 101-106
          BEGIN {
      
      
        Link Here
      
     | 
  
        
          | 101 | 
                  &GetMessagesCount  | 
          101 | 
                  &GetMessagesCount  | 
        
        
          | 102 | 
           | 
          102 | 
           | 
        
        
          | 103 | 
                  &IssueSlip  | 
          103 | 
                  &IssueSlip  | 
        
            
               | 
               | 
              104 | 
                      &FineSlip  | 
            
        
          | 104 | 
                  GetBorrowersWithEmail  | 
          105 | 
                  GetBorrowersWithEmail  | 
        
        
          | 105 | 
           | 
          106 | 
           | 
        
        
          | 106 | 
                  HasOverdues  | 
          107 | 
                  HasOverdues  | 
        
  
    | 
      
            Lines 2405-2410
          sub IssueSlip {
      
      
        Link Here
      
     | 
  
        
          | 2405 | 
              );  | 
          2406 | 
              );  | 
        
        
          | 2406 | 
          }  | 
          2407 | 
          }  | 
        
        
          | 2407 | 
           | 
          2408 | 
           | 
        
            
               | 
               | 
              2409 | 
               | 
            
            
              | 2410 | 
              sub GetBorrowerFines { | 
            
            
              | 2411 | 
                  my ($borrowernumber) = @_;  | 
            
            
              | 2412 | 
                  my $dbh       = C4::Context->dbh;  | 
            
            
              | 2413 | 
                  my $query = qq{ | 
            
            
              | 2414 | 
                      SELECT * FROM accountlines  | 
            
            
              | 2415 | 
                      LEFT JOIN borrowers ON borrowers.borrowernumber = accountlines.borrowernumber  | 
            
            
              | 2416 | 
                      LEFT JOIN items ON accountlines.itemnumber = items.itemnumber  | 
            
            
              | 2417 | 
                      WHERE accountlines.borrowernumber = ?  | 
            
            
              | 2418 | 
                      ORDER BY accountlines.timestamp  | 
            
            
              | 2419 | 
                  };  | 
            
            
              | 2420 | 
                  my $sth = $dbh->prepare( $query );  | 
            
            
              | 2421 | 
                  $sth->execute( $borrowernumber );  | 
            
            
              | 2422 | 
                  my $data = $sth->fetchall_arrayref({}); | 
            
            
              | 2423 | 
                  return $data;  | 
            
            
              | 2424 | 
              }  | 
            
            
              | 2425 | 
               | 
            
            
              | 2426 | 
              sub FineSlip { | 
            
            
              | 2427 | 
                  my ($borrowernumber, $branch) = @_;  | 
            
            
              | 2428 | 
               | 
            
            
              | 2429 | 
                  #my $now       = POSIX::strftime("%Y-%m-%d", localtime); | 
            
            
              | 2430 | 
               | 
            
            
              | 2431 | 
                  my $issueslist = GetBorrowerFines($borrowernumber);  | 
            
            
              | 2432 | 
               | 
            
            
              | 2433 | 
                  my $total = 0.0;  | 
            
            
              | 2434 | 
               | 
            
            
              | 2435 | 
                  foreach my $it (@$issueslist){ | 
            
            
              | 2436 | 
                      my $dt = dt_from_string( $it->{'date'} ); | 
            
            
              | 2437 | 
                      $it->{'date_due'} = output_pref({ dt => $dt, dateonly => 1 }); | 
            
            
              | 2438 | 
                      $it->{'amount'} = sprintf('%.2f', $it->{'amount'}); | 
            
            
              | 2439 | 
                      $total = $total + $it->{'amount'}; | 
            
            
              | 2440 | 
                      $it->{'barcode'} = '-' if (!defined($it->{'barcode'})); | 
            
            
              | 2441 | 
                  }  | 
            
            
              | 2442 | 
                  my @issues = sort { $b->{'timestamp'} <=> $a->{'timestamp'} } @$issueslist; | 
            
            
              | 2443 | 
               | 
            
            
              | 2444 | 
                  my %repeat = (  | 
            
            
              | 2445 | 
                      'fines' => [ map { | 
            
            
              | 2446 | 
                          'fines' => $_,  | 
            
            
              | 2447 | 
                          'borrowers' => $_,  | 
            
            
              | 2448 | 
                          'items' => $_  | 
            
            
              | 2449 | 
                                   }, @issues ],  | 
            
            
              | 2450 | 
                      );  | 
            
            
              | 2451 | 
               | 
            
            
              | 2452 | 
                  return  C4::Letters::GetPreparedLetter (  | 
            
            
              | 2453 | 
                      module => 'circulation',  | 
            
            
              | 2454 | 
                      letter_code => 'FINESLIP',  | 
            
            
              | 2455 | 
                      branchcode => $branch,  | 
            
            
              | 2456 | 
                      tables => { | 
            
            
              | 2457 | 
                          'branches'    => $branch,  | 
            
            
              | 2458 | 
                          'borrowers'   => $borrowernumber,  | 
            
            
              | 2459 | 
                      },  | 
            
            
              | 2460 | 
                      substitute => { | 
            
            
              | 2461 | 
                          'total.amount' => sprintf('%.2f', $total), | 
            
            
              | 2462 | 
                          'total.fines' => scalar(@issues)  | 
            
            
              | 2463 | 
                      },  | 
            
            
              | 2464 | 
                      repeat => \%repeat,  | 
            
            
              | 2465 | 
                      message_transport_type => 'print',  | 
            
            
              | 2466 | 
                  );  | 
            
            
              | 2467 | 
              }  | 
            
            
              | 2468 | 
               | 
            
            
              | 2469 | 
               | 
            
        
          | 2408 | 
          =head2 GetBorrowersWithEmail  | 
          2470 | 
          =head2 GetBorrowersWithEmail  | 
        
        
          | 2409 | 
           | 
          2471 | 
           | 
        
        
          | 2410 | 
              ([$borrnum,$userid], ...) = GetBorrowersWithEmail('me@example.com'); | 
          2472 | 
              ([$borrnum,$userid], ...) = GetBorrowersWithEmail('me@example.com'); |