From 8f5d4ca8376d14779b23841cb67dde14aacdc416 Mon Sep 17 00:00:00 2001
From: Hector Castro <hector.hecaxmmx@gmail.com>
Date: Fri, 5 Feb 2016 08:44:54 -0600
Subject: [PATCH] [SIGNED OFF] Bug 14304: RDA: OPAC display link in XSLT for
 264 field to reflect Zebra indexing

This patch add display link in XSLT for field 264/bug 14198 and reflect the
Zebra index 'Provider' in detail page for OPAC screen.

To test: follow previous test plan

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
---
 .../bootstrap/en/xslt/MARC21slim2OPACDetail.xsl    |  6 ++--
 .../bootstrap/en/xslt/MARC21slimUtils.xsl          | 40 ++++++++++++++++++++--
 2 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl
index 4cec982..d0e7a88 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl
@@ -338,7 +338,9 @@
         <!-- Publisher info and RDA related info from tags 260, 264 -->
         <xsl:choose>
             <xsl:when test="marc:datafield[@tag=264]">
-                <xsl:call-template name="showRDAtag264"/>
+                <xsl:call-template name="showRDAtag264">
+                   <xsl:with-param name="show_url">1</xsl:with-param>
+                </xsl:call-template>
             </xsl:when>
             <xsl:when test="marc:datafield[@tag=260]">
              <span class="results_summary publisher"><span class="label">Publisher: </span>
@@ -353,7 +355,7 @@
                      </xsl:if>
                      <xsl:text> </xsl:text>
                      <xsl:if test="marc:subfield[@code='b']">
-                     <span property="name"><a href="/cgi-bin/koha/opac-search.pl?q=pb:{marc:subfield[@code='b']}">
+                     <span property="name"><a href="/cgi-bin/koha/opac-search.pl?q=Provider:{marc:subfield[@code='b']}">
                          <xsl:call-template name="subfieldSelect">
                              <xsl:with-param name="codes">b</xsl:with-param>
                          </xsl:call-template>
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slimUtils.xsl b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slimUtils.xsl
index 9ceb9ed..596bddf 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slimUtils.xsl
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slimUtils.xsl
@@ -216,11 +216,13 @@
          The preferred tag is saved in the fav variable and passed to a
          helper named-template -->
         <!-- Amended  to show all 264 fields (filtered by ind1=3 if ind1=3 is present in the record)  -->
+        <xsl:param name="show_url"/>
         <xsl:choose>
             <xsl:when test="marc:datafield[@tag=264 and @ind1=3]">
                 <xsl:for-each select="marc:datafield[@tag=264 and @ind1=3]">
                     <xsl:call-template name="showRDAtag264helper">
                         <xsl:with-param name="field" select="."/>
+                        <xsl:with-param name="url" select="$show_url"/>
                     </xsl:call-template>
                 </xsl:for-each>
             </xsl:when>
@@ -228,6 +230,7 @@
                 <xsl:for-each select="marc:datafield[@tag=264]">
                     <xsl:call-template name="showRDAtag264helper">
                         <xsl:with-param name="field" select="."/>
+                        <xsl:with-param name="url" select="$show_url"/>
                     </xsl:call-template>
                 </xsl:for-each>
             </xsl:otherwise>
@@ -235,6 +238,7 @@
     </xsl:template>
     <xsl:template name="showRDAtag264helper">
         <xsl:param name="field"/>
+        <xsl:param name="url"/>
         <xsl:variable name="ind2" select="$field/@ind2"/>
         <span class="results_summary">
             <xsl:choose>
@@ -254,9 +258,41 @@
                     <span class="label">Copyright date: </span>
                 </xsl:when>
             </xsl:choose>
-            <xsl:call-template name="subfieldSelect">
-                <xsl:with-param name="codes">abc</xsl:with-param>
+
+            <xsl:if test="$field/marc:subfield[@code='a']">
+                <xsl:call-template name="subfieldSelect">
+                    <xsl:with-param name="codes">a</xsl:with-param>
+                </xsl:call-template>
+            </xsl:if>
+            <xsl:text> </xsl:text>
+
+            <xsl:choose>
+                <xsl:when test="$url='1'">
+                    <xsl:if test="$field/marc:subfield[@code='b']">
+                         <a href="/cgi-bin/koha/opac-search.pl?q=Provider:{$field/marc:subfield[@code='b']}">
+                         <xsl:call-template name="subfieldSelect">
+                             <xsl:with-param name="codes">b</xsl:with-param>
+                         </xsl:call-template>
+                         </a>
+                    </xsl:if>
+                </xsl:when>
+                <xsl:otherwise>
+                    <xsl:if test="$field/marc:subfield[@code='b']">
+                        <xsl:call-template name="subfieldSelect">
+                            <xsl:with-param name="codes">b</xsl:with-param>
+                        </xsl:call-template>
+                    </xsl:if>
+                </xsl:otherwise>
+            </xsl:choose>
+            <xsl:text> </xsl:text>
+            <xsl:call-template name="chopPunctuation">
+                <xsl:with-param name="chopString">
+                    <xsl:call-template name="subfieldSelect">
+                        <xsl:with-param name="codes">c</xsl:with-param>
+                    </xsl:call-template>
+                </xsl:with-param>
             </xsl:call-template>
+
         </span>
     </xsl:template>
 </xsl:stylesheet>
-- 
1.9.1