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

(-)a/C4/Circulation.pm (-17 / +34 lines)
Lines 383-389 sub transferbook { Link Here
383
        ModItemTransfer( $itemnumber, $fbr, $tbr, $trigger );
383
        ModItemTransfer( $itemnumber, $fbr, $tbr, $trigger );
384
384
385
        # don't need to update MARC anymore, we do it in batch now
385
        # don't need to update MARC anymore, we do it in batch now
386
        $messages->{'WasTransfered'} = 1;
386
        $messages->{'WasTransfered'} = $tbr;
387
387
388
    }
388
    }
389
    ModDateLastSeen( $itemnumber );
389
    ModDateLastSeen( $itemnumber );
Lines 2130-2152 sub AddReturn { Link Here
2130
    }
2130
    }
2131
2131
2132
    # check if we have a transfer for this document
2132
    # check if we have a transfer for this document
2133
    my ($datesent,$frombranch,$tobranch) = GetTransfers( $item->itemnumber );
2133
    my $transfer = $item->get_transfer;
2134
2134
2135
    # if we have a transfer to complete, we update the line of transfers with the datearrived
2135
    # if we have a transfer to complete, we update the line of transfers with the datearrived
2136
    my $is_in_rotating_collection = C4::RotatingCollections::isItemInAnyCollection( $item->itemnumber );
2136
    my $is_in_rotating_collection = C4::RotatingCollections::isItemInAnyCollection( $item->itemnumber );
2137
    if ($datesent) {
2137
    if ($transfer) {
2138
        # At this point we will either fill the transfer or it is a wrong transfer
2139
        # either way we should not now generate a new transfer
2140
        $validTransfer = 0;
2138
        $validTransfer = 0;
2141
        if ( $tobranch eq $branch ) {
2139
        if ( $transfer->in_transit ) {
2142
            my $sth = C4::Context->dbh->prepare(
2140
            if ( $transfer->tobranch eq $branch ) {
2143
                "UPDATE branchtransfers SET datearrived = now() WHERE itemnumber= ? AND datearrived IS NULL"
2141
                $transfer->receive;
2144
            );
2142
                $messages->{'TransferArrived'} = $transfer->frombranch;
2145
            $sth->execute( $item->itemnumber );
2143
            }
2146
            $messages->{'TransferArrived'} = $frombranch;
2144
            else {
2147
        } else {
2145
                $messages->{'WrongTransfer'}     = $transfer->tobranch;
2148
            $messages->{'WrongTransfer'}     = $tobranch;
2146
                $messages->{'WrongTransferItem'} = $item->itemnumber;
2149
            $messages->{'WrongTransferItem'} = $item->itemnumber;
2147
            }
2148
        }
2149
        else {
2150
            if ( $transfer->tobranch eq $branch ) {
2151
                $transfer->receive;
2152
                $messages->{'TransferArrived'} = $transfer->frombranch;
2153
            }
2154
            else {
2155
                $messages->{'WasTransfered'}   = $transfer->tobranch;
2156
                $messages->{'TransferTrigger'} = $transfer->reason;
2157
            }
2150
        }
2158
        }
2151
    }
2159
    }
2152
2160
Lines 2237-2243 sub AddReturn { Link Here
2237
    }
2245
    }
2238
2246
2239
    # Transfer to returnbranch if Automatic transfer set or append message NeedsTransfer
2247
    # Transfer to returnbranch if Automatic transfer set or append message NeedsTransfer
2240
    if ($validTransfer && !$is_in_rotating_collection && ($doreturn or $messages->{'NotIssued'}) and !$resfound and ($branch ne $returnbranch) ){
2248
    if ( $validTransfer && !$is_in_rotating_collection
2249
        && ( $doreturn or $messages->{'NotIssued'} )
2250
        and !$resfound
2251
        and ( $branch ne $returnbranch )
2252
        and not $messages->{'WrongTransfer'}
2253
        and not $messages->{'WasTransfered'} )
2254
    {
2241
        my $BranchTransferLimitsType = C4::Context->preference("BranchTransferLimitsType") eq 'itemtype' ? 'effective_itemtype' : 'ccode';
2255
        my $BranchTransferLimitsType = C4::Context->preference("BranchTransferLimitsType") eq 'itemtype' ? 'effective_itemtype' : 'ccode';
2242
        if  (C4::Context->preference("AutomaticItemReturn"    ) or
2256
        if  (C4::Context->preference("AutomaticItemReturn"    ) or
2243
            (C4::Context->preference("UseBranchTransferLimits") and
2257
            (C4::Context->preference("UseBranchTransferLimits") and
Lines 2246-2252 sub AddReturn { Link Here
2246
            $debug and warn sprintf "about to call ModItemTransfer(%s, %s, %s, %s)", $item->itemnumber,$branch, $returnbranch, $transfer_trigger;
2260
            $debug and warn sprintf "about to call ModItemTransfer(%s, %s, %s, %s)", $item->itemnumber,$branch, $returnbranch, $transfer_trigger;
2247
            $debug and warn "item: " . Dumper($item->unblessed);
2261
            $debug and warn "item: " . Dumper($item->unblessed);
2248
            ModItemTransfer($item->itemnumber, $branch, $returnbranch, $transfer_trigger, { skip_record_index => 1 });
2262
            ModItemTransfer($item->itemnumber, $branch, $returnbranch, $transfer_trigger, { skip_record_index => 1 });
2249
            $messages->{'WasTransfered'} = 1;
2263
            $messages->{'WasTransfered'} = $returnbranch;
2264
            $messages->{'TransferTrigger'} = $transfer_trigger;
2250
        } else {
2265
        } else {
2251
            $messages->{'NeedsTransfer'} = $returnbranch;
2266
            $messages->{'NeedsTransfer'} = $returnbranch;
2252
            $messages->{'TransferTrigger'} = $transfer_trigger;
2267
            $messages->{'TransferTrigger'} = $transfer_trigger;
Lines 3406-3412 sub GetTransfers { Link Here
3406
        SELECT datesent,
3421
        SELECT datesent,
3407
               frombranch,
3422
               frombranch,
3408
               tobranch,
3423
               tobranch,
3409
               branchtransfer_id
3424
               branchtransfer_id,
3425
               daterequested,
3426
               reason
3410
        FROM branchtransfers
3427
        FROM branchtransfers
3411
        WHERE itemnumber = ?
3428
        WHERE itemnumber = ?
3412
          AND datearrived IS NULL
3429
          AND datearrived IS NULL
(-)a/circ/returns.pl (-1 / +3 lines)
Lines 367-373 my $reserved = 0; Link Here
367
if ( $messages->{'WasTransfered'} ) {
367
if ( $messages->{'WasTransfered'} ) {
368
    $template->param(
368
    $template->param(
369
        found          => 1,
369
        found          => 1,
370
        transfer       => 1,
370
        transfer       => $messages->{'WasTransfered'},
371
        trigger        => $messages->{'TransferTrigger'},
372
        itemnumber     => $itemnumber,
371
    );
373
    );
372
}
374
}
373
375
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt (-3 / +21 lines)
Lines 106-111 Link Here
106
                                </div> <!-- /.hold-auto-filled -->
106
                                </div> <!-- /.hold-auto-filled -->
107
                            [% END # /IF hold_auto_filled %]
107
                            [% END # /IF hold_auto_filled %]
108
108
109
                            [% IF ( trigger ) %]
110
                                 <div id="transfer-trigger" class="dialog message">
111
                                     <h3>Reason for transfer</h3>
112
                                     <p>
113
                                         [%- SWITCH trigger -%]
114
                                             [%- CASE 'Manual' -%]Manual
115
                                             [%- CASE 'StockrotationAdvance' -%]Stock rotation advance
116
                                             [%- CASE 'StockrotationRepatriation' -%]Stock rotation repatriation
117
                                             [%- CASE 'ReturnToHome' -%]Return to home library
118
                                             [%- CASE 'ReturnToHolding' -%]Return to holding library
119
                                             [%- CASE 'RotatingCollection' -%]Rotating collection
120
                                             [%- CASE 'Reserve' -%]Reserve
121
                                             [%- CASE 'LostReserve' -%]Lost reserve
122
                                             [%- CASE 'CancelReserve' -%]Cancelled reserve
123
                                         [%- END -%]
124
                                     </p>
125
                                 </div>
126
                            [% END %]
127
109
                            [% IF privacy == 2 AND NOT Koha.Preference('AnonymousPatron') %]
128
                            [% IF privacy == 2 AND NOT Koha.Preference('AnonymousPatron') %]
110
                                <div class="dialog alert">
129
                                <div class="dialog alert">
111
                                    <strong>Error:</strong>
130
                                    <strong>Error:</strong>
Lines 538-544 Link Here
538
557
539
                                                <div class="modal-header">
558
                                                <div class="modal-header">
540
                                                    <h3>
559
                                                    <h3>
541
                                                        Please return this item to [% Branches.GetName( returnbranch ) | html %]
560
                                                        Please return this item to [% IF transfer %][% Branches.GetName( transfer ) | html %][% ELSE %][% Branches.GetName( returnbranch ) | html %][% END %]
542
                                                    </h3>
561
                                                    </h3>
543
                                                </div>
562
                                                </div>
544
                                                <div class="modal-body">
563
                                                <div class="modal-body">
Lines 565-571 Link Here
565
                                                        <button type="button" data-dismiss="modal" class="btn btn-default deny" name="notransfer" value="No"><i class="fa fa-times"></i> No</button>
584
                                                        <button type="button" data-dismiss="modal" class="btn btn-default deny" name="notransfer" value="No"><i class="fa fa-times"></i> No</button>
566
                                                    [% ELSE %]
585
                                                    [% ELSE %]
567
                                                        <button type="button" data-dismiss="modal" class="btn btn-default approve"><i class="fa fa-check"></i> OK</button>
586
                                                        <button type="button" data-dismiss="modal" class="btn btn-default approve"><i class="fa fa-check"></i> OK</button>
568
                                                        <button type="button" data-dismiss="modal" name="dotransfer" class="btn btn-default print openWin" data-url="transfer-slip.pl?transferitem=[% itemnumber | uri %]&amp;branchcode=[% returnbranch | uri %]&amp;op=slip"><i class="fa fa-print"></i> Print slip</button>
587
                                                        <button type="button" data-dismiss="modal" name="dotransfer" class="btn btn-default print openWin" data-url="transfer-slip.pl?transferitem=[% itemnumber | uri %]&amp;branchcode=[% transfer | uri %]&amp;op=slip"><i class="fa fa-print"></i> Print slip</button>
569
                                                    [% END %]
588
                                                    [% END %]
570
                                                    <input type="hidden" name="return_date_override" value="[% return_date_override | html %]" />
589
                                                    <input type="hidden" name="return_date_override" value="[% return_date_override | html %]" />
571
                                                    <input type="hidden" name="return_date_override_remember" value="[% return_date_override_remember | html %]" />
590
                                                    <input type="hidden" name="return_date_override_remember" value="[% return_date_override_remember | html %]" />
572
- 

Return to bug 24446