From 7a707209b92405e52ff305d341e5378554c227b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Demians?= <f.demians@tamil.fr> Date: Thu, 10 Mar 2011 18:18:50 +0100 Subject: [PATCH] Bug 4072 Lost items aren't hidden on OPAC result page When hidelostitems system preference is enabled, lost items are hidden on OPAC detail page but are shown on result page. This patch modify MARC21/UNIMARC XSL in order to take into account hidelostitems syspref on OPAC result page. --- C4/XSLT.pm | 5 ++++- .../prog/en/xslt/MARC21slim2OPACResults.xsl | 3 ++- .../prog/en/xslt/UNIMARCslim2OPACResults.xsl | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/C4/XSLT.pm b/C4/XSLT.pm index f1c5293..4b6a99c 100644 --- a/C4/XSLT.pm +++ b/C4/XSLT.pm @@ -128,7 +128,10 @@ sub XSLTParse4Display { my $itemsxml = buildKohaItemsNamespace($biblionumber); my $xmlrecord = $record->as_xml(C4::Context->preference('marcflavour')); my $sysxml = "<sysprefs>\n"; - foreach my $syspref ( qw/OPACURLOpenInNewWindow DisplayOPACiconsXSLT URLLinkText viewISBD OPACBaseURL/ ) { + foreach my $syspref ( qw/ hidelostitems OPACURLOpenInNewWindow + DisplayOPACiconsXSLT URLLinkText viewISBD + OPACBaseURL / ) + { my $sp = C4::Context->preference( $syspref ); next unless defined($sp); $sysxml .= "<syspref name=\"$syspref\">$sp</syspref>\n"; diff --git a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl index b3f61e5..39eddd7 100644 --- a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl +++ b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl @@ -19,6 +19,7 @@ <!-- Option: Display Alternate Graphic Representation (MARC 880) --> <xsl:variable name="display880" select="boolean(marc:datafield[@tag=880])"/> + <xsl:variable name="hidelostitems" select="marc:sysprefs/marc:syspref[@name='hidelostitems']"/> <xsl:variable name="DisplayOPACiconsXSLT" select="marc:sysprefs/marc:syspref[@name='DisplayOPACiconsXSLT']"/> <xsl:variable name="OPACURLOpenInNewWindow" select="marc:sysprefs/marc:syspref[@name='OPACURLOpenInNewWindow']"/> <xsl:variable name="URLLinkText" select="marc:sysprefs/marc:syspref[@name='URLLinkText']"/> @@ -1005,7 +1006,7 @@ <xsl:value-of select="count(key('item-by-status', 'Withdrawn'))"/> <xsl:text>). </xsl:text> </span> </xsl:if> - <xsl:if test="count(key('item-by-status', 'Lost'))>0"> + <xsl:if test="$hidelostitems='0' and count(key('item-by-status', 'Lost'))>0"> <span class="unavailable"> <xsl:text>Lost (</xsl:text> <xsl:value-of select="count(key('item-by-status', 'Lost'))"/> diff --git a/koha-tmpl/opac-tmpl/prog/en/xslt/UNIMARCslim2OPACResults.xsl b/koha-tmpl/opac-tmpl/prog/en/xslt/UNIMARCslim2OPACResults.xsl index 19b6745..cfb8823 100644 --- a/koha-tmpl/opac-tmpl/prog/en/xslt/UNIMARCslim2OPACResults.xsl +++ b/koha-tmpl/opac-tmpl/prog/en/xslt/UNIMARCslim2OPACResults.xsl @@ -26,6 +26,8 @@ <xsl:variable name="isbn" select="marc:datafield[@tag=010]/marc:subfield[@code='a']"/> + <xsl:variable name="hidelostitems" select="marc:sysprefs/marc:syspref[@name='hidelostitems']"/> + <xsl:if test="marc:datafield[@tag=200]"> <xsl:for-each select="marc:datafield[@tag=200]"> <xsl:variable name="title" select="marc:subfield[@code='a']"/> @@ -163,7 +165,7 @@ <xsl:text>). </xsl:text> </span> </xsl:if> - <xsl:if test="count(key('item-by-status', 'Lost'))>0"> + <xsl:if test="$hidelostitems='0' and count(key('item-by-status', 'Lost'))>0"> <span class="unavailable"> <xsl:text>Lost (</xsl:text> <xsl:value-of select="count(key('item-by-status', 'Lost'))"/> -- 1.7.4