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

(-)a/misc/cronjobs/ordersClaim.pl (-11 / +14 lines)
Lines 19-25 Link Here
19
19
20
=head1 NAME
20
=head1 NAME
21
21
22
ordersClaim.pl - cron script that put late orders in message queue grouped by basket.
22
ordersClaim.pl - cron script to automatically generate late order claims in the message queue grouped by basket.
23
23
24
=head1 SYNOPSIS
24
=head1 SYNOPSIS
25
25
Lines 71-88 Minimum number of days since the last claim. Default is 0. Link Here
71
Number of claims beyond which we stop sending others.
71
Number of claims beyond which we stop sending others.
72
Default is 1;
72
Default is 1;
73
73
74
=cut
74
=back
75
75
76
my $help;
76
my $help;
77
my $delay;
77
my $delay;
78
my $claimed_for = 0;
78
my $claimed_for = 0;
79
my $max_claims = 1;
79
my $max_claims = 1;
80
my $letter_code = 'ACQCLAIM';
80
81
81
GetOptions(
82
GetOptions(
82
    'help|?'            => \$help,
83
    'help|?'            => \$help,
83
    'delay|d:i'         => \$delay,
84
    'delay|d:i'         => \$delay,
84
    'claimed-for|c:i'   => \$claimed_for,
85
    'claimed-for|c:i'   => \$claimed_for,
85
    'max-claims|m:i'    => \$max_claims,
86
    'max-claims|m:i'    => \$max_claims,
87
    'letter-code|l:s'   => \$letter_code,
86
) or pod2usage(1);
88
) or pod2usage(1);
87
89
88
pod2usage(1) if $help;
90
pod2usage(1) if $help;
Lines 96-106 push @{ $baskets_orders->{ $_->{basketno} } }, $_->{ordernumber} for @lateorders Link Here
96
while (my ($basketno, $orderids) = each %$baskets_orders) {
98
while (my ($basketno, $orderids) = each %$baskets_orders) {
97
    my $schema = Koha::Database->new->schema;
99
    my $schema = Koha::Database->new->schema;
98
100
99
    my $basket = $schema->resultset('Aqbookseller')->find(
101
    my $basket = Koha::Acquisition::Baskets->find( $basketno );
100
        { id => $basketno },
101
        { result_class => 'DBIx::Class::ResultClass::HashRefInflator' });
102
102
103
    my $booksellerid = $basket->{booksellerid};
103
    my $booksellerid = $basket->booksellerid;
104
    my $bookseller = $schema->resultset('Aqbookseller')->find(
104
    my $bookseller = $schema->resultset('Aqbookseller')->find(
105
        { id => $booksellerid },
105
        { id => $booksellerid },
106
        { result_class => 'DBIx::Class::ResultClass::HashRefInflator' });
106
        { result_class => 'DBIx::Class::ResultClass::HashRefInflator' });
Lines 130-149 while (my ($basketno, $orderids) = each %$baskets_orders) { Link Here
130
130
131
    my $letter = GetPreparedLetter(
131
    my $letter = GetPreparedLetter(
132
        module => 'claimacquisition',
132
        module => 'claimacquisition',
133
        letter_code => 'ACQCLAIM',
133
        letter_code => $letter_code,
134
        message_transport_type => 'email',
134
        message_transport_type => 'email',
135
        tables => {
135
        tables => {
136
            'aqbooksellers' => $bookseller,
136
            'aqbooksellers' => $bookseller,
137
            'aqcontacts'    => $contact,
137
            'aqcontacts'    => $contact,
138
            'aqbasket'      => $basket
138
            'aqbasket'      => $basket->unblessed
139
        },
139
        },
140
        repeat => $orders,
140
        repeat => $orders,
141
    ) or next;
141
    ) or next;
142
142
143
    my $admin_address = C4::Context->preference('KohaAdminEmailAddress');
143
    my $from_address = C4::Context->preference('KohaAdminEmailAddress');
144
    if ( my $library = Koha::Libraries->find( $basket->branch ) ) {
145
        $from_address = $library->branchemail || $from_address;
146
    }
147
144
    my $id = C4::Letters::EnqueueLetter({
148
    my $id = C4::Letters::EnqueueLetter({
145
        letter                 => $letter,
149
        letter                 => $letter,
146
        from_address           => $admin_address,
150
        from_address           => $from_address,
147
        to_address             => $contact->{email},
151
        to_address             => $contact->{email},
148
        message_transport_type => $letter->{message_transport_type}
152
        message_transport_type => $letter->{message_transport_type}
149
    });
153
    });
150
- 

Return to bug 20125