use Koha::Config::SysPrefs;
use Koha::Charges::Fees;
use Koha::Util::SystemPreferences;
+use Koha::Checkouts::ReturnClaims;
use Carp;
use List::MoreUtils qw( uniq any );
use Scalar::Util qw( looks_like_number );
}
}
+ if ( C4::Context->preference('ClaimReturnedLostValue') ) {
+ my $claims = Koha::Checkouts::ReturnClaims->search(
+ {
+ itemnumber => $item->id,
+ resolution => undef,
+ }
+ );
+
+ if ( $claims->count ) {
+ $messages->{ReturnClaims} = $claims;
+ }
+ }
+
return ( $doreturn, $messages, $issue, ( $patron ? $patron->unblessed : {} ));
}
use Modern::Perl;
-use Test::More tests => 4;
+use Test::More tests => 5;
use Test::MockModule;
use Test::Warn;
is( $doreturn, 1, "Without BlockReturnOfLostItems, a checkin of a lost item should not be blocked");
};
+subtest 'Checkin of an item claimed as returned should generate a message' => sub {
+ plan tests => 1;
+
+ t::lib::Mocks::mock_preference('ClaimReturnedLostValue', 1);
+ my $biblio = $builder->build_object( { class => 'Koha::Biblios' } );
+ my $item = $builder->build_object(
+ {
+ class => 'Koha::Items',
+ value => {
+ biblionumber => $biblio->biblionumber,
+ notforloan => 0,
+ itemlost => 0,
+ withdrawn => 0,
+ }
+ }
+ );
+ my $patron = $builder->build_object({class => 'Koha::Patrons'});
+ my $checkout = AddIssue( $patron->unblessed, $item->barcode );
+
+ $checkout->claim_returned({ created_by => $patron->id });
+
+ my ( $doreturn, $messages, $issue ) = AddReturn($item->barcode);
+ ok( $messages->{ReturnClaims}, "ReturnClaims is in messages for return of a claimed as returned itm" );
+};
+
$schema->storage->txn_rollback;