Bug 27004: Prevent claim resolution to fail
If the account of the patron who created a claim is removed, then the claim won't be resolvable. Trying to resolve the claim will result in a 500: [2020/12/21 10:05:55] [ERROR] PUT /api/v1/return_claims/1/resolve: unhandled exception (Koha::Exceptions::Checkouts::ReturnClaims::NoCreatedBy)<<[created_by is mandatory]>> Koha::REST::Plugin::Exceptions::__ANON We should not check if created_by exist when we update an existing hold, only when we create it. Test plan: - Login with patron A - set a value to syspref ClaimReturnedLostValue - Check an item out - Claim returned it - Login with patron B - Delete patron A - Resolve the claim - ERROR in api-error.log an UI never confirming the resolution - apply patch & restart services - Resolve the claim - it works Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
parent
c4702149b2
commit
92dbe80902
|
|
@ -48,7 +48,7 @@ exceptions as needed.
|
|||
sub store {
|
||||
my ( $self ) = @_;
|
||||
|
||||
unless ( $self->created_by ) {
|
||||
unless ( $self->in_storage || $self->created_by ) {
|
||||
Koha::Exceptions::Checkouts::ReturnClaims::NoCreatedBy->throw();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -204,6 +204,8 @@ subtest 'resolve_claim() tests' => sub {
|
|||
|
||||
my $claim_id = $claim->id;
|
||||
|
||||
$claim->created_by(undef)->store; # resolve the claim must work even if the created_by patron has been removed
|
||||
|
||||
# Resolve a claim
|
||||
$t->put_ok(
|
||||
"//$userid:$password@/api/v1/return_claims/$claim_id/resolve" => json => {
|
||||
|
|
|
|||
Loading…
Reference in New Issue