adding additional statuses display for XSL
authorJoshua Ferraro <jmf@liblime.com>
Tue, 8 Apr 2008 00:02:18 +0000 (20:02 -0400)
committerJoshua Ferraro <jmf@liblime.com>
Tue, 8 Apr 2008 02:20:50 +0000 (21:20 -0500)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
C4/XSLT.pm
koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl

index 1057685..d6cdcfa 100644 (file)
@@ -128,8 +128,22 @@ sub buildKohaItemsNamespace {
     my $xml;
     for my $item (@items) {
         my $status;
-        if ($item->{onloan}) {
-            $status = "On loan";
+        if ( $item->{notforloan} == -1 || $item->{onloan} || $item->{wthdrawn} || $item->{itemlost} || $item->{damaged}) {
+            if ( $item->{notforloan} == -1) {
+                $status = "On order";
+            }
+            if ($item->{onloan}) {
+                $status = "On loan";
+            }
+            if ( $item->{wthdrawn}) {
+                $status = "Withdrawn";
+            }
+            if ($item->{itemlost}) {
+                $status = "Lost";
+            }
+            if ($item->{damaged}) {
+                $status = "Damaged"; 
+            }
         } else {
             $status = "available";
         }
index 96965af..e3eb06a 100644 (file)
                         </xsl:call-template>
                     </xsl:with-param>
                 </xsl:call-template>
-            </xsl:if><xsl:text> </xsl:text>
+            </xsl:if>
+            <xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
             <xsl:call-template name="part"/>
-            <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
         </xsl:for-each>
         </xsl:if>
     </a>
                            <xsl:value-of select="items:homebranch"/>
                            <xsl:text> (</xsl:text>
                            <xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/>
-                           <xsl:text>) </xsl:text>
+                           <xsl:text>)</xsl:text>
+<xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose>
                        </xsl:for-each>
                    </span>
                    </xsl:if>
                    <span class="unavailable">
                        <xsl:text>On loan (</xsl:text>
                        <xsl:value-of select="count(key('item-by-status', 'On loan'))"/>
-                       <xsl:text>)</xsl:text>
+                       <xsl:text>) </xsl:text>
                    </span>
                    </xsl:if>
+                   <xsl:if test="count(key('item-by-status', 'Withdrawn'))>0">
+                   <span class="unavailable">
+                       <xsl:text>Withdrawn (</xsl:text>
+                       <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">
+                   <span class="unavailable">
+                       <xsl:text>Lost (</xsl:text>
+                       <xsl:value-of select="count(key('item-by-status', 'Lost'))"/>
+                       <xsl:text>) </xsl:text>                   </span>
+                   </xsl:if>
+                    <xsl:if test="count(key('item-by-status', 'Damaged'))>0">
+                   <span class="unavailable">
+                       <xsl:text>Damaged (</xsl:text>
+                       <xsl:value-of select="count(key('item-by-status', 'Damaged'))"/>
+                       <xsl:text>) </xsl:text>                   </span>
+                   </xsl:if>
+                    <xsl:if test="count(key('item-by-status', 'On order'))>0">
+                   <span class="unavailable">
+                       <xsl:text>On order (</xsl:text>
+                       <xsl:value-of select="count(key('item-by-status', 'On order'))"/>
+                       <xsl:text>) </xsl:text>                   </span>
+                   </xsl:if>
                </div>
     </td>
     </xsl:template>