diff --git a/Koha/Illrequest.pm b/Koha/Illrequest.pm index a04ea5a553..540a3efe46 100644 --- a/Koha/Illrequest.pm +++ b/Koha/Illrequest.pm @@ -712,6 +712,23 @@ sub mark_completed { }; } +=head2 backend_illview + +View and manage an ILL request + +=cut + +sub backend_illview { + my ( $self, $params ) = @_; + + my $response = $self->_backend_capability('illview',{ + request => $self, + other => $params, + }); + return $self->expandTemplate($response) if $response; + return $response; +} + =head2 backend_migrate Migrate a request from one backend to another. diff --git a/ill/ill-requests.pl b/ill/ill-requests.pl index ea2305b3a4..fc7da41710 100755 --- a/ill/ill-requests.pl +++ b/ill/ill-requests.pl @@ -97,6 +97,12 @@ if ( $backends_available ) { ( tran_success => $params->{tran_success} ) : () ), ); + my $backend_result = $request->backend_illview($params); + $template->param( + whole => $backend_result, + ) if $backend_result; + + } elsif ( $op eq 'create' ) { # We're in the process of creating a request my $request = Koha::Illrequest->new->load_backend( $params->{backend} ); diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt index d5774b7331..0933b1a7c5 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt @@ -484,6 +484,7 @@ [% ELSIF query_type == 'illview' %] + [% PROCESS $whole.template %] [% req_status = request.status %] [% IF error %] diff --git a/t/db_dependent/Illrequests.t b/t/db_dependent/Illrequests.t index bade08a92f..ccd6b98949 100755 --- a/t/db_dependent/Illrequests.t +++ b/t/db_dependent/Illrequests.t @@ -636,7 +636,7 @@ subtest 'Backend testing (mocks)' => sub { subtest 'Backend core methods' => sub { - plan tests => 18; + plan tests => 19; $schema->storage->txn_begin; @@ -774,6 +774,11 @@ subtest 'Backend core methods' => sub { }, "Backend cancel: arbitrary stage."); + # backend_illview + $backend->set_series('illview', { stage => '', method => 'illview' }); + is_deeply($illrq->backend_illview({test => 1}), 0, + "Backend illview optional method."); + # backend_update_status $backend->set_series('update_status', { stage => 'bar', method => 'update_status' }); is_deeply($illrq->backend_update_status({test => 1}),