|
Lines 1476-1483
sub AddIssue {
Link Here
|
| 1476 |
); |
1476 |
); |
| 1477 |
|
1477 |
|
| 1478 |
if ($refund && $lostreturn_policy) { |
1478 |
if ($refund && $lostreturn_policy) { |
| 1479 |
_FixAccountForLostAndFound( $item_object->itemnumber, undef, |
1479 |
_FixAccountForLostAndFound( $item_object->itemnumber ); |
| 1480 |
$item_object->barcode ); |
|
|
| 1481 |
|
1480 |
|
| 1482 |
if ( $lostreturn_policy eq 'charge' ) { |
1481 |
if ( $lostreturn_policy eq 'charge' ) { |
| 1483 |
$actualissue //= Koha::Old::Checkouts->search( |
1482 |
$actualissue //= Koha::Old::Checkouts->search( |
|
Lines 1487-1492
sub AddIssue {
Link Here
|
| 1487 |
rows => 1 |
1486 |
rows => 1 |
| 1488 |
} |
1487 |
} |
| 1489 |
)->single; |
1488 |
)->single; |
|
|
1489 |
unless (exists($borrower->{branchcode})) { |
| 1490 |
my $patron = $issue->patron; |
| 1491 |
$borrower = $patron->unblessed; |
| 1492 |
} |
| 1490 |
_CalculateAndUpdateFine( |
1493 |
_CalculateAndUpdateFine( |
| 1491 |
{ |
1494 |
{ |
| 1492 |
issue => $actualissue, |
1495 |
issue => $actualissue, |
|
Lines 1498-1507
sub AddIssue {
Link Here
|
| 1498 |
$item_object->itemnumber, undef, 'RENEWED' ); |
1501 |
$item_object->itemnumber, undef, 'RENEWED' ); |
| 1499 |
} |
1502 |
} |
| 1500 |
elsif ( $lostreturn_policy eq 'restore' ) { |
1503 |
elsif ( $lostreturn_policy eq 'restore' ) { |
| 1501 |
_RestoreOverdueForLostAndFound( |
1504 |
_RestoreOverdueForLostAndFound( $item_object->itemnumber ); |
| 1502 |
$borrower->{'borrowernumber'}, |
|
|
| 1503 |
$item_object->itemnumber |
| 1504 |
); |
| 1505 |
} |
1505 |
} |
| 1506 |
} |
1506 |
} |
| 1507 |
} |
1507 |
} |
|
Lines 2096-2103
sub AddReturn {
Link Here
|
| 2096 |
); |
2096 |
); |
| 2097 |
|
2097 |
|
| 2098 |
if ($refund && $lostreturn_policy) { |
2098 |
if ($refund && $lostreturn_policy) { |
| 2099 |
_FixAccountForLostAndFound( $item->itemnumber, |
2099 |
_FixAccountForLostAndFound( $item->itemnumber ); |
| 2100 |
$borrowernumber, $barcode ); |
|
|
| 2101 |
$messages->{'LostItemFeeRefunded'} = 1; |
2100 |
$messages->{'LostItemFeeRefunded'} = 1; |
| 2102 |
|
2101 |
|
| 2103 |
if ( $lostreturn_policy eq 'charge' ) { |
2102 |
if ( $lostreturn_policy eq 'charge' ) { |
|
Lines 2105-2110
sub AddReturn {
Link Here
|
| 2105 |
{ itemnumber => $item->itemnumber }, |
2104 |
{ itemnumber => $item->itemnumber }, |
| 2106 |
{ order_by => { '-desc' => 'returndate' }, rows => 1 } |
2105 |
{ order_by => { '-desc' => 'returndate' }, rows => 1 } |
| 2107 |
)->single; |
2106 |
)->single; |
|
|
2107 |
unless (exists($patron_unblessed->{branchcode})) { |
| 2108 |
my $patron = $issue->patron; |
| 2109 |
$patron_unblessed = $patron->unblessed; |
| 2110 |
} |
| 2108 |
_CalculateAndUpdateFine( |
2111 |
_CalculateAndUpdateFine( |
| 2109 |
{ |
2112 |
{ |
| 2110 |
issue => $issue, |
2113 |
issue => $issue, |
|
Lines 2118-2125
sub AddReturn {
Link Here
|
| 2118 |
$messages->{'LostItemFeeCharged'} = 1; |
2121 |
$messages->{'LostItemFeeCharged'} = 1; |
| 2119 |
} |
2122 |
} |
| 2120 |
elsif ( $lostreturn_policy eq 'restore' ) { |
2123 |
elsif ( $lostreturn_policy eq 'restore' ) { |
| 2121 |
_RestoreOverdueForLostAndFound( $borrowernumber, |
2124 |
_RestoreOverdueForLostAndFound( $item->itemnumber ); |
| 2122 |
$item->itemnumber ); |
|
|
| 2123 |
$messages->{'LostItemFeeRestored'} = 1; |
2125 |
$messages->{'LostItemFeeRestored'} = 1; |
| 2124 |
} |
2126 |
} |
| 2125 |
} |
2127 |
} |
|
Lines 2634-2642
sub _FixAccountForLostAndFound {
Link Here
|
| 2634 |
|
2636 |
|
| 2635 |
=head2 _RestoreOverdueForLostAndFound |
2637 |
=head2 _RestoreOverdueForLostAndFound |
| 2636 |
|
2638 |
|
| 2637 |
&_RestoreOverdueForLostAndFound($borrowernumber, $itemnumber ); |
2639 |
&_RestoreOverdueForLostAndFound( $itemnumber ); |
| 2638 |
|
|
|
| 2639 |
C<$borrowernumber> borrowernumber |
| 2640 |
|
2640 |
|
| 2641 |
C<$itemnumber> itemnumber |
2641 |
C<$itemnumber> itemnumber |
| 2642 |
|
2642 |
|
|
Lines 2645-2656
Internal function
Link Here
|
| 2645 |
=cut |
2645 |
=cut |
| 2646 |
|
2646 |
|
| 2647 |
sub _RestoreOverdueForLostAndFound { |
2647 |
sub _RestoreOverdueForLostAndFound { |
| 2648 |
my ( $borrowernumber, $item ) = @_; |
2648 |
my ( $item ) = @_; |
| 2649 |
|
2649 |
|
| 2650 |
unless( $borrowernumber ) { |
|
|
| 2651 |
warn "_RestoreOverdueForLostAndFound() not supplied valid borrowernumber"; |
| 2652 |
return; |
| 2653 |
} |
| 2654 |
unless( $item ) { |
2650 |
unless( $item ) { |
| 2655 |
warn "_RestoreOverdueForLostAndFound() not supplied valid itemnumber"; |
2651 |
warn "_RestoreOverdueForLostAndFound() not supplied valid itemnumber"; |
| 2656 |
return; |
2652 |
return; |
|
Lines 2663-2669
sub _RestoreOverdueForLostAndFound {
Link Here
|
| 2663 |
# check for lost overdue fine |
2659 |
# check for lost overdue fine |
| 2664 |
my $accountlines = Koha::Account::Lines->search( |
2660 |
my $accountlines = Koha::Account::Lines->search( |
| 2665 |
{ |
2661 |
{ |
| 2666 |
borrowernumber => $borrowernumber, |
|
|
| 2667 |
itemnumber => $item, |
2662 |
itemnumber => $item, |
| 2668 |
debit_type_code => 'OVERDUE', |
2663 |
debit_type_code => 'OVERDUE', |
| 2669 |
status => 'LOST' |
2664 |
status => 'LOST' |