Bug 10335: display translated forms of headings in UNIMARC authorities correctly
authorJanusz Kaczmarek <januszop@gmail.com>
Thu, 14 Mar 2013 15:25:40 +0000 (17:25 +0200)
committerGalen Charlton <gmc@esilibrary.com>
Thu, 10 Oct 2013 19:14:44 +0000 (19:14 +0000)
To reproduce and test:

To reproduce:
1) Create an authority record with main heading (100) in Latin script
   (e.g. Oppenheimer, Aharon -- subfields $a and $b) and parallel form
   (700) in Hebrew (אופנהיימר, אהרן -- subfields $a and $b).
    Mark it correctly in $8 with freheb (or engheb if you like);
2) Reindex and search;
3) You will see:

Oppenheimer Aharon
freheb: אופנהיימר

Whereas you would rather like to see (mind language and lack of $b above):

Oppenheimer, Aharon
Hebrew: אופנהיימר, אהרן

The patch corrects the issue and should not harm those who (improperly)
put only one triple in $8

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Work as described. No koha-qa errors.
Same result on OPAC and STAFF

Turns out that test plan is wrong,
you neet to fill tag 200ab, not 100ab, for main heading.
I filled 100a with some example data from UNIMARC auth manual.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Took me a bit to figure it out, works according to test plan.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
C4/AuthoritiesMarc.pm
koha-tmpl/intranet-tmpl/prog/en/includes/authorities-search-results.inc
koha-tmpl/opac-tmpl/prog/en/includes/authorities-search-results.inc

index 9ea3b2d..010fad7 100644 (file)
@@ -979,8 +979,8 @@ sub BuildSummary {
 
         # Other forms
         @otherscript = map { {
-            lang      => $_->subfield('8') || '',
-            term      => $_->subfield('a'),
+            lang      => length ($_->subfield('8')) == 6 ? substr ($_->subfield('8'), 3, 3) : $_->subfield('8') || '',
+            term      => $_->subfield('a') . ($_->subfield('b') ? ', ' . $_->subfield('b') : ''),
             direction => 'ltr',
             field     => $_->tag,
         } } $record->field('7..');
index 366c695..2ee4571 100644 (file)
            [% END %]
            </div>
           [% END %]
+          [% IF summary.seefrom %]
+            <div class="authres_seefrom">
+            [% FOREACH see IN summary.seefrom %]
+              [% PROCESS showreference heading=see.heading label="" type=see.type search='' %]
+              [% IF ! loop.last %] ; [% END %]
+            [% END %]
+            </div>
+          [% END %]
           [% IF summary.seealso %]
             <div class="authres_seealso">
             [% FOREACH see IN summary.seealso %]
    [% CASE ['it', 'ita'] %]Italian
    [% CASE ['de', 'ger', 'deu'] %]German
    [% CASE ['es', 'spa'] %]Spanish
+   [% CASE ['heb'] %]Hebrew
+   [% CASE ['ara'] %]Arabic
+   [% CASE ['gre'] %]Greek (modern)
+   [% CASE ['grc'] %]Greek (to 1453)
    [% CASE %][% lang %]
   [% END %]
 [% END %]
index b113049..ea2aa16 100644 (file)
              [% END %]
              </div>
             [% END %]
+            [% IF summary.seefrom %]
+              <div class="authres_seefrom">
+              [% FOREACH see IN summary.seefrom %]
+                 [% PROCESS showreference heading=see.heading label="" type=see.type search='' %]
+                 [% IF ! loop.last %] ; [% END %]
+              [% END %]
+              </div>
+            [% END %]
             [% IF summary.seealso %]
               <div class="authres_seealso">
               [% FOREACH see IN summary.seealso %]
         [% END %]
     [% END %]
 [% END %]
+[% BLOCK language %]
+  [% SWITCH lang %]
+   [% CASE ['heb'] %]Hebrew
+   [% CASE ['ara'] %]Arabic
+   [% CASE ['gre'] %]Greek (modern)
+   [% CASE ['grc'] %]Greek (to 1453)
+   [% CASE %][% lang %]
+  [% END %]
+[% END %]