View | Details | Raw Unified | Return to bug 11092
Collapse All | Expand All

(-)a/misc/cronjobs/overdue_notices.pl (-8 / +43 lines)
Lines 1-5 Link Here
1
#!/usr/bin/perl
1
#!/usr/bin/perl
2
2
 
3
# Copyright 2008 Liblime
3
# Copyright 2008 Liblime
4
# Copyright 2010 BibLibre
4
# Copyright 2010 BibLibre
5
#
5
#
Lines 371-380 if ( defined $htmlfilename ) { Link Here
371
  
371
  
372
  print $html_fh "<html>\n";
372
  print $html_fh "<html>\n";
373
  print $html_fh "<head>\n";
373
  print $html_fh "<head>\n";
374
  print $html_fh '<meta charset="UTF-8">';
374
  print $html_fh '<link href="/opac-tmpl/prog/en/css/vanierletters.css" type="text/css" rel="stylesheet">';
375
  print $html_fh '<link href="/opac-tmpl/prog/en/css/vanierletters.css" type="text/css" rel="stylesheet">';
375
  print $html_fh "<style type='text/css'>\n";
376
  print $html_fh "<style type='text/css'>\n";
376
  print $html_fh "#content {page-break-after: always;}\n";
377
  print $html_fh "#content {page-break-after: always;}\n";
377
#  print $html_fh "pre {white-space: pre-wrap;}\n";
378
#  print $html_fh ".fee {text-align: right;}\n";
378
#  print $html_fh "pre {white-space: -moz-pre-wrap;}\n";
379
#  print $html_fh "pre {white-space: -moz-pre-wrap;}\n";
379
#  print $html_fh "pre {white-space: -o-pre-wrap;}\n";
380
#  print $html_fh "pre {white-space: -o-pre-wrap;}\n";
380
#  print $html_fh "pre {word-wrap: break-work;}\n";
381
#  print $html_fh "pre {word-wrap: break-work;}\n";
Lines 494-501 END_SQL Link Here
494
		if ( $htmlfilename )
495
		if ( $htmlfilename )
495
		{
496
		{
496
			$titles .= "<table>";	
497
			$titles .= "<table>";	
497
			$titles .= "<tr><th>Loan date</th><th>Due date</th><th>Title</th><th>Callnumber</th><th>Barcode</th></tr>";
498
			$titles .= "<tr><th>Loan date</th><th>Due date</th><th>Title</th><th>Callnumber</th><th>Barcode</th>";
498
		}
499
			if ($overdue_rules->{"invoice$i"}) {
500
			    $titles .= "<th>Fees</th></tr>";
501
			}
502
			else {
503
			    $titles .= "</tr>";
504
			}			
505
		}   
506
		        my $defaultReplacementPrice = sprintf("%.2f",C4::Context->preference("DefaultReplacementPrice"));
507
                my $invoiceProcessingFee = sprintf("%.2f",C4::Context->preference("InvoiceProcessingFee"));
508
                my $invoiceBillingFee = sprintf("%.2f", C4::Context->preference("InvoiceBillingFee")) ;                                   
509
                my $total = 0;
510
                    
499
                while ( my $item_info = $sth2->fetchrow_hashref() ) {
511
                while ( my $item_info = $sth2->fetchrow_hashref() ) {
500
                    if ( ( !$email || $nomail ) && $PrintNoticesMaxLines && $j >= $PrintNoticesMaxLines ) {
512
                    if ( ( !$email || $nomail ) && $PrintNoticesMaxLines && $j >= $PrintNoticesMaxLines ) {
501
                      $exceededPrintNoticesMaxLines = 1;
513
                      $exceededPrintNoticesMaxLines = 1;
Lines 504-510 END_SQL Link Here
504
                    $j++;
516
                    $j++;
505
                    my @item_info = map { $_ =~ /^date|date$/ ? format_date( $item_info->{$_} ) : $item_info->{$_} || '&nbsp;' } @item_content_fields;
517
                    my @item_info = map { $_ =~ /^date|date$/ ? format_date( $item_info->{$_} ) : $item_info->{$_} || '&nbsp;' } @item_content_fields;
506
                    $titles .= join("\t.", @item_info) . "\n" if ( ! $htmlfilename );
518
                    $titles .= join("\t.", @item_info) . "\n" if ( ! $htmlfilename );
507
                    $titles .= "<tr><td>".join("</td><td>", @item_info) . "</td></tr>" if ( $htmlfilename );
519
                    $titles .= "<tr><td>".join("</td><td>", @item_info) . "</td></tr>" if ( $htmlfilename );                    
520
                                    
521
                    if ($overdue_rules->{"invoice$i"}) {                        
522
                        my $priceRepl = $item_info->{'replacementprice'};
523
                        $priceRepl = ($priceRepl == 0) ? $defaultReplacementPrice:$priceRepl;
524
                        my $data = C4::Circulation::GetIssuingRule($overdue_rules->{'categorycode'}, $item_info->{'itemtype'}, $branchcode);
525
                        my $overdueFinesCap = sprintf("%.2f", $data->{'overduefinescap'});
526
                                              
527
                        $titles .= '<tr class="fee">'. '<td colspan="5">Replacement cost</td>' . '<td>' .$priceRepl. "\$</td></tr>";
528
                        $titles .= '<tr class="fee">'. '<td colspan="5">Overdue fine</td>' . '<td>' .$overdueFinesCap. "\$</td></tr>";
529
                        $titles .= '<tr class="fee">'. '<td colspan="5">Processing fee</td>' . '<td>' .$invoiceProcessingFee. "\$</td></tr>";
530
                                                             
531
                        $total += $priceRepl + $overdueFinesCap + $invoiceProcessingFee;                    
532
                    }                    
533
                    
508
		warn join('|', @item_info );	
534
		warn join('|', @item_info );	
509
                warn $titles;
535
                warn $titles;
510
                    $itemcount++;
536
                    $itemcount++;
Lines 512-517 END_SQL Link Here
512
                }
538
                }
513
		if ( $htmlfilename )
539
		if ( $htmlfilename )
514
		{
540
		{
541
		    if ($overdue_rules->{"invoice$i"}) {
542
		        $total += $invoiceBillingFee;
543
		        $total = sprintf("%.2f", $total);
544
                $titles .= "<tr>". '<td colspan="6"></td>' . "</tr>";
545
                $titles .= '<tr class="fee">'. '<td colspan="5">Billing fee</td>' . '<td>' .$invoiceBillingFee. "\$</td></tr>";
546
                $titles .= "<tr>". '<td colspan="6"></td>' . "</tr>";
547
                $titles .= "<tr>". '<td colspan="6"></td>' . "</tr>";
548
                $titles .= '<tr class="fee">'. '<td colspan="5"><b>Total</b></td>' . '<td><b>' .$total. "\$<b/></td></tr>";
549
            } 		    
515
			$titles .= "</table>";	
550
			$titles .= "</table>";	
516
		}
551
		}
517
		warn $titles;
552
		warn $titles;
Lines 535-542 END_SQL Link Here
535
                    # might as well skip while PERIOD, no other borrowers are going to work.
570
                    # might as well skip while PERIOD, no other borrowers are going to work.
536
                    # FIXME : Does this mean a letter must be defined in order to trigger a debar ?
571
                    # FIXME : Does this mean a letter must be defined in order to trigger a debar ?
537
                    next PERIOD;
572
                    next PERIOD;
538
                }
573
                }                
539
                
574
                                
540
                if ( $exceededPrintNoticesMaxLines ) {
575
                if ( $exceededPrintNoticesMaxLines ) {
541
                  $letter->{'content'} .= "List too long for form; please check your account online for a complete list of your overdue items.";
576
                  $letter->{'content'} .= "List too long for form; please check your account online for a complete list of your overdue items.";
542
                }
577
                }
Lines 622-628 END_SQL Link Here
622
                print @output_chunks;
657
                print @output_chunks;
623
        }
658
        }
624
659
625
	if ( ! $nomail )
660
	if ( ! $nomail ) 
626
	{
661
	{
627
		# Generate the content of the csv with headers
662
		# Generate the content of the csv with headers
628
		my $content = join(";", qw(title name surname address1 address2 zipcode city country email itemcount itemsinfo due_date issue_date)) . "\n";
663
		my $content = join(";", qw(title name surname address1 address2 zipcode city country email itemcount itemsinfo due_date issue_date)) . "\n";

Return to bug 11092