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
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
use C4::Acquisition qw(GetOrdersByBiblionumber);
use Koha::AuthorisedValues;
use Koha::Biblios;
+use Koha::Illrequests;
use Koha::Items;
use Koha::ItemTypes;
use Koha::Patrons;
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
</span>
[% END %]
+ [% IF ( illrequests ) %]
+ <span class="results_summary">
+ <span class="label">ILL requests:</span>
+ [% IF CAN_user_ill %]
+ [% FOREACH ill IN illrequests %]
+ <a href="/cgi-bin/koha/ill/ill-requests.pl?method=illview&illrequest_id=[% ill.illrequest_id | uri %]">Request [% ill.illrequest_id | html %]</a>[% IF ! loop.last %], [% END %]
+ [% END %]
+ [% ELSE %]
+ [% FOREACH ill IN illrequests %]
+ <span>Request [% ill.illrequest_id | html %]</span>[% IF ! loop.last %], [% END %]
+ [% END %]
+ [% END %]
+ </span>
+ [% END %]
+
[% IF ( article_requests_count = Biblio.ArticleRequestsActiveCount( biblionumber ) ) %]
<span class="results_summary">
<span class="label">Article requests:</span>