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

(-)a/catalogue/detail.pl (-1 / +1 lines)
Lines 403-409 foreach my $item (@items) { Link Here
403
    }
403
    }
404
404
405
    if ( C4::Context->preference('UseRecalls') ) {
405
    if ( C4::Context->preference('UseRecalls') ) {
406
        my $recall = Koha::Recalls->find({ itemnumber => $item->{itemnumber}, old => 0 });
406
        my $recall = Koha::Recalls->find({ item_id => $item->{itemnumber}, completed => 0 });
407
        if ( defined $recall ) {
407
        if ( defined $recall ) {
408
            $item->{recalled} = 1;
408
            $item->{recalled} = 1;
409
            $item->{recall} = $recall;
409
            $item->{recall} = $recall;
(-)a/circ/circulation.pl (-7 / +7 lines)
Lines 397-410 if (@$barcodes) { Link Here
397
            if ( C4::Context->preference('UseRecalls') && !$recall_id ) {
397
            if ( C4::Context->preference('UseRecalls') && !$recall_id ) {
398
                my $recall = Koha::Recalls->find(
398
                my $recall = Koha::Recalls->find(
399
                    {
399
                    {
400
                        biblionumber   => $item->biblionumber,
400
                        biblio_id => $item->biblionumber,
401
                        itemnumber     => [ undef, $item->itemnumber ],
401
                        item_id   => [ undef, $item->itemnumber ],
402
                        status         => [ 'requested', 'waiting' ],
402
                        status    => [ 'requested', 'waiting' ],
403
                        old            => 0,
403
                        completed => 0,
404
                        borrowernumber => $patron->borrowernumber,
404
                        patron_id => $patron->borrowernumber,
405
                    }
405
                    }
406
                );
406
                );
407
                $recall_id = ( $recall and $recall->recall_id ) ? $recall->recall_id : undef;
407
                $recall_id = ( $recall and $recall->id ) ? $recall->id : undef;
408
            }
408
            }
409
            my $issue = AddIssue( $patron->unblessed, $barcode, $datedue, $cancelreserve, undef, undef, { onsite_checkout => $onsite_checkout, auto_renew => $session->param('auto_renew'), switch_onsite_checkout => $switch_onsite_checkout, cancel_recall => $cancel_recall, recall_id => $recall_id, } );
409
            my $issue = AddIssue( $patron->unblessed, $barcode, $datedue, $cancelreserve, undef, undef, { onsite_checkout => $onsite_checkout, auto_renew => $session->param('auto_renew'), switch_onsite_checkout => $switch_onsite_checkout, cancel_recall => $cancel_recall, recall_id => $recall_id, } );
410
            $template_params->{issue} = $issue;
410
            $template_params->{issue} = $issue;
Lines 456-462 if ($patron) { Link Here
456
    );
456
    );
457
    if ( C4::Context->preference('UseRecalls') ) {
457
    if ( C4::Context->preference('UseRecalls') ) {
458
        $template->param(
458
        $template->param(
459
            recalls => $patron->recalls->filter_by_current->search({},{ order_by => { -asc => 'recalldate' } }),
459
            recalls => $patron->recalls->filter_by_current->search({},{ order_by => { -asc => 'created_date' } }),
460
            specific_patron => 1,
460
            specific_patron => 1,
461
        );
461
        );
462
    }
462
    }
(-)a/circ/returns.pl (-6 / +6 lines)
Lines 181-191 if ( $query->param('recall_id') ) { Link Here
181
181
182
    if ($recall) {
182
    if ($recall) {
183
        my $item;
183
        my $item;
184
        if ( !$recall->item_level_recall ) {
184
        if ( !$recall->item_level ) {
185
            $item = Koha::Items->find( $itemnumber );
185
            $item = Koha::Items->find( $itemnumber );
186
        }
186
        }
187
187
188
        if ( $recall->branchcode ne $return_branch ) {
188
        if ( $recall->pickup_library_id ne $return_branch ) {
189
            $recall->start_transfer({ item => $item }) if !$recall->in_transit;
189
            $recall->start_transfer({ item => $item }) if !$recall->in_transit;
190
        } else {
190
        } else {
191
            my $expirationdate = $recall->calc_expirationdate;
191
            my $expirationdate = $recall->calc_expirationdate;
Lines 254-260 if ($transit) { Link Here
254
    if ( $canceltransfer ) {
254
    if ( $canceltransfer ) {
255
        $transfer->cancel({ reason => 'Manual', force => 1});
255
        $transfer->cancel({ reason => 'Manual', force => 1});
256
        if ( C4::Context->preference('UseRecalls') ) {
256
        if ( C4::Context->preference('UseRecalls') ) {
257
            my $recall_transfer_deleted = Koha::Recalls->find({ itemnumber => $itemnumber, status => 'in_transit' });
257
            my $recall_transfer_deleted = Koha::Recalls->find({ item_id => $itemnumber, status => 'in_transit' });
258
            if ( defined $recall_transfer_deleted ) {
258
            if ( defined $recall_transfer_deleted ) {
259
                $recall_transfer_deleted->revert_transfer;
259
                $recall_transfer_deleted->revert_transfer;
260
            }
260
            }
Lines 268-274 if ($transit) { Link Here
268
    my $transfer = $item->get_transfer;
268
    my $transfer = $item->get_transfer;
269
    $transfer->cancel({ reason => 'Manual', force => 1});
269
    $transfer->cancel({ reason => 'Manual', force => 1});
270
    if ( C4::Context->preference('UseRecalls') ) {
270
    if ( C4::Context->preference('UseRecalls') ) {
271
        my $recall_transfer_deleted = Koha::Recalls->find({ itemnumber => $itemnumber, status => 'in_transit' });
271
        my $recall_transfer_deleted = Koha::Recalls->find({ item_id => $itemnumber, status => 'in_transit' });
272
        if ( defined $recall_transfer_deleted ) {
272
        if ( defined $recall_transfer_deleted ) {
273
            $recall_transfer_deleted->revert_transfer;
273
            $recall_transfer_deleted->revert_transfer;
274
        }
274
        }
Lines 534-543 if ( $messages->{TransferredRecall} ) { Link Here
534
    my $recall = $messages->{TransferredRecall};
534
    my $recall = $messages->{TransferredRecall};
535
535
536
    # confirm transfer has arrived at the branch
536
    # confirm transfer has arrived at the branch
537
    my $transfer = Koha::Item::Transfers->search({ datearrived => { '!=' => undef }, itemnumber => $recall->itemnumber }, { order_by => { -desc => 'datearrived' } })->next;
537
    my $transfer = Koha::Item::Transfers->search({ datearrived => { '!=' => undef }, itemnumber => $recall->item_id }, { order_by => { -desc => 'datearrived' } })->next;
538
538
539
    # if transfer has completed, show popup to confirm as waiting
539
    # if transfer has completed, show popup to confirm as waiting
540
    if ( defined $transfer and $transfer->tobranch eq $recall->branchcode ) {
540
    if ( defined $transfer and $transfer->tobranch eq $recall->pickup_library_id ) {
541
        $template->param(
541
        $template->param(
542
            found => 1,
542
            found => 1,
543
            recall => $recall,
543
            recall => $recall,
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/recalls.inc (-18 / +18 lines)
Lines 18-37 Link Here
18
18
19
        <tbody>
19
        <tbody>
20
            [% FOREACH recall IN recalls %]
20
            [% FOREACH recall IN recalls %]
21
                [% IF recall.old %]<tr class="old">[% ELSE %]<tr>[% END %]
21
                [% IF recall.completed %]<tr class="old">[% ELSE %]<tr>[% END %]
22
22
23
                    [% IF checkboxes %]
23
                    [% IF checkboxes %]
24
                        <td class="recall-checkbox">
24
                        <td class="recall-checkbox">
25
                            [% IF recall.old %]
25
                            [% IF recall.completed %]
26
                                &nbsp;
26
                                &nbsp;
27
                            [% ELSE %]
27
                            [% ELSE %]
28
                                <input type="checkbox" value="[% recall.recall_id | html %]" name="recall_ids">
28
                                <input type="checkbox" value="[% recall.id | html %]" name="recall_ids">
29
                            [% END %]
29
                            [% END %]
30
                        </td>
30
                        </td>
31
                    [% END %]
31
                    [% END %]
32
32
33
                    <td class="recall-title">
33
                    <td class="recall-title">
34
                        <b><a class="recall-title" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% recall.biblionumber | html %]">
34
                        <b><a class="recall-title" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% recall.biblio_id | html %]">
35
                            [% recall.biblio.title | html %]
35
                            [% recall.biblio.title | html %]
36
                            [% FOREACH s IN recall.biblio.subtitle %]
36
                            [% FOREACH s IN recall.biblio.subtitle %]
37
                                [% s | html %]
37
                                [% s | html %]
Lines 48-60 Link Here
48
                    [% END %]
48
                    [% END %]
49
49
50
                    <td class="recall-date">
50
                    <td class="recall-date">
51
                        [% recall.recalldate | $KohaDates %]
51
                        [% recall.created_date | $KohaDates %]
52
                    </td>
52
                    </td>
53
53
54
                    <td class="recall-expiry">
54
                    <td class="recall-expiry">
55
                        [% IF ( recall.expirationdate ) %]
55
                        [% IF ( recall.expiration_date ) %]
56
                            [% recall.expirationdate | $KohaDates %]
56
                            [% recall.expiration_date | $KohaDates %]
57
                        [% ELSIF ( !recall.old ) %]
57
                        [% ELSIF ( !recall.completed ) %]
58
                            Never expires
58
                            Never expires
59
                        [% ELSE %]
59
                        [% ELSE %]
60
                            -
60
                            -
Lines 71-79 Link Here
71
                        [% ELSIF ( recall.waiting ) %]
71
                        [% ELSIF ( recall.waiting ) %]
72
                            Ready for pickup
72
                            Ready for pickup
73
                        [% ELSIF ( recall.expired ) %]
73
                        [% ELSIF ( recall.expired ) %]
74
                            Expired on [% recall.expirationdate | $KohaDates %]
74
                            Expired on [% recall.expiration_date | $KohaDates %]
75
                        [% ELSIF ( recall.cancelled ) %]
75
                        [% ELSIF ( recall.cancelled ) %]
76
                            Cancelled on [% recall.cancellationdate | $KohaDates %]
76
                            Cancelled on [% recall.completed_date | $KohaDates %]
77
                        [% ELSIF ( recall.overdue ) %]
77
                        [% ELSIF ( recall.overdue ) %]
78
                            Overdue to be returned
78
                            Overdue to be returned
79
                        [% ELSIF ( recall.fulfilled ) %]
79
                        [% ELSIF ( recall.fulfilled ) %]
Lines 87-94 Link Here
87
                    <td class="recall-duedate">
87
                    <td class="recall-duedate">
88
                        [% IF recall.requested and recall.checkout %]
88
                        [% IF recall.requested and recall.checkout %]
89
                            Due to be returned by [% recall.checkout.date_due | $KohaDates %]
89
                            Due to be returned by [% recall.checkout.date_due | $KohaDates %]
90
                        [% ELSIF recall.waiting and RECALL.expirationdate %]
90
                        [% ELSIF recall.waiting and RECALL.expiration_date %]
91
                            Pick up by [% RECALL.expirationdate | $KohaDates %]
91
                            Pick up by [% RECALL.expiration_date | $KohaDates %]
92
                        [% ELSE %]
92
                        [% ELSE %]
93
                            -
93
                            -
94
                        [% END %]
94
                        [% END %]
Lines 97-118 Link Here
97
97
98
                    [% UNLESS viewing_old %]
98
                    [% UNLESS viewing_old %]
99
                    <td class="recall-cancel actions">
99
                    <td class="recall-cancel actions">
100
                        [% IF recall.old %]
100
                        [% IF recall.completed %]
101
                            &nbsp;
101
                            &nbsp;
102
                        [% ELSE %]
102
                        [% ELSE %]
103
                            <div class="btn-group">
103
                            <div class="btn-group">
104
                                <a class="btn btn-sm dropdown-toggle" data-toggle="dropdown" href="#"> Actions <span class="caret"></span></a>
104
                                <a class="btn btn-sm dropdown-toggle" data-toggle="dropdown" href="#"> Actions <span class="caret"></span></a>
105
                                <ul class="dropdown-menu pull-right">
105
                                <ul class="dropdown-menu pull-right">
106
                                    [% IF ( recall.requested or recall.overdue ) %]
106
                                    [% IF ( recall.requested or recall.overdue ) %]
107
                                        <li><a class="cancel_recall" data-id="[% recall.recall_id | html %]" data-action="cancel"><i class="fa fa-times"></i> Cancel</a></li>
107
                                        <li><a class="cancel_recall" data-id="[% recall.id | html %]" data-action="cancel"><i class="fa fa-times"></i> Cancel</a></li>
108
                                        [% IF ( recall.should_be_overdue ) %]
108
                                        [% IF ( recall.should_be_overdue ) %]
109
                                            <li><a class="overdue_recall" data-id="[% recall.recall_id | html %]" data-action="overdue"><i class="fa fa-hourglass-end"></i> Mark as overdue</a></li>
109
                                            <li><a class="overdue_recall" data-id="[% recall.id | html %]" data-action="overdue"><i class="fa fa-hourglass-end"></i> Mark as overdue</a></li>
110
                                        [% END %]
110
                                        [% END %]
111
                                    [% ELSIF ( recall.waiting ) %]
111
                                    [% ELSIF ( recall.waiting ) %]
112
                                        <li><a class="revert_recall" data-id="[% recall.recall_id | html %]" data-action="revert"><i class="fa fa-undo"></i> Revert waiting</a></li>
112
                                        <li><a class="revert_recall" data-id="[% recall.id | html %]" data-action="revert"><i class="fa fa-undo"></i> Revert waiting</a></li>
113
                                        <li><a class="expire_recall" data-id="[% recall.recall_id | html %]" data-action="expire"><i class="fa fa-times"></i> Expire</a></li>
113
                                        <li><a class="expire_recall" data-id="[% recall.id | html %]" data-action="expire"><i class="fa fa-times"></i> Expire</a></li>
114
                                    [% ELSIF ( recall.in_transit ) %]
114
                                    [% ELSIF ( recall.in_transit ) %]
115
                                        <li><a class="transit_recall" data-id="[% recall.recall_id | html %]" data-action="transit"><i class="fa fa-times"></i> Cancel recall and return to: [% Branches.GetName(recall.item.homebranch) | html %]</a></li>
115
                                        <li><a class="transit_recall" data-id="[% recall.id | html %]" data-action="transit"><i class="fa fa-times"></i> Cancel recall and return to: [% Branches.GetName(recall.item.homebranch) | html %]</a></li>
116
                                    [% END %]
116
                                    [% END %]
117
                                </ul>
117
                                </ul>
118
                            </div>
118
                            </div>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt (-5 / +5 lines)
Lines 236-244 Link Here
236
236
237
                                [% IF RECALLED %]
237
                                [% IF RECALLED %]
238
                                    [% IF RECALLED.waiting %]
238
                                    [% IF RECALLED.waiting %]
239
                                        <li>Item <i>[% RECALLED.biblio.title | html %]</i> ([% RECALLED.item.barcode | html %]) has been waiting for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% RECALLED.borrowernumber | uri %]">[% RECALLED.patron.firstname | html %] [% RECALLED.patron.surname | html %]</a> ([% RECALLED.patron.cardnumber | html %]) at [% Branches.GetName( RECALLED.branchcode ) | html %] since [% RECALLED.waitingdate | $KohaDates %]</li>
239
                                        <li>Item <i>[% RECALLED.biblio.title | html %]</i> ([% RECALLED.item.barcode | html %]) has been waiting for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% RECALLED.patron_id | uri %]">[% RECALLED.patron.firstname | html %] [% RECALLED.patron.surname | html %]</a> ([% RECALLED.patron.cardnumber | html %]) at [% Branches.GetName( RECALLED.pickup_library_id ) | html %] since [% RECALLED.waiting_date | $KohaDates %]</li>
240
                                    [% ELSIF RECALLED.requested or RECALLED.overdue %]
240
                                    [% ELSIF RECALLED.requested or RECALLED.overdue %]
241
                                        <li>Item <i>[% RECALLED.biblio.title | html %]</i> [% IF RECALLED.item %]([% RECALLED.item.barcode | html %])[% END %] has been recalled by <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% RECALLED.borrowernumber | uri %]">[% RECALLED.patron.firstname | html %] [% RECALLED.patron.surname | html %]</a> ([% RECALLED.patron.cardnumber | html %]) at [% Branches.GetName( RECALLED.branchcode ) | html %] since [% RECALLED.recalldate | $KohaDates %]</li>
241
                                        <li>Item <i>[% RECALLED.biblio.title | html %]</i> [% IF RECALLED.item %]([% RECALLED.item.barcode | html %])[% END %] has been recalled by <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% RECALLED.patron_id | uri %]">[% RECALLED.patron.firstname | html %] [% RECALLED.patron.surname | html %]</a> ([% RECALLED.patron.cardnumber | html %]) at [% Branches.GetName( RECALLED.pickup_library_id ) | html %] since [% RECALLED.created_date | $KohaDates %]</li>
242
                                    [% END %]
242
                                    [% END %]
243
                                [% END %]
243
                                [% END %]
244
244
Lines 295-307 Link Here
295
                                        <p>
295
                                        <p>
296
                                            <label for="cancelrecall">Cancel recall</label>
296
                                            <label for="cancelrecall">Cancel recall</label>
297
                                            <input type="radio" value="cancel" name="cancel_recall" id="cancelrecall" />
297
                                            <input type="radio" value="cancel" name="cancel_recall" id="cancelrecall" />
298
                                            <input type="hidden" value="[% RECALLED.recall_id | html %]" name="recall_id" />
298
                                            <input type="hidden" value="[% RECALLED.id | html %]" name="recall_id" />
299
                                        </p>
299
                                        </p>
300
                                        [% IF RECALLED.waiting %]
300
                                        [% IF RECALLED.waiting %]
301
                                            <p>
301
                                            <p>
302
                                                <label for="revertrecall">Revert waiting status</label>
302
                                                <label for="revertrecall">Revert waiting status</label>
303
                                                <input type="radio" value="revert" name="cancel_recall" id="revertrecall" checked="checked"/>
303
                                                <input type="radio" value="revert" name="cancel_recall" id="revertrecall" checked="checked"/>
304
                                                <input type="hidden" value="[% RECALLED.recall_id | html %]" name="recall_id" />
304
                                                <input type="hidden" value="[% RECALLED.id | html %]" name="recall_id" />
305
                                            </p>
305
                                            </p>
306
                                        [% END %]
306
                                        [% END %]
307
                                    [% END %]
307
                                    [% END %]
Lines 348-354 Link Here
348
348
349
                            [% IF ( RECALLED ) %]
349
                            [% IF ( RECALLED ) %]
350
                                <form method="get" action="/cgi-bin/koha/circ/circulation.pl">
350
                                <form method="get" action="/cgi-bin/koha/circ/circulation.pl">
351
                                    <button class="print" type="submit" onclick="Dopop('/cgi-bin/koha/recalls/recall_pickup_slip.pl?recall_id=[% RECALLED.recall_id | html %]');this.form.submit();"><i class="fa fa-print"></i> Don't check out and print slip (P)</button>
351
                                    <button class="print" type="submit" onclick="Dopop('/cgi-bin/koha/recalls/recall_pickup_slip.pl?recall_id=[% RECALLED.id | html %]');this.form.submit();"><i class="fa fa-print"></i> Don't check out and print slip (P)</button>
352
                                </form>
352
                                </form>
353
                            [% END %]
353
                            [% END %]
354
354
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt (-14 / +14 lines)
Lines 749-767 Link Here
749
                                                    <h3>
749
                                                    <h3>
750
                                                        Recall found:
750
                                                        Recall found:
751
                                                        <br/>
751
                                                        <br/>
752
                                                        <a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% recall.biblionumber | uri %]">[% recall.biblio.title | html %]</a>
752
                                                        <a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% recall.biblio_id | uri %]">[% recall.biblio.title | html %]</a>
753
                                                        [% IF recall.item %]
753
                                                        [% IF recall.item %]
754
                                                            <div class="recall-found-barcode">
754
                                                            <div class="recall-found-barcode">
755
                                                                (<a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% recall.biblionumber | uri %]&amp;itemnumber=[% recall.itemnumber | uri %]">[% recall.item.barcode | html %]</a>)
755
                                                                (<a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% recall.biblio_id | uri %]&amp;itemnumber=[% recall.item_id | uri %]">[% recall.item.barcode | html %]</a>)
756
                                                            </div>
756
                                                            </div>
757
                                                        [% END %]
757
                                                        [% END %]
758
                                                    </h3>
758
                                                    </h3>
759
                                                </div>
759
                                                </div>
760
760
761
                                                <div class="modal-body">
761
                                                <div class="modal-body">
762
                                                    [% IF ( recall.recallnotes ) %]
762
                                                    [% IF ( recall.notes ) %]
763
                                                        <h4>Notes:</h4>
763
                                                        <h4>Notes:</h4>
764
                                                        <p>[% recall.recallnotes | html %]</p>
764
                                                        <p>[% recall.notes | html %]</p>
765
                                                        <hr />
765
                                                        <hr />
766
                                                    [% END %]
766
                                                    [% END %]
767
                                                    <h5>Recall placed by:</h5>
767
                                                    <h5>Recall placed by:</h5>
Lines 800-811 Link Here
800
                                                        [% END %]
800
                                                        [% END %]
801
                                                    </ul>
801
                                                    </ul>
802
                                                    [% IF ( transfertodo ) %]
802
                                                    [% IF ( transfertodo ) %]
803
                                                        <h4><strong>Transfer to:</strong> [% Branches.GetName( recall.branchcode ) | html %]</h4>
803
                                                        <h4><strong>Transfer to:</strong> [% Branches.GetName( recall.pickup_library_id ) | html %]</h4>
804
                                                    [% ELSE %]
804
                                                    [% ELSE %]
805
                                                        <h4><strong>Recall at</strong> [% Branches.GetName( recall.branchcode ) | html %]</h4>
805
                                                        <h4><strong>Recall at</strong> [% Branches.GetName( recall.pickup_library_id ) | html %]</h4>
806
                                                    [% END %]
806
                                                    [% END %]
807
807
808
                                                    <input type="hidden" name="recall_id" value="[% recall.recall_id | html %]">
808
                                                    <input type="hidden" name="recall_id" value="[% recall.id | html %]">
809
                                                    <input type="hidden" name="itemnumber" value="[% itemnumber | html %]">
809
                                                    <input type="hidden" name="itemnumber" value="[% itemnumber | html %]">
810
                                                    <input type="hidden" name="returnbranch" value="[% Branches.GetLoggedInBranchcode | html %]">
810
                                                    <input type="hidden" name="returnbranch" value="[% Branches.GetLoggedInBranchcode | html %]">
811
                                                    <input type="hidden" name="recall_slip" value="0">
811
                                                    <input type="hidden" name="recall_slip" value="0">
Lines 850-868 Link Here
850
                                                    <h3>
850
                                                    <h3>
851
                                                        Recall found (item is already waiting):
851
                                                        Recall found (item is already waiting):
852
                                                        <br/>
852
                                                        <br/>
853
                                                        <a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% recall.biblionumber | uri %]">[% recall.biblio.title | html %]</a>
853
                                                        <a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% recall.biblio_id | uri %]">[% recall.biblio.title | html %]</a>
854
                                                        [% IF recall.item %]
854
                                                        [% IF recall.item %]
855
                                                            <div class="recall-found-barcode">
855
                                                            <div class="recall-found-barcode">
856
                                                                (<a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% recall.biblionumber | uri %]&amp;itemnumber=[% recall.itemnumber | uri %]">[% recall.item.barcode | html %]</a>)
856
                                                                (<a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% recall.biblio_id | uri %]&amp;itemnumber=[% recall.item_id | uri %]">[% recall.item.barcode | html %]</a>)
857
                                                            </div>
857
                                                            </div>
858
                                                        [% END %]
858
                                                        [% END %]
859
                                                    </h3>
859
                                                    </h3>
860
                                                </div>
860
                                                </div>
861
861
862
                                                <div class="modal-body">
862
                                                <div class="modal-body">
863
                                                    [% IF ( recall.recallnotes ) %]
863
                                                    [% IF ( recall.notes ) %]
864
                                                        <h4>Notes:</h4>
864
                                                        <h4>Notes:</h4>
865
                                                        <p>[% recall.recallnotes | html %]</p>
865
                                                        <p>[% recall.notes | html %]</p>
866
                                                        <hr />
866
                                                        <hr />
867
                                                    [% END %]
867
                                                    [% END %]
868
                                                    <h5>Recall placed by:</h5>
868
                                                    <h5>Recall placed by:</h5>
Lines 901-912 Link Here
901
                                                        [% END %]
901
                                                        [% END %]
902
                                                    </ul>
902
                                                    </ul>
903
                                                    [% IF ( transfertodo ) %]
903
                                                    [% IF ( transfertodo ) %]
904
                                                        <h4><strong>Transfer to:</strong> [% Branches.GetName( recall.branchcode ) | html %]</h4>
904
                                                        <h4><strong>Transfer to:</strong> [% Branches.GetName( recall.pickup_library_id ) | html %]</h4>
905
                                                    [% ELSE %]
905
                                                    [% ELSE %]
906
                                                        <h4><strong>Wait for pickup at</strong> [% Branches.GetName( recall.branchcode ) | html %]</h4>
906
                                                        <h4><strong>Wait for pickup at</strong> [% Branches.GetName( recall.pickup_library_id ) | html %]</h4>
907
                                                    [% END %]
907
                                                    [% END %]
908
908
909
                                                    <input type="hidden" name="recall_id" value="[% recall.recall_id | html %]">
909
                                                    <input type="hidden" name="recall_id" value="[% recall.id | html %]">
910
                                                    <input type="hidden" name="itemnumber" value="[% itemnumber | html %]">
910
                                                    <input type="hidden" name="itemnumber" value="[% itemnumber | html %]">
911
                                                    <input type="hidden" name="returnbranch" value="[% Branches.GetLoggedInBranchcode | html %]">
911
                                                    <input type="hidden" name="returnbranch" value="[% Branches.GetLoggedInBranchcode | html %]">
912
                                                    <input type="hidden" name="recall_slip" value="0">
912
                                                    <input type="hidden" name="recall_slip" value="0">
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/recalls/recalls_to_pull.tt (-3 / +3 lines)
Lines 59-65 Link Here
59
                            <td class="recall-topull"><b>[% recall.pull_count | html %]</b></td>
59
                            <td class="recall-topull"><b>[% recall.pull_count | html %]</b></td>
60
                            <td class="recall-items">[% recall.items_count | html %]</td>
60
                            <td class="recall-items">[% recall.items_count | html %]</td>
61
                            <td class="recall-patrons">[% recall.patrons_count | html %]</td>
61
                            <td class="recall-patrons">[% recall.patrons_count | html %]</td>
62
                            <td class="recall-firstpatron"><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% recall.first_recall.borrowernumber | uri %]">[% recall.first_recall.patron.firstname | html %] [% recall.first_recall.patron.surname | html %]</a></td>
62
                            <td class="recall-firstpatron"><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% recall.first_recall.patron_id | uri %]">[% recall.first_recall.patron.firstname | html %] [% recall.first_recall.patron.surname | html %]</a></td>
63
                            <td class="recall-title">
63
                            <td class="recall-title">
64
                                [% INCLUDE 'biblio-title.inc' biblio=recall.first_recall.biblio link=1 %]
64
                                [% INCLUDE 'biblio-title.inc' biblio=recall.first_recall.biblio link=1 %]
65
                                [% IF recall.first_recall.biblio.author %] by [% recall.first_recall.biblio.author | html %][% END %]
65
                                [% IF recall.first_recall.biblio.author %] by [% recall.first_recall.biblio.author | html %][% END %]
Lines 107-117 Link Here
107
                                </ul>
107
                                </ul>
108
                            </td>
108
                            </td>
109
                            <td class="recall-date">
109
                            <td class="recall-date">
110
                                <span title="[% recall.first_recall.recalldate | html %]">[% recall.first_recall.recalldate | $KohaDates %] in [% recall.first_recall.library.branchname | html %]</span>
110
                                <span title="[% recall.first_recall.created_date | html %]">[% recall.first_recall.created_date | $KohaDates %] in [% recall.first_recall.library.branchname | html %]</span>
111
                            </td>
111
                            </td>
112
                            <td class="recall-action">
112
                            <td class="recall-action">
113
                                <form action="/cgi-bin/koha/recalls/recalls_to_pull.pl" method="post">
113
                                <form action="/cgi-bin/koha/recalls/recalls_to_pull.pl" method="post">
114
                                    <input type="hidden" name="recall_id" value="[% recall.first_recall.recall_id | html %]">
114
                                    <input type="hidden" name="recall_id" value="[% recall.first_recall.id | html %]">
115
                                    <input type="hidden" name="op" value="cancel">
115
                                    <input type="hidden" name="op" value="cancel">
116
                                    [% IF recall.first_recall.in_transit %]
116
                                    [% IF recall.first_recall.in_transit %]
117
                                        <button type="submit" class="btn btn-default cancelreturn"><i class="fa fa-times"></i> Cancel recall and return to: [% Branches.GetName(recall.first_recall.item.homebranch) | html %]</button>
117
                                        <button type="submit" class="btn btn-default cancelreturn"><i class="fa fa-times"></i> Cancel recall and return to: [% Branches.GetName(recall.first_recall.item.homebranch) | html %]</button>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/recalls/recalls_waiting.tt (-8 / +8 lines)
Lines 48-56 Link Here
48
                                </tr></thead>
48
                                </tr></thead>
49
                                <tbody>
49
                                <tbody>
50
                                    [% FOREACH recall IN recalls %]<tr>
50
                                    [% FOREACH recall IN recalls %]<tr>
51
                                        <td class="recall-waitingdate">[% recall.waitingdate | $KohaDates %]</td>
51
                                        <td class="recall-waitingdate">[% recall.waiting_date | $KohaDates %]</td>
52
                                        <td class="recall-title">
52
                                        <td class="recall-title">
53
                                            <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% recall.biblionumber | uri %]">
53
                                            <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% recall.biblio_id | uri %]">
54
                                                [% recall.biblio.title | html %]
54
                                                [% recall.biblio.title | html %]
55
                                                [% FOREACH s IN recall.biblio.subtitle %]
55
                                                [% FOREACH s IN recall.biblio.subtitle %]
56
                                                    [% s | html %]
56
                                                    [% s | html %]
Lines 60-73 Link Here
60
                                            <br><i>Barcode: [% recall.item.barcode | html %]</i>
60
                                            <br><i>Barcode: [% recall.item.barcode | html %]</i>
61
                                        </td>
61
                                        </td>
62
                                        <td class="recall-patron">
62
                                        <td class="recall-patron">
63
                                             <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% recall.borrowernumber | uri %]">[% recall.patron.firstname | html %] [% recall.patron.surname | html %]</a>
63
                                             <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% recall.patron_id | uri %]">[% recall.patron.firstname | html %] [% recall.patron.surname | html %]</a>
64
                                             [% IF ( recall.patron.phone ) %]<br />[% recall.patron.phone | html %][% END %]
64
                                             [% IF ( recall.patron.phone ) %]<br />[% recall.patron.phone | html %][% END %]
65
                                             [% IF ( recall.patron.email ) %]<br /><a href="mailto:[% recall.patron.email | uri %]?subject=Recall waiting: [% recall.biblio.title | uri %]">[% recall.patron.email | html %]</a>[% END %]
65
                                             [% IF ( recall.patron.email ) %]<br /><a href="mailto:[% recall.patron.email | uri %]?subject=Recall waiting: [% recall.biblio.title | uri %]">[% recall.patron.email | html %]</a>[% END %]
66
                                        </td>
66
                                        </td>
67
                                        <td class="recall-library">[% recall.library.branchname | html %]</td>
67
                                        <td class="recall-library">[% recall.library.branchname | html %]</td>
68
                                        <td class="recall-action actions">
68
                                        <td class="recall-action actions">
69
                                            <form action="/cgi-bin/koha/recalls/recalls_waiting.pl" method="post">
69
                                            <form action="/cgi-bin/koha/recalls/recalls_waiting.pl" method="post">
70
                                                <input type="hidden" name="recall_id" value="[% recall.recall_id | html %]">
70
                                                <input type="hidden" name="recall_id" value="[% recall.id | html %]">
71
                                                <input type="hidden" name="op" value="modify">
71
                                                <input type="hidden" name="op" value="modify">
72
                                                <fieldset class="action">
72
                                                <fieldset class="action">
73
                                                    <input type="submit" name="revert" class="revert_recall" value="Revert waiting status">
73
                                                    <input type="submit" name="revert" class="revert_recall" value="Revert waiting status">
Lines 96-104 Link Here
96
                                </tr></thead>
96
                                </tr></thead>
97
                                <tbody>
97
                                <tbody>
98
                                    [% FOREACH recall IN over %]<tr>
98
                                    [% FOREACH recall IN over %]<tr>
99
                                        <td class="recall-waitingdate">[% recall.waitingdate | $KohaDates %]</td>
99
                                        <td class="recall-waitingdate">[% recall.waiting_date | $KohaDates %]</td>
100
                                        <td class="recall-title">
100
                                        <td class="recall-title">
101
                                            <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% recall.biblionumber | uri %]">
101
                                            <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% recall.biblio_id | uri %]">
102
                                                [% recall.biblio.title | html %]
102
                                                [% recall.biblio.title | html %]
103
                                                [% FOREACH s IN recall.biblio.subtitles %]
103
                                                [% FOREACH s IN recall.biblio.subtitles %]
104
                                                    [% s | html %]
104
                                                    [% s | html %]
Lines 109-122 Link Here
109
                                            <br><i>Barcode: [% recall.item.barcode | html %]</i>
109
                                            <br><i>Barcode: [% recall.item.barcode | html %]</i>
110
                                        </td>
110
                                        </td>
111
                                        <td class="recall-patron">
111
                                        <td class="recall-patron">
112
                                            <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% recall.borrowernumber | uri %]">[% recall.patron.firstname | html %] [% recall.patron.surname | html %]</a>
112
                                            <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% recall.patron_id | uri %]">[% recall.patron.firstname | html %] [% recall.patron.surname | html %]</a>
113
                                            [% IF ( recall.patron.phone ) %]<br />[% recall.patron.phone | html %][% END %]
113
                                            [% IF ( recall.patron.phone ) %]<br />[% recall.patron.phone | html %][% END %]
114
                                            [% IF ( recall.patron.email ) %]<br /><a href="mailto:[% recall.patron.email | uri %]?subject=Recall waiting: [% recall.biblio.title | uri %]">[% recall.patron.email | html %]</a>[% END %]
114
                                            [% IF ( recall.patron.email ) %]<br /><a href="mailto:[% recall.patron.email | uri %]?subject=Recall waiting: [% recall.biblio.title | uri %]">[% recall.patron.email | html %]</a>[% END %]
115
                                        </td>
115
                                        </td>
116
                                        <td class="recall-library">[% recall.library.branchname | html %]</td>
116
                                        <td class="recall-library">[% recall.library.branchname | html %]</td>
117
                                        <td class="recall-action actions">
117
                                        <td class="recall-action actions">
118
                                            <form action="/cgi-bin/koha/recalls/recalls_waiting.pl" method="post">
118
                                            <form action="/cgi-bin/koha/recalls/recalls_waiting.pl" method="post">
119
                                                <input type="hidden" name="recall_id" value="[% recall.recall_id | html %]">
119
                                                <input type="hidden" name="recall_id" value="[% recall.id | html %]">
120
                                                <input type="hidden" name="op" value="modify">
120
                                                <input type="hidden" name="op" value="modify">
121
                                                <fieldset class="action">
121
                                                <fieldset class="action">
122
                                                    <input type="submit" name="revert" class="revert_recall" value="Revert waiting status">
122
                                                    <input type="submit" name="revert" class="revert_recall" value="Revert waiting status">
(-)a/members/recallshistory.pl (-1 / +1 lines)
Lines 33-39 my ($template, $loggedinuser, $cookie)= get_template_and_user( Link Here
33
);
33
);
34
34
35
my $borrowernumber = $input->param('borrowernumber');
35
my $borrowernumber = $input->param('borrowernumber');
36
my $recalls = Koha::Recalls->search({ borrowernumber => $borrowernumber }, { order_by => { '-desc' => 'recalldate' } });
36
my $recalls = Koha::Recalls->search({ patron_id => $borrowernumber }, { order_by => { '-desc' => 'created_date' } });
37
my $patron = Koha::Patrons->find( $borrowernumber );
37
my $patron = Koha::Patrons->find( $borrowernumber );
38
38
39
$template->param(
39
$template->param(
(-)a/misc/cronjobs/recalls/expire_recalls.pl (-4 / +4 lines)
Lines 37-45 use C4::Log; Link Here
37
37
38
cronlogaction();
38
cronlogaction();
39
39
40
my $recalls = Koha::Recalls->search({ old => 0 });
40
my $recalls = Koha::Recalls->search({ completed => 0 });
41
while( my $recall = $recalls->next ) {
41
while( my $recall = $recalls->next ) {
42
    if ( ( $recall->requested or $recall->overdue ) and $recall->expirationdate and dt_from_string( $recall->expirationdate ) < dt_from_string() ){
42
    if ( ( $recall->requested or $recall->overdue ) and $recall->expiration_date and dt_from_string( $recall->expiration_date ) < dt_from_string() ){
43
        # recall is requested or overdue and has surpassed the specified expiration date
43
        # recall is requested or overdue and has surpassed the specified expiration date
44
        $recall->set_expired({ interface => 'COMMANDLINE' });
44
        $recall->set_expired({ interface => 'COMMANDLINE' });
45
    }
45
    }
Lines 47-56 while( my $recall = $recalls->next ) { Link Here
47
        my $recall_shelf_time = Koha::CirculationRules->get_effective_rule({
47
        my $recall_shelf_time = Koha::CirculationRules->get_effective_rule({
48
            categorycode => $recall->patron->categorycode,
48
            categorycode => $recall->patron->categorycode,
49
            itemtype => $recall->item->effective_itemtype,
49
            itemtype => $recall->item->effective_itemtype,
50
            branchcode => $recall->branchcode,
50
            branchcode => $recall->pickup_library_id,
51
            rule_name => 'recall_shelf_time',
51
            rule_name => 'recall_shelf_time',
52
        });
52
        });
53
        my $waitingdate = dt_from_string( $recall->waitingdate );
53
        my $waitingdate = dt_from_string( $recall->waiting_date );
54
        my $now = dt_from_string();
54
        my $now = dt_from_string();
55
        my $days_waiting = $now->subtract_datetime( $waitingdate );
55
        my $days_waiting = $now->subtract_datetime( $waitingdate );
56
        if ( defined $recall_shelf_time and $recall_shelf_time->rule_value > 0 ) {
56
        if ( defined $recall_shelf_time and $recall_shelf_time->rule_value > 0 ) {
(-)a/recalls/recall_pickup_slip.pl (-6 / +6 lines)
Lines 38-45 my $recallid = $input->param('recall_id'); Link Here
38
my $recall = Koha::Recalls->find($recallid);
38
my $recall = Koha::Recalls->find($recallid);
39
39
40
my $itemnumber;
40
my $itemnumber;
41
if ( $recall->itemnumber ){
41
if ( $recall->item_id ){
42
    $itemnumber = $recall->itemnumber;
42
    $itemnumber = $recall->item_id;
43
} else {
43
} else {
44
    $itemnumber = $recall->checkout->itemnumber;
44
    $itemnumber = $recall->checkout->itemnumber;
45
}
45
}
Lines 50-60 my $letter = C4::Letters::GetPreparedLetter( Link Here
50
    letter_code => 'RECALL_REQUESTER_DET',
50
    letter_code => 'RECALL_REQUESTER_DET',
51
    message_transport_type => 'print',
51
    message_transport_type => 'print',
52
    tables => {
52
    tables => {
53
         'branches' => $recall->branchcode,
53
         'branches' => $recall->pickup_library_id,
54
         'borrowers' => $recall->borrowernumber,
54
         'borrowers' => $recall->patron_id,
55
         'biblio'   => $recall->biblionumber,
55
         'biblio'   => $recall->biblio_id,
56
         'items'   => $itemnumber,
56
         'items'   => $itemnumber,
57
         'recalls'  => $recall->recall_id,
57
         'recalls'  => $recall->id,
58
    }
58
    }
59
);
59
);
60
60
(-)a/recalls/recalls_old_queue.pl (-1 / +1 lines)
Lines 33-39 my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user( Link Here
33
    }
33
    }
34
);
34
);
35
35
36
my $recalls = Koha::Recalls->search({ old => 1 });
36
my $recalls = Koha::Recalls->search({ completed => 1 });
37
$template->param(
37
$template->param(
38
    recalls => $recalls,
38
    recalls => $recalls,
39
    viewing_old => 1
39
    viewing_old => 1
(-)a/recalls/recalls_overdue.pl (-1 / +1 lines)
Lines 45-51 if ( $op eq 'cancel_multiple_recalls' ) { Link Here
45
}
45
}
46
46
47
if ( $op eq 'list' ) {
47
if ( $op eq 'list' ) {
48
    my $recalls = Koha::Recalls->search({ status => 'O' });
48
    my $recalls = Koha::Recalls->search({ status => 'overdue' });
49
    # will be set as Overdue by the misc/cronjobs/recall/overdue_recalls.pl cronjob
49
    # will be set as Overdue by the misc/cronjobs/recall/overdue_recalls.pl cronjob
50
    $template->param(
50
    $template->param(
51
        recalls => $recalls,
51
        recalls => $recalls,
(-)a/recalls/recalls_queue.pl (-1 / +1 lines)
Lines 42-48 if ( $op eq 'cancel_multiple_recalls' ) { Link Here
42
    $op = 'list'
42
    $op = 'list'
43
}
43
}
44
elsif ( $op eq 'list' ) {
44
elsif ( $op eq 'list' ) {
45
    my $recalls = Koha::Recalls->search({ old => 0 });
45
    my $recalls = Koha::Recalls->search({ completed => 0 });
46
    $template->param(
46
    $template->param(
47
        recalls => $recalls,
47
        recalls => $recalls,
48
        checkboxes => 1,
48
        checkboxes => 1,
(-)a/recalls/recalls_to_pull.pl (-6 / +6 lines)
Lines 45-65 if ( $op eq 'cancel' ) { Link Here
45
}
45
}
46
46
47
if ( $op eq 'list' ) {
47
if ( $op eq 'list' ) {
48
    my @recalls = Koha::Recalls->search({ status => [ 'R','O','T' ] })->as_list;
48
    my @recalls = Koha::Recalls->search({ status => [ 'requested','overdue','in_transit' ] })->as_list;
49
    my @pull_list;
49
    my @pull_list;
50
    my %seen_bib;
50
    my %seen_bib;
51
    foreach my $recall ( @recalls ) {
51
    foreach my $recall ( @recalls ) {
52
        if ( $seen_bib{$recall->biblionumber} ){
52
        if ( $seen_bib{$recall->biblio_id} ){
53
            # we've already looked at the recalls on this biblio
53
            # we've already looked at the recalls on this biblio
54
            next;
54
            next;
55
        } else {
55
        } else {
56
            # this is an unseen biblio
56
            # this is an unseen biblio
57
            $seen_bib{$recall->biblionumber}++;
57
            $seen_bib{$recall->biblio_id}++;
58
58
59
            # get recall data about this biblio
59
            # get recall data about this biblio
60
            my @this_bib_recalls = Koha::Recalls->search({ biblionumber => $recall->biblionumber, status => [ 'R','O','T' ] }, { order_by => { -asc => 'recalldate' } })->as_list;
60
            my @this_bib_recalls = Koha::Recalls->search({ biblio_id => $recall->biblio_id, status => [ 'requested','overdue','in_transit' ] }, { order_by => { -asc => 'created_date' } })->as_list;
61
            my $recalls_count = scalar @this_bib_recalls;
61
            my $recalls_count = scalar @this_bib_recalls;
62
            my @unique_patrons = do { my %seen; grep { !$seen{$_->borrowernumber}++ } @this_bib_recalls };
62
            my @unique_patrons = do { my %seen; grep { !$seen{$_->patron_id}++ } @this_bib_recalls };
63
            my $patrons_count = scalar @unique_patrons;
63
            my $patrons_count = scalar @unique_patrons;
64
            my $first_recall = $this_bib_recalls[0];
64
            my $first_recall = $this_bib_recalls[0];
65
65
Lines 71-77 if ( $op eq 'list' ) { Link Here
71
            my @locations;
71
            my @locations;
72
            my @libraries;
72
            my @libraries;
73
73
74
            my @items = Koha::Items->search({ biblionumber => $recall->biblionumber });
74
            my @items = Koha::Items->search({ biblio_id => $recall->biblio_id });
75
            foreach my $item ( @items ) {
75
            foreach my $item ( @items ) {
76
                if ( $item->can_be_waiting_recall and !$item->checkout ) {
76
                if ( $item->can_be_waiting_recall and !$item->checkout ) {
77
                    # if item can be pulled to fulfill recall, collect item data
77
                    # if item can be pulled to fulfill recall, collect item data
(-)a/recalls/recalls_waiting.pl (-2 / +2 lines)
Lines 51-63 if ( $op eq 'modify' ) { Link Here
51
}
51
}
52
52
53
if ( $op eq 'list' ) {
53
if ( $op eq 'list' ) {
54
    my @recalls = Koha::Recalls->search({ status => 'W' })->as_list;
54
    my @recalls = Koha::Recalls->search({ status => 'waiting' })->as_list;
55
    my $borrower = Koha::Patrons->find( $loggedinuser );
55
    my $borrower = Koha::Patrons->find( $loggedinuser );
56
    my @over;
56
    my @over;
57
    my $maxdelay = C4::Context->preference('RecallsMaxPickUpDelay') || 7;
57
    my $maxdelay = C4::Context->preference('RecallsMaxPickUpDelay') || 7;
58
    my $today = dt_from_string();
58
    my $today = dt_from_string();
59
    foreach my $r ( @recalls ){
59
    foreach my $r ( @recalls ){
60
        my $lastwaitingday = dt_from_string( $r->waitingdate )->add( days => $maxdelay );
60
        my $lastwaitingday = dt_from_string( $r->waiting_date )->add( days => $maxdelay );
61
        if ( $today > $lastwaitingday ){
61
        if ( $today > $lastwaitingday ){
62
            push @over, $r;
62
            push @over, $r;
63
        }
63
        }
(-)a/recalls/request.pl (-3 / +2 lines)
Lines 38-44 my ($template, $loggedinuser, $cookie)= get_template_and_user( Link Here
38
my $op = $input->param('op') || 'list';
38
my $op = $input->param('op') || 'list';
39
my @recall_ids = $input->multi_param('recall_ids');
39
my @recall_ids = $input->multi_param('recall_ids');
40
my $biblionumber = $input->param('biblionumber');
40
my $biblionumber = $input->param('biblionumber');
41
my $recalls = Koha::Recalls->search({ biblionumber => $biblionumber, old => 0 });
41
my $recalls = Koha::Recalls->search({ biblio_id => $biblionumber, completed => 0 });
42
my $biblio = Koha::Biblios->find( $biblionumber );
42
my $biblio = Koha::Biblios->find( $biblionumber );
43
43
44
if ( $op eq 'cancel_multiple_recalls' ) {
44
if ( $op eq 'cancel_multiple_recalls' ) {
Lines 49-55 if ( $op eq 'cancel_multiple_recalls' ) { Link Here
49
}
49
}
50
50
51
if ( $op eq 'list' ) {
51
if ( $op eq 'list' ) {
52
    $recalls = Koha::Recalls->search({ biblionumber => $biblionumber, old => 0 });
52
    $recalls = Koha::Recalls->search({ biblio_id => $biblionumber, completed => 0 });
53
    $biblio = Koha::Biblios->find( $biblionumber );
53
    $biblio = Koha::Biblios->find( $biblionumber );
54
}
54
}
55
55
56
- 

Return to bug 30291