From b14908932a2145edb9e7ed12b5d726eb16fdfcaf Mon Sep 17 00:00:00 2001 From: Mehdi Hamidi Date: Fri, 3 Mar 2017 14:33:29 -0500 Subject: [PATCH] Bug 7611 - Show the NOT_LOAN authorised values for item status in XSLT OPAC search results Added : Call number for all not for loan status XSLT Results template improvement : Use the NOT_LOAN authorised values Improvement : Use the NOT_LOAN authorised values when showing items status in the OPAC search results. Before this patch, these items were only considered as "unavailable". Note : This patch only affects the OPAC XSLT search results template for MARC21 records. This patch was not tested on UNIMARC or NORMARC records. I won't be able to support these formats, so I'm hoping someone could do the same for these other record formats. Patch sponsored by the CCSR ( http://www.ccsr.qc.ca ) --- C4/XSLT.pm | 10 ++++++++- .../en/xslt/MARC21slim2OPACResults.xsl | 22 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/C4/XSLT.pm b/C4/XSLT.pm index bf2647ab74..81ec027060 100644 --- a/C4/XSLT.pm +++ b/C4/XSLT.pm @@ -285,9 +285,11 @@ sub buildKohaItemsNamespace { my $location = ""; my $ccode = ""; my $xml = ''; + my %descs = map { $_->{authorised_value} => $_ } Koha::AuthorisedValues->get_descriptions_by_koha_field( { kohafield => 'items.notforloan' } ); + for my $item (@items) { my $status; - + my $substatus = ''; my ( $transfertwhen, $transfertfrom, $transfertto ) = C4::Circulation::GetTransfers($item->{itemnumber}); my $reservestatus = C4::Reserves::GetReserveStatus( $item->{itemnumber} ); @@ -300,6 +302,11 @@ sub buildKohaItemsNamespace { if ( $item->{itemnotforloan} && $item->{itemnotforloan} > 0 || $item->{notforloan} && $item->{notforloan} > 0 || $item->{itype} && $itemtypes->{ $item->{itype} }->{notforloan} && $itemtypes->{ $item->{itype} }->{notforloan} == 1 ) { $status = "reference"; } + if ($item->{itemnotforloan} > 0 || $item->{notforloan} > 0 ){ + $status = "reallynotforloan"; + $substatus = $descs{$item->{notforloan}} || ''; + $substatus = $substatus->{opac_description} if $substatus; + } if ($item->{onloan}) { $status = "Checked out"; } @@ -334,6 +341,7 @@ sub buildKohaItemsNamespace { . "$location" . "$ccode" . "".( $status // q{} )."" + . "$substatus" . "$itemcallnumber" . "$stocknumber" . ""; diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl index abaf7dd5f9..624a541a80 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl +++ b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl @@ -12,6 +12,7 @@ + @@ -1268,6 +1269,27 @@ + + : + + + + + +
+ + + + [Call number: ] + ( + + ) + . , + +
+
+
+ Checked out ( -- 2.17.2 (Apple Git-113)