@@ -, +, @@ --- Koha/Illrequest.pm | 5 +++-- ill/ill-requests.pl | 24 ++++++++++++++++++++---- 2 files changed, 23 insertions(+), 6 deletions(-) --- a/Koha/Illrequest.pm +++ a/Koha/Illrequest.pm @@ -536,11 +536,12 @@ Migrate a request from one backend to another. sub backend_migrate { my ( $self, $params ) = @_; - my $response = $self->_backend->migrate({ + my $response = $self->_backend_capability('migrate',{ request => $self, other => $params, }); - return $self->expandTemplate($response); + return $self->expandTemplate($response) if $response; + return $response; } =head2 backend_confirm --- a/ill/ill-requests.pl +++ a/ill/ill-requests.pl @@ -93,10 +93,26 @@ if ( $backends_available ) { if ( $params->{backend} ) { my $new_request = Koha::Illrequest->new->load_backend( $params->{backend} ); $backend_result = $new_request->backend_migrate($params); - $template->param( - whole => $backend_result, - request => $new_request - ); + if ($backend_result) { + $template->param( + whole => $backend_result, + request => $new_request + ); + } else { + # backend failure + $backend_result = { + stage => 'commit', + next => 'illview', + error => { + message => 'Migrating to backedn does not support migrate', + status => 'Migrating to backedn does not support migrate' + } + }; + $template->param( + whole => $backend_result, + request => $request + ); + } } else { $request = Koha::Illrequests->find( $params->{illrequest_id} ); --