From f5e5f6bb99c445a739fa2d2bb3d933576d579617 Mon Sep 17 00:00:00 2001 From: Magnus Enger Date: Mon, 9 Dec 2019 17:48:35 +0100 Subject: [PATCH] Bug 20799 - Add link from biblio to ILL detail view Some ILL systems (e.g. Libris in Sweden) require a link between a biblio and an ILL request. When such a link exists it is nice to display an actual link from the biblio detail view to the ILL request detail view. This patch adds such a link. For users without ILL privileges, the requests should still show, but not be clickable links. To test: - Make sure you have a couple of ILL requests created with the FreeForm backend. (FreeForm does not let you tie a request to a biblio through the UI, but we will add connections directly in the database.) Lets assume these have illrequest_id's a and b. - Make sure you have a record, let's call the biblionumber x. - Apply the patch and make sure there are no changes in the biblio detail view of biblionumber x. - Log into the database and connect the biblio to the first request: UPDATE illrequests SET biblio_id = x where illrequest_id = a; - Check that the biblio detail view now says this: "ILL requests: Request a" - Verify that the "Request a" part is a working link to the detail view of ILL request a. - Do this in the database: UPDATE illrequests SET biblio_id = x where illrequest_id = b; - Check that the biblio detail view now says this: "ILL requests: Request a, Request b" - Verify the links work as expected. - Log in as a staff user and check that the requests are still listed, but not displayed as clickable links. - Sign off --- catalogue/detail.pl | 5 +++++ .../prog/en/modules/catalogue/detail.tt | 15 +++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/catalogue/detail.pl b/catalogue/detail.pl index 511855e9fc..04725a5403 100755 --- a/catalogue/detail.pl +++ b/catalogue/detail.pl @@ -43,6 +43,7 @@ use C4::CourseReserves qw(GetItemCourseReservesInfo); use C4::Acquisition qw(GetOrdersByBiblionumber); use Koha::AuthorisedValues; use Koha::Biblios; +use Koha::Illrequests; use Koha::Items; use Koha::ItemTypes; use Koha::Patrons; @@ -523,6 +524,10 @@ if (C4::Context->preference('TagsEnabled') and $tag_quantity = C4::Context->pref my $holds = $biblio->holds; $template->param( holdcount => $holds->count ); +# Check if there are any ILL requests connected to the biblio +my $illrequests = Koha::Illrequests->search({ biblio_id => $biblionumber }); +$template->param( illrequests => $illrequests ); + my $StaffDetailItemSelection = C4::Context->preference('StaffDetailItemSelection'); if ($StaffDetailItemSelection) { # Only enable item selection if user can execute at least one action diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt index 571f3b2395..a891ea8850 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt @@ -126,6 +126,21 @@ [% END %] + [% IF ( illrequests ) %] + + ILL requests: + [% IF CAN_user_ill %] + [% FOREACH ill IN illrequests %] + Request [% ill.illrequest_id | html %][% IF ! loop.last %], [% END %] + [% END %] + [% ELSE %] + [% FOREACH ill IN illrequests %] + Request [% ill.illrequest_id | html %][% IF ! loop.last %], [% END %] + [% END %] + [% END %] + + [% END %] + [% IF ( article_requests_count = Biblio.ArticleRequestsActiveCount( biblionumber ) ) %] Article requests: -- 2.17.1