Browse Source

Bug 22614: Migrate original request

This patch changes an active request's backend and initiates the
migration on that request, rather than creating another and migrating
that.

The majority of the work to accomplish this bug is being carried out in
the backends, since Koha delegates migrations to them.

Signed-off-by: Barry Cannon <bc@interleaf.ie>
Signed-off-by: Assumpta Byrne <abyrne@ait.ie>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
21.11.x
Andrew Isherwood 3 years ago
committed by Jonathan Druart
parent
commit
3fc80c35aa
  1. 3
      Koha/Illrequest.pm
  2. 4
      Koha/Illrequest/Logger.pm
  3. 6
      ill/ill-requests.pl

3
Koha/Illrequest.pm

@ -718,7 +718,8 @@ Migrate a request from one backend to another.
sub backend_migrate {
my ( $self, $params ) = @_;
# Set the request's backend to be the destination backend
$self->load_backend($params->{backend});
my $response = $self->_backend_capability('migrate',{
request => $self,
other => $params,

4
Koha/Illrequest/Logger.pm

@ -215,6 +215,10 @@ sub get_log_template {
} else {
# It's probably a backend log, so we need to get the path to the
# template from the backend
#
# We need to load the backend that this log was made from, so we
# can get the template
$params->{request}->load_backend($origin);
my $backend =$params->{request}->{_my_backend};
return $backend->get_log_template_path($action);
}

6
ill/ill-requests.pl

@ -152,14 +152,12 @@ if ( $backends_available ) {
my $request = Koha::Illrequests->find($params->{illrequest_id});
my $backend_result;
if ( $params->{backend} ) {
my $new_request = Koha::Illrequest->new->load_backend( $params->{backend} );
$backend_result = $new_request->backend_migrate($params);
$backend_result = $request->backend_migrate($params);
if ($backend_result) {
$template->param(
whole => $backend_result,
request => $new_request
request => $request
);
$request = $new_request;
} else {
# Backend failure, redirect back to illview
print $cgi->redirect( '/cgi-bin/koha/ill/ill-requests.pl'

Loading…
Cancel
Save