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

(-)a/misc/cronjobs/overdue_notices.pl (-11 / +16 lines)
Lines 486-499 END_SQL Link Here
486
                    my @item_info = map { $_ =~ /^date|date$/ ? format_date( $item_info->{$_} ) : $item_info->{$_} || '' } @item_content_fields;
486
                    my @item_info = map { $_ =~ /^date|date$/ ? format_date( $item_info->{$_} ) : $item_info->{$_} || '' } @item_content_fields;
487
                    $titles .= join("\t", @item_info) . "\n";
487
                    $titles .= join("\t", @item_info) . "\n";
488
                    $itemcount++;
488
                    $itemcount++;
489
                    push (@items, $item_info->{'biblionumber'});
489
                    my %item = (biblionumber     => $item_info->{'biblionumber'}, 
490
                                biblioitemnumber => $item_info->{'biblioitemnumber'}, 
491
                                itemnumber       => $item_info->{'itemnumber'});
492
                    push (@items, \%item);
490
                }
493
                }
491
                $sth2->finish;
494
                $sth2->finish;
492
                $letter = parse_letter(
495
                $letter = parse_letter(
493
                    {   letter          => $letter,
496
                    {   letter          => $letter,
494
                        borrowernumber  => $borrowernumber,
497
                        borrowernumber  => $borrowernumber,
495
                        branchcode      => $branchcode,
498
                        branchcode      => $branchcode,
496
                        biblionumber    => \@items,
499
                        items           => \@items,
497
                        substitute      => {    # this appears to be a hack to overcome incomplete features in this code.
500
                        substitute      => {    # this appears to be a hack to overcome incomplete features in this code.
498
                                            bib             => $branch_details->{'branchname'}, # maybe 'bib' is a typo for 'lib<rary>'?
501
                                            bib             => $branch_details->{'branchname'}, # maybe 'bib' is a typo for 'lib<rary>'?
499
                                            'items.content' => $titles
502
                                            'items.content' => $titles
Lines 651-662 sub parse_letter { # FIXME: this code should probably be moved to C4::Letters:pa Link Here
651
        $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'branches', $params->{'branchcode'} );
654
        $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'branches', $params->{'branchcode'} );
652
    }
655
    }
653
656
654
    if ( $params->{'biblionumber'} ) {
657
    if ( $params->{'items'} ) {
655
        my $item_format = '';
658
        my $item_format = '';
656
        PROCESS_ITEMS:
659
        PROCESS_ITEMS:
657
        while (scalar(@{$params->{'biblionumber'}}) > 0) {
660
        while (scalar(@{$params->{'items'}}) > 0) {
658
            my $item = shift @{$params->{'biblionumber'}};
661
            my $item = shift @{$params->{'items'}};
659
            my $fine = GetFine($item, $params->{'borrowernumber'});
662
            my $biblionumber = $item->{'biblionumber'};
663
            my $biblioitemnumber = $item->{'biblioitemnumber'};
664
            my $itemnumber = $item->{'itemnumber'};
665
            my $fine = GetFine($biblionumber, $params->{'borrowernumber'});
660
            if (!$item_format) {
666
            if (!$item_format) {
661
                $params->{'letter'}->{'content'} =~ m/(<item>.*<\/item>)/;
667
                $params->{'letter'}->{'content'} =~ m/(<item>.*<\/item>)/;
662
                $item_format = $1;
668
                $item_format = $1;
Lines 668-677 sub parse_letter { # FIXME: this code should probably be moved to C4::Letters:pa Link Here
668
                $formatted_fine = Encode::encode("utf8", $formatted_fine);
674
                $formatted_fine = Encode::encode("utf8", $formatted_fine);
669
                $params->{'letter'}->{'content'} =~ s/<fine>.*<\/fine>/$formatted_fine/;
675
                $params->{'letter'}->{'content'} =~ s/<fine>.*<\/fine>/$formatted_fine/;
670
            }
676
            }
671
            $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'biblio',      $item );
677
            $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'biblio',      $biblionumber );
672
            $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'biblioitems', $item );
678
            $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'biblioitems', $biblioitemnumber );
673
            $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'items', $item );
679
            $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'items', $itemnumber );
674
            $params->{'letter'}->{'content'} =~ s/(<item>.*<\/item>)/$1\n$item_format/ if scalar(@{$params->{'biblionumber'}} > 0);
680
            $params->{'letter'}->{'content'} =~ s/(<item>.*<\/item>)/$1\n$item_format/ if scalar(@{$params->{'items'}} > 0);
675
681
676
        }
682
        }
677
    }
683
    }
678
- 

Return to bug 5212