Bug 4072 Lost items aren't hidden on OPAC result page
authorFrédéric Demians <f.demians@tamil.fr>
Thu, 10 Mar 2011 17:29:11 +0000 (11:29 -0600)
committerChris Cormack <chrisc@catalyst.net.nz>
Fri, 11 Mar 2011 23:52:57 +0000 (12:52 +1300)
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.

Signed-off-by: Liz Rea <lrea@nekls.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
C4/XSLT.pm
koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl
koha-tmpl/opac-tmpl/prog/en/xslt/UNIMARCslim2OPACResults.xsl

index f1c5293..4b6a99c 100644 (file)
@@ -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";
index b3f61e5..39eddd7 100644 (file)
@@ -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']"/>
                        <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'))"/>
index 19b6745..cfb8823 100644 (file)
@@ -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']"/>
         <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'))"/>