From e1c12dfcc7eebf85bb0dd58eb3a3b1b7d31646c9 Mon Sep 17 00:00:00 2001
From: Tomas Cohen Arazi <tomascohen@gmail.com>
Date: Wed, 18 Sep 2013 11:33:07 -0300
Subject: [PATCH] Bug 10691: 5xx not properly linked by authid in authority
 search result list

This patch changes the URL and data used to show the 'see also' links
on the OPAC's authority search results page.

Bonus points: makes some strings translatable.

To test:
- On your dev setup (master) create some authority records (i created personal name authorities).
- Pick one of them and link 400$a to another one, do the same with 500$a
- Add some other 400$a and 500$a without linking (i.e. plain text)
- Make sure zebra is running and changes got indexed.
- In the OPAC search for the authority that is linked to the others.
- Check the 'see also:' link points to an authority search
- Apply the patch
- Reload/re-do the search
- Check the 'see also:' link points to the authority id in the case of linked authorities,
  and to an authority search in the case of plain text names.

Regards
To+

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Work as described. No errors

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
---
 .../en/includes/authorities-search-results.inc     |   60 ++++++++++++++------
 .../en/modules/opac-authoritiessearchresultlist.tt |   58 +++++++++----------
 2 files changed, 71 insertions(+), 47 deletions(-)

diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/authorities-search-results.inc b/koha-tmpl/opac-tmpl/prog/en/includes/authorities-search-results.inc
index ea2aa16..b3371aa 100644
--- a/koha-tmpl/opac-tmpl/prog/en/includes/authorities-search-results.inc
+++ b/koha-tmpl/opac-tmpl/prog/en/includes/authorities-search-results.inc
@@ -1,4 +1,6 @@
 [% BLOCK showreference %]
+    [% SET authidurl = '/cgi-bin/koha/opac-authoritiesdetail.pl?authid=' %]
+    [% SET searchurl = '/cgi-bin/koha/opac-authorities-home.pl?op=do_search&type=opac&operatorc=contains&marclistc=mainentry&and_orc=and&orderby=HeadingAsc&value=' %]
     [% IF marcflavour == 'UNIMARC' %]
         [% SWITCH type %]
         [% CASE 'broader' %]
@@ -11,24 +13,39 @@
             <span class="RT">RT: [% heading | html %]</span>
         [% END %]
     [% ELSE %]
-        [% IF ( label ) %]<span class="label">[% SWITCH label %]
-        [% CASE 'see also:' %]see also:
-        [% CASE 'used for/see from:' %]used for/see from:
-        [% END %]</span>[% END %]
+        <span class="label">
+        [% IF ( type=='seefrom' ) %]
+            used for/see from:
+        [% ELSIF  ( type=='seealso' ) %]
+            see also:
+        [% END %]
+        </span>
         <span class="heading">
-        [% IF ( linkpath && search ) %]<a href="[% link | url %][% search | url %]">[% heading | html %]</a>
-        [% ELSE %][% heading | html %][% END %]
+        [% IF ( type=='seealso' ) %]
+            [% IF ( authid ) %]
+            <a href="[% authidurl | url %][% authid | url %]">[% heading | html %]</a>
+            [% ELSE %]
+            <a href="[% searchurl | url %][% heading | html %]">[% heading | html %]</a>
+            [% END %]
+        [% ELSE %]
+            [% heading | html %]
+        [% END %]
         </span>
-        [% UNLESS ( type=='seefrom' || type=='seealso' ) %]<span class="type">[% SWITCH type %]
-        [% CASE 'earlier' %](Earlier heading)
-        [% CASE 'later' %](Later heading)
-        [% CASE 'acronym' %](Acronym)
-        [% CASE 'musical' %](Musical composition)
-        [% CASE 'broader' %](Broader heading)
-        [% CASE 'narrower' %](Narrower heading)
-        [% CASE 'parent' %](Immediate parent body)
-        [% CASE %][% IF type %]([% type | html %])[% END %]
-        [% END %]</span>[% END %]
+        [% UNLESS ( type=='seefrom' || type=='seealso' ) %]
+        <span class="type">
+            [% SWITCH type %]
+            [% CASE 'earlier' %](Earlier heading)
+            [% CASE 'later' %](Later heading)
+            [% CASE 'acronym' %](Acronym)
+            [% CASE 'musical' %](Musical composition)
+            [% CASE 'broader' %](Broader heading)
+            [% CASE 'narrower' %](Narrower heading)
+            [% CASE 'parent' %](Immediate parent body)
+            [% CASE %][% IF type %]([% type | html %])
+            [% END %]
+        [% END %]
+        </span>
+        [% END %]
     [% END %]
 [% END %]
 [% BLOCK authresult %]
@@ -76,14 +93,21 @@
             [% IF ( summary.seefrom ) %]
                 [% FOREACH seefro IN summary.seefrom %]
                     <div class="seefrom authref">
-                    [% PROCESS showreference heading=seefro.heading label="used for/see from:" type=seefro.type search='' %]
+                    [% PROCESS showreference
+                        heading=seefro.heading
+                        type=seefro.type
+                    %]
                     </div>
                 [% END %]
             [% END %]
             [% IF ( summary.seealso ) %]
                 [% FOREACH seeals IN summary.seealso %]
                     <div class="seealso authref">
-                    [% PROCESS showreference heading=seeals.heading label="see also:" type=seeals.type linkpath=link search=seeals.search %]
+                    [% PROCESS showreference
+                        heading=seeals.heading
+                        type=seeals.type
+                        authid=seeals.authid
+                    %]
                     </div>
                 [% END %]
             [% END %]
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-authoritiessearchresultlist.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-authoritiessearchresultlist.tt
index 6f889b0..7f80fe0 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-authoritiessearchresultlist.tt
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-authoritiessearchresultlist.tt
@@ -44,35 +44,35 @@
 
 			[% IF ( total ) %]
 <div class="searchresults">
-		<table>
-			<tr>
-                <th>Authorized headings</th>
-                <th>Type of heading</th>
-				[% UNLESS ( isEDITORS ) %]
-                    <th>Biblio records</th>
-				[% END %]
-                <th>Full heading</th>
-			</tr>
-			[% FOREACH resul IN result %]
-            [% UNLESS ( loop.odd ) %]
-                <tr class="highlight">
-            [% ELSE %]
-                <tr>
-            [% END %]
-                    <td>[% PROCESS authresult summary=resul.summary link="/cgi-bin/koha/opac-authorities-home.pl?op=do_search&type=opac&operatorc=contains&marclistc=mainentry&and_orc=and&orderby=HeadingAsc&value=" %]</td>
-                    <td>[% resul.authtype %]</td>
-					[% UNLESS ( resul.isEDITORS ) %]
-						<td>
-							 <a href="/cgi-bin/koha/opac-search.pl?type=opac&amp;op=do_search&amp;q=an=[% resul.authid %]">[% resul.used %] biblios</a>
-						</td>
-					[% END %]
-						<td>
-                            <a href="opac-authoritiesdetail.pl?authid=[% resul.authid %]">View full heading</a>
-						</td>
-				</tr>
-			[% END %]
-		</table>
-	</div>
+    <table>
+        <tr>
+            <th>Authorized headings</th>
+            <th>Type of heading</th>
+        [% UNLESS ( isEDITORS ) %]
+            <th>Biblio records</th>
+        [% END %]
+            <th>Full heading</th>
+        </tr>
+[% FOREACH resul IN result %]
+    [% UNLESS ( loop.odd ) %]
+        <tr class="highlight">
+    [% ELSE %]
+        <tr>
+    [% END %]
+            <td>[% PROCESS authresult summary=resul.summary %]</td>
+            <td>[% resul.authtype %]</td>
+        [% UNLESS ( resul.isEDITORS ) %]
+            <td>
+                <a href="/cgi-bin/koha/opac-search.pl?type=opac&amp;op=do_search&amp;q=an=[% resul.authid %]">[% resul.used %] biblios</a>
+            </td>
+        [% END %]
+            <td>
+                <a href="opac-authoritiesdetail.pl?authid=[% resul.authid %]">View full heading</a>
+            </td>
+        </tr>
+[% END %]
+    </table>
+</div>
 	<div id="resultnumber">
 			[% IF ( displayprev ) %]
 				<a href="opac-authorities-home.pl?startfrom=[% startfromprev %]&amp;[% FOREACH searchdat IN searchdata %][% searchdat.term %]=[% searchdat.val |url %]&amp;[% END %]resultsperpage=[% resultsperpage %]&amp;type=opac&amp;op=do_search&amp;authtypecode=[% authtypecode %]&amp;orderby=[% orderby %]">&lt;&lt;</a>
-- 
1.7.10.4