View | Details | Raw Unified | Return to bug 16522
Collapse All | Expand All

(-)a/Koha/Biblio.pm (+6 lines)
Lines 1144-1149 sub get_marc_host { Link Here
1144
            last;
1144
            last;
1145
        }
1145
        }
1146
    }
1146
    }
1147
    if ( !$hostfld and $record->subfield('773','t') ) {
1148
        # not linked using $w so just return plaintext
1149
        my $unlinkedf = $record->field('773');
1150
        my $host = join( ", ", $unlinkedf->subfield('a'), $unlinkedf->subfield('t'), $unlinkedf->subfield('g') );
1151
        return wantarray ? ( $host, $unlinkedf->subfield('g') ) : $host;
1152
    }
1147
    return if !$hostfld;
1153
    return if !$hostfld;
1148
    my $rcn = $hostfld->subfield('w');
1154
    my $rcn = $hostfld->subfield('w');
1149
1155
(-)a/basket/basket.pl (-1 / +3 lines)
Lines 107-113 foreach my $biblionumber ( @bibs ) { Link Here
107
    $dat->{MARCSERIES}  = $marcseriesarray;
107
    $dat->{MARCSERIES}  = $marcseriesarray;
108
    $dat->{MARCURLS}    = $marcurlsarray;
108
    $dat->{MARCURLS}    = $marcurlsarray;
109
    $dat->{HASAUTHORS}  = $hasauthors;
109
    $dat->{HASAUTHORS}  = $hasauthors;
110
    $dat->{HOSTITEMENTRIES} = $biblio->get_marc_host;
110
    my ( $host, $relatedparts ) = $biblio->get_marc_host;
111
    $dat->{HOSTITEMENTRIES} = $host;
112
    $dat->{RELATEDPARTS} = $relatedparts;
111
113
112
    push( @results, $dat );
114
    push( @results, $dat );
113
}
115
}
(-)a/basket/sendbasket.pl (-1 / +3 lines)
Lines 91-97 if ( $email_add ) { Link Here
91
        $dat->{HASAUTHORS}     = $hasauthors;
91
        $dat->{HASAUTHORS}     = $hasauthors;
92
        $dat->{'biblionumber'} = $biblionumber;
92
        $dat->{'biblionumber'} = $biblionumber;
93
        $dat->{ITEM_RESULTS}   = \@items;
93
        $dat->{ITEM_RESULTS}   = \@items;
94
        $dat->{HOSTITEMENTRIES} = $biblio->get_marc_host;
94
        my ( $host, $relatedparts ) = $biblio->get_marc_host;
95
        $dat->{HOSTITEMENTRIES} = $host;
96
        $dat->{RELATEDPARTS} = $relatedparts;
95
97
96
        $iso2709 .= $record->as_usmarc();
98
        $iso2709 .= $record->as_usmarc();
97
99
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/basket/basket.tt (-9 / +11 lines)
Lines 219-230 Link Here
219
219
220
                                    [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
220
                                    [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
221
                                        <tr>
221
                                        <tr>
222
                                            <th scope="row">Host item entries</th>
222
                                            <th scope="row">Host item entry</th>
223
                                            <td>
223
                                            <td>
224
                                                [% FOREACH entry IN BIBLIO_RESULT.HOSTITEMENTRIES %]
224
                                                [% IF BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber %]
225
                                                    <p>
225
                                                    <p>[% INCLUDE 'biblio-title.inc' link = 1 biblio=BIBLIO_RESULT.HOSTITEMENTRIES %] [% BIBLIO_RESULT.RELATEDPARTS | html %]</p>
226
                                                        [% INCLUDE 'biblio-title.inc' link = 1 biblio=entry %]
226
                                                [% ELSE %]
227
                                                    </p>
227
                                                    <p>[% BIBLIO_RESULT.HOSTITEMENTRIES | html %]</p>
228
                                                [% END %]
228
                                                [% END %]
229
                                            </td>
229
                                            </td>
230
                                        </tr>
230
                                        </tr>
Lines 295-305 Link Here
295
                                                <p>[% BIBLIO_RESULT.notes | html %]</p>
295
                                                <p>[% BIBLIO_RESULT.notes | html %]</p>
296
                                            [% END %]
296
                                            [% END %]
297
                                            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
297
                                            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
298
                                                [% FOREACH entry IN BIBLIO_RESULT.HOSTITEMENTRIES %]
298
                                                <p>Host item entry:
299
                                                    <p>Host item entry:
299
                                                [% IF BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber %]
300
                                                        [% INCLUDE 'biblio-title.inc' link = 1 biblio=entry %]
300
                                                    [% INCLUDE 'biblio-title.inc' link = 1 biblio=BIBLIO_RESULT.HOSTITEMENTRIES %] [% BIBLIO_RESULT.RELATEDPARTS | html %]
301
                                                    </p>
301
                                                [% ELSE %]
302
                                                    [% BIBLIO_RESULT.HOSTITEMENTRIES | html %]
302
                                                [% END %]
303
                                                [% END %]
304
                                                </p>
303
                                            [% END %]
305
                                            [% END %]
304
                                            <!-- COinS / Openurl -->
306
                                            <!-- COinS / Openurl -->
305
                                            <span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.au=[% BIBLIO_RESULT.author | html %]&amp;rft.btitle=[% BIBLIO_RESULT.title |url %]&amp;rft.date=[% BIBLIO_RESULT.publicationyear | html %]&amp;rft.tpages=[% BIBLIO_RESULT.item('size') | html %]&amp;rft.isbn=[% BIBLIO_RESULT.isbn |url %]&amp;rft.aucorp=&amp;rft.place=[% BIBLIO_RESULT.place | html %]&amp;rft.pub=[% BIBLIO_RESULT.publisher |url %]&amp;rft.edition=[% BIBLIO_RESULT.edition | html %]&amp;rft.series=[% BIBLIO_RESULT.series | html %]&amp;rft.genre="></span>
307
                                            <span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.au=[% BIBLIO_RESULT.author | html %]&amp;rft.btitle=[% BIBLIO_RESULT.title |url %]&amp;rft.date=[% BIBLIO_RESULT.publicationyear | html %]&amp;rft.tpages=[% BIBLIO_RESULT.item('size') | html %]&amp;rft.isbn=[% BIBLIO_RESULT.isbn |url %]&amp;rft.aucorp=&amp;rft.place=[% BIBLIO_RESULT.place | html %]&amp;rft.pub=[% BIBLIO_RESULT.publisher |url %]&amp;rft.edition=[% BIBLIO_RESULT.edition | html %]&amp;rft.series=[% BIBLIO_RESULT.series | html %]&amp;rft.genre="></span>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/basket/sendbasket.tt (-5 / +7 lines)
Lines 128-139 Your cart Link Here
128
            [% END %]
128
            [% END %]
129
129
130
            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
130
            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
131
                [% FOREACH entry IN BIBLIO_RESULT.HOSTITEMENTRIES %]
131
            <span>Host item entry:
132
                    <span>Host item entry:
132
                [% IF BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber %]
133
                        [% INCLUDE 'biblio-title.inc' link = 1 biblio=entry %]
133
                [% INCLUDE 'biblio-title.inc' link = 1 biblio=BIBLIO_RESULT.HOSTITEMENTRIES %] [% BIBLIO_RESULT.RELATEDPARTS | $raw %]
134
                    </span>
134
                [% ELSE %]
135
                    <br/>
135
                [% BIBLIO_RESULT.HOSTITEMENTRIES %]
136
                [% END %]
136
                [% END %]
137
            </span>
138
            <br/>
137
            [% END %]
139
            [% END %]
138
140
139
            [% IF ( BIBLIO_RESULT.url ) %]
141
            [% IF ( BIBLIO_RESULT.url ) %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/sendshelf.tt (-5 / +7 lines)
Lines 134-145 Your list: [% shelfname | $raw %] Link Here
134
            [% END %]
134
            [% END %]
135
135
136
            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
136
            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
137
                [% FOREACH entry IN BIBLIO_RESULT.HOSTITEMENTRIES %]
137
            <span>Host item entry:
138
                    <span>Host item entry:
138
                [% IF BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber %]
139
                        [% INCLUDE 'biblio-title.inc' link = 1 biblio=entry %]
139
                [% INCLUDE 'biblio-title.inc' link = 1 biblio=BIBLIO_RESULT.HOSTITEMENTRIES %] [% BIBLIO_RESULT.RELATEDPARTS | $raw %]
140
                    </span>
140
                [% ELSE %]
141
                    <br/>
141
                [% BIBLIO_RESULT.HOSTITEMENTRIES %]
142
                [% END %]
142
                [% END %]
143
            </span>
144
            <br/>
143
            [% END %]
145
            [% END %]
144
146
145
            [% IF ( BIBLIO_RESULT.url ) %]
147
            [% IF ( BIBLIO_RESULT.url ) %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl (-55 / +3 lines)
Lines 1046-1106 Link Here
1046
            </span>
1046
            </span>
1047
         </xsl:if>
1047
         </xsl:if>
1048
1048
1049
        <!-- 773 -->
1049
        <xsl:call-template name="host-item-entries">
1050
        <xsl:if test="marc:datafield[@tag=773]">
1050
            <xsl:with-param name="UseControlNumber" select="$UseControlNumber"/>
1051
            <xsl:for-each select="marc:datafield[@tag=773]">
1051
        </xsl:call-template>
1052
                <xsl:if test="@ind1 !=1">
1053
                    <span class="results_summary in"><span class="label">
1054
                    <xsl:choose>
1055
                        <xsl:when test="@ind2=' '">
1056
                            In:
1057
                        </xsl:when>
1058
                        <xsl:when test="@ind2=8">
1059
                            <xsl:if test="marc:subfield[@code='i']">
1060
                                <xsl:value-of select="marc:subfield[@code='i']"/>
1061
                            </xsl:if>
1062
                        </xsl:when>
1063
                    </xsl:choose>
1064
                    </span>
1065
                    <xsl:variable name="f773">
1066
                        <xsl:call-template name="chopPunctuation">
1067
                            <xsl:with-param name="chopString">
1068
                                <xsl:call-template name="subfieldSelect">
1069
                                    <xsl:with-param name="codes">a_t</xsl:with-param>
1070
                                </xsl:call-template>
1071
                            </xsl:with-param>
1072
                        </xsl:call-template>
1073
                    </xsl:variable>
1074
                    <xsl:choose>
1075
                        <xsl:when test="$UseControlNumber = '1' and marc:subfield[@code='w']">
1076
                            <a><xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=Control-number:<xsl:call-template name="extractControlNumber"><xsl:with-param name="subfieldW" select="marc:subfield[@code='w']"/></xsl:call-template></xsl:attribute>
1077
                            <xsl:value-of select="translate($f773, '()', '')"/>
1078
                            </a>
1079
                        </xsl:when>
1080
                        <xsl:when test="marc:subfield[@code='0']">
1081
                            <a><xsl:attribute name="href">/cgi-bin/koha/catalogue/detail.pl?biblionumber=<xsl:value-of select="str:encode-uri(marc:subfield[@code='0'], true())"/></xsl:attribute>
1082
                            <xsl:value-of select="$f773"/>
1083
                            </a>
1084
                        </xsl:when>
1085
                        <xsl:otherwise>
1086
                            <a>
1087
                                <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=ti,phr:<xsl:value-of select="str:encode-uri(translate(marc:subfield[@code='t'], '()', ''), true())"/><xsl:if test="marc:subfield[@code='a']">+AND+au:<xsl:value-of select="str:encode-uri(translate(marc:subfield[@code='a'], '()', ''), true())"/></xsl:if></xsl:attribute>
1088
                                <xsl:value-of select="$f773"/>
1089
                            </a>
1090
                        </xsl:otherwise>
1091
                    </xsl:choose>
1092
                    <xsl:if test="marc:subfield[@code='g']">
1093
                        <xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/>
1094
                    </xsl:if>
1095
                    </span>
1096
1097
                    <xsl:if test="marc:subfield[@code='n']">
1098
                        <span class="results_summary in_note"><xsl:value-of select="marc:subfield[@code='n']"/></span>
1099
                    </xsl:if>
1100
1101
                </xsl:if>
1102
            </xsl:for-each>
1103
        </xsl:if>
1104
1052
1105
        <xsl:if test="marc:datafield[@tag=502]">
1053
        <xsl:if test="marc:datafield[@tag=502]">
1106
            <span class="results_summary diss_note">
1054
            <span class="results_summary diss_note">
(-)a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetResults.xsl (-54 / +3 lines)
Lines 926-985 Link Here
926
    </span>
926
    </span>
927
    </xsl:if>
927
    </xsl:if>
928
928
929
    <!-- 773 -->
929
    <xsl:call-template name="host-item-entries">
930
    <xsl:if test="marc:datafield[@tag=773]">
930
        <xsl:with-param name="UseControlNumber" select="$UseControlNumber"/>
931
        <xsl:for-each select="marc:datafield[@tag=773]">
931
    </xsl:call-template>
932
            <xsl:if test="@ind1 !=1">
933
                <span class="results_summary in"><span class="label">
934
                <xsl:choose>
935
                    <xsl:when test="@ind2=' '">
936
                        Source:
937
                    </xsl:when>
938
                    <xsl:when test="@ind2=8">
939
                        <xsl:if test="marc:subfield[@code='i']">
940
                            <xsl:value-of select="marc:subfield[@code='i']"/>
941
                        </xsl:if>
942
                    </xsl:when>
943
                </xsl:choose>
944
                </span>
945
                <xsl:variable name="f773">
946
                    <xsl:call-template name="chopPunctuation">
947
                        <xsl:with-param name="chopString">
948
                            <xsl:call-template name="subfieldSelect">
949
                                <xsl:with-param name="codes">a_t</xsl:with-param>
950
                            </xsl:call-template>
951
                        </xsl:with-param>
952
                    </xsl:call-template>
953
                </xsl:variable>
954
                <xsl:choose>
955
                    <xsl:when test="$UseControlNumber = '1' and marc:subfield[@code='w']">
956
                        <a><xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=Control-number:<xsl:call-template name="extractControlNumber"><xsl:with-param name="subfieldW" select="marc:subfield[@code='w']"/></xsl:call-template></xsl:attribute>
957
                        <xsl:value-of select="translate($f773, '()', '')"/>
958
                        </a>
959
                    </xsl:when>
960
                    <xsl:when test="marc:subfield[@code='0']">
961
                        <a><xsl:attribute name="href">/cgi-bin/koha/catalogue/detail.pl?biblionumber=<xsl:value-of select="str:encode-uri(marc:subfield[@code='0'], true())"/></xsl:attribute>
962
                        <xsl:value-of select="$f773"/>
963
                        </a>
964
                    </xsl:when>
965
                    <xsl:otherwise>
966
                        <a><xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=ti,phr:<xsl:value-of select="str:encode-uri(translate($f773, '()', ''), true())"/></xsl:attribute>
967
                        <xsl:value-of select="$f773"/>
968
                        </a>
969
                    </xsl:otherwise>
970
                </xsl:choose>
971
                <xsl:if test="marc:subfield[@code='g']">
972
                    <xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/>
973
                </xsl:if>
974
                </span>
975
976
                <xsl:if test="marc:subfield[@code='n']">
977
                    <span class="results_summary in_note"><xsl:value-of select="marc:subfield[@code='n']"/></span>
978
                </xsl:if>
979
980
            </xsl:if>
981
        </xsl:for-each>
982
    </xsl:if>
983
932
984
    <!-- Other Title  Statement: Alternate Graphic Representation (MARC 880) -->
933
    <!-- Other Title  Statement: Alternate Graphic Representation (MARC 880) -->
985
    <xsl:if test="$display880">
934
    <xsl:if test="$display880">
(-)a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slimUtils.xsl (+57 lines)
Lines 578-583 Link Here
578
        </xsl:if>
578
        </xsl:if>
579
    </xsl:template>
579
    </xsl:template>
580
580
581
    <xsl:template name="host-item-entries">
582
        <xsl:param name="UseControlNumber"/>
583
        <!-- 773 -->
584
        <xsl:if test="marc:datafield[@tag=773]">
585
            <xsl:for-each select="marc:datafield[@tag=773]">
586
                <xsl:if test="@ind1 !=1">
587
                    <span class="results_summary in"><span class="label">
588
                    <xsl:choose>
589
                        <xsl:when test="@ind2=' '">
590
                            Host item entry:
591
                        </xsl:when>
592
                        <xsl:when test="@ind2=8">
593
                            <xsl:if test="marc:subfield[@code='i']">
594
                                <xsl:value-of select="marc:subfield[@code='i']"/>
595
                            </xsl:if>
596
                        </xsl:when>
597
                    </xsl:choose>
598
                    </span>
599
                    <xsl:variable name="f773">
600
                        <xsl:call-template name="chopPunctuation">
601
                            <xsl:with-param name="chopString">
602
                                <xsl:call-template name="subfieldSelect">
603
                                    <xsl:with-param name="codes">a_t</xsl:with-param>
604
                                </xsl:call-template>
605
                            </xsl:with-param>
606
                        </xsl:call-template>
607
                    </xsl:variable>
608
                    <xsl:choose>
609
                        <xsl:when test="$UseControlNumber = '1' and marc:subfield[@code='w']">
610
                            <a><xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=Control-number:<xsl:call-template name="extractControlNumber"><xsl:with-param name="subfieldW" select="marc:subfield[@code='w']"/></xsl:call-template></xsl:attribute>
611
                            <xsl:value-of select="translate($f773, '()', '')"/>
612
                            </a>
613
                        </xsl:when>
614
                        <xsl:when test="marc:subfield[@code='0']">
615
                            <a><xsl:attribute name="href">/cgi-bin/koha/catalogue/detail.pl?biblionumber=<xsl:value-of select="str:encode-uri(marc:subfield[@code='0'], true())"/></xsl:attribute>
616
                            <xsl:value-of select="$f773"/>
617
                            </a>
618
                        </xsl:when>
619
                        <xsl:otherwise>
620
                            <a>
621
                                <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=ti,phr:<xsl:value-of select="str:encode-uri(translate(marc:subfield[@code='t'], '()', ''), true())"/><xsl:if test="marc:subfield[@code='a']">+AND+au:<xsl:value-of select="str:encode-uri(translate(marc:subfield[@code='a'], '()', ''), true())"/></xsl:if></xsl:attribute>
622
                                <xsl:value-of select="$f773"/>
623
                            </a>
624
                        </xsl:otherwise>
625
                    </xsl:choose>
626
                    <xsl:if test="marc:subfield[@code='g']">
627
                        <xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/>
628
                    </xsl:if>
629
                    </span>
630
                    <xsl:if test="marc:subfield[@code='n']">
631
                        <span class="results_summary in_note"><xsl:value-of select="marc:subfield[@code='n']"/></span>
632
                    </xsl:if>
633
                </xsl:if>
634
            </xsl:for-each>
635
        </xsl:if>
636
    </xsl:template>
637
581
</xsl:stylesheet>
638
</xsl:stylesheet>
582
639
583
<!-- Stylus Studio meta-information - (c)1998-2002 eXcelon Corp.
640
<!-- Stylus Studio meta-information - (c)1998-2002 eXcelon Corp.
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-basket.tt (-11 / +15 lines)
Lines 236-248 Link Here
236
236
237
                                        [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
237
                                        [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
238
                                            <tr>
238
                                            <tr>
239
                                                <th scope="row">Host item entries</th>
239
                                                <th scope="row">Host item entry</th>
240
                                                <td>
240
                                                <td>
241
                                                    [% FOREACH entry IN BIBLIO_RESULT.HOSTITEMENTRIES %]
241
                                                    <p>
242
                                                        <p>
242
                                                        [% IF BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber %]
243
                                                            <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% entry.biblionumber | uri %]">[% INCLUDE 'biblio-title.inc' biblio=entry %]</a>
243
                                                            <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber | uri %]">[% INCLUDE 'biblio-title.inc' biblio=BIBLIO_RESULT.HOSTITEMENTRIES %]</a> [% BIBLIO_RESULT.RELATEDPARTS | html %]
244
                                                        </p>
244
                                                        [% ELSE %]
245
                                                    [% END %]
245
                                                            [% BIBLIO_RESULT.HOSTITEMENTRIES %]
246
                                                        [% END %]
247
                                                    </p>
246
                                                </td>
248
                                                </td>
247
                                            </tr>
249
                                            </tr>
248
                                        [% END %]
250
                                        [% END %]
Lines 307-317 Link Here
307
                                                [% END %]
309
                                                [% END %]
308
310
309
                                                [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
311
                                                [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
310
                                                    [% FOREACH entry IN BIBLIO_RESULT.HOSTITEMENTRIES %]
312
                                                    <p>Host item entry:
311
                                                        <p>Host item entry:
313
                                                        [% IF BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber %]
312
                                                            <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% entry.biblionumber | uri %]">[% INCLUDE 'biblio-title.inc' biblio=entry %]</a>
314
                                                        <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber | uri %]">[% INCLUDE 'biblio-title.inc' biblio=entry %]</a> [% BIBLIO_RESULT.RELATEDPARTS | html %]
313
                                                        </p>
315
                                                        [% ELSE %]
314
                                                    [% END %]
316
                                                        [% BIBLIO_RESULT.HOSTITEMENTRIES %]
317
                                                        [% END %]
318
                                                    </p>
315
                                                [% END %]
319
                                                [% END %]
316
                                            </td>
320
                                            </td>
317
                                            <td>[% BIBLIO_RESULT.author | html %]</td>
321
                                            <td>[% BIBLIO_RESULT.author | html %]</td>
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-sendbasket.tt (-5 / +7 lines)
Lines 132-143 Your cart Link Here
132
            [% END %]
132
            [% END %]
133
133
134
            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
134
            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
135
                [% FOREACH entry IN BIBLIO_RESULT.HOSTITEMENTRIES %]
135
            <span>Host item entry:
136
                    <span>Host item entry:
136
                [% IF BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber %]
137
                        <a href="[% OPACBaseURL | $raw %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% entry.biblionumber | uri %]">[% INCLUDE 'biblio-title.inc' biblio=entry %]</a>
137
                <a href="[% OPACBaseURL | $raw %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber | uri %]">[% INCLUDE 'biblio-title.inc' biblio=BIBLIO_RESULT.HOSTITEMENTRIES %]</a> [% BIBLIO_RESULT.RELATEDPARTS | $raw %]
138
                    </span>
138
                [% ELSE %]
139
                    <br/>
139
                [% BIBLIO_RESULT.HOSTITEMENTRIES %]
140
                [% END %]
140
                [% END %]
141
            </span>
142
            <br/>
141
            [% END %]
143
            [% END %]
142
144
143
            [% IF ( BIBLIO_RESULT.url ) %]
145
            [% IF ( BIBLIO_RESULT.url ) %]
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-sendshelf.tt (-3 / +5 lines)
Lines 135-146 Your list : [% shelfname | $raw %] Link Here
135
            [% END %]
135
            [% END %]
136
136
137
            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
137
            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
138
                [% FOREACH entry IN BIBLIO_RESULT.HOSTITEMENTRIES %]
139
                    <span>Host item entry:
138
                    <span>Host item entry:
140
                        <a href="[% OPACBaseURL | $raw %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% entry.biblionumber | uri %]">[% INCLUDE 'biblio-title.inc' biblio=entry %]</a>
139
                        [% IF BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber %]
140
                        <a href="[% OPACBaseURL | $raw %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber | uri %]">[% INCLUDE 'biblio-title.inc' biblio=BIBLIO_RESULT.HOSTITEMENTRIES %]</a> [% BIBLIO_RESULT.RELATEDPARTS | $raw %]
141
                        [% ELSE %]
142
                        [% BIBLIO_RESULT.HOSTITEMENTRIES %]
143
                        [% END %]
141
                    </span>
144
                    </span>
142
                    <br/>
145
                    <br/>
143
                [% END %]
144
            [% END %]
146
            [% END %]
145
147
146
            [% IF ( BIBLIO_RESULT.url ) %]
148
            [% IF ( BIBLIO_RESULT.url ) %]
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl (-55 / +3 lines)
Lines 1193-1253 Link Here
1193
            </span>
1193
            </span>
1194
        </xsl:if>
1194
        </xsl:if>
1195
1195
1196
        <!-- 773 -->
1196
        <xsl:call-template name="host-item-entries">
1197
        <xsl:if test="marc:datafield[@tag=773]">
1197
            <xsl:with-param name="UseControlNumber" select="$UseControlNumber"/>
1198
            <xsl:for-each select="marc:datafield[@tag=773]">
1198
        </xsl:call-template>
1199
                <xsl:if test="@ind1 !=1">
1200
                    <span class="results_summary in"><span class="label">
1201
                    <xsl:choose>
1202
                        <xsl:when test="@ind2=' '">
1203
                            In:
1204
                        </xsl:when>
1205
                        <xsl:when test="@ind2=8">
1206
                            <xsl:if test="marc:subfield[@code='i']">
1207
                                <xsl:value-of select="marc:subfield[@code='i']"/>
1208
                            </xsl:if>
1209
                        </xsl:when>
1210
                    </xsl:choose>
1211
                    </span>
1212
                    <xsl:variable name="f773">
1213
                        <xsl:call-template name="chopPunctuation">
1214
                            <xsl:with-param name="chopString">
1215
                                <xsl:call-template name="subfieldSelect">
1216
                                    <xsl:with-param name="codes">a_t</xsl:with-param>
1217
                                </xsl:call-template>
1218
                            </xsl:with-param>
1219
                        </xsl:call-template>
1220
                    </xsl:variable>
1221
                    <xsl:choose>
1222
                        <xsl:when test="$UseControlNumber = '1' and marc:subfield[@code='w']">
1223
                            <a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=Control-number:<xsl:call-template name="extractControlNumber"><xsl:with-param name="subfieldW" select="marc:subfield[@code='w']"/></xsl:call-template></xsl:attribute>
1224
                            <xsl:value-of select="translate($f773, '()', '')"/>
1225
                            </a>
1226
                        </xsl:when>
1227
                        <xsl:when test="marc:subfield[@code='0']">
1228
                            <a><xsl:attribute name="href">/cgi-bin/koha/opac-detail.pl?biblionumber=<xsl:value-of select="str:encode-uri(marc:subfield[@code='0'], true())"/></xsl:attribute>
1229
                            <xsl:value-of select="$f773"/>
1230
                            </a>
1231
                        </xsl:when>
1232
                        <xsl:otherwise>
1233
                            <a>
1234
                                <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=ti,phr:<xsl:value-of select="str:encode-uri(translate(marc:subfield[@code='t'], '()', ''), true())"/><xsl:if test="marc:subfield[@code='a']">+AND+au:<xsl:value-of select="str:encode-uri(translate(marc:subfield[@code='a'], '()', ''), true())"/></xsl:if></xsl:attribute>
1235
                                <xsl:value-of select="$f773"/>
1236
                            </a>
1237
                        </xsl:otherwise>
1238
                    </xsl:choose>
1239
                    <xsl:if test="marc:subfield[@code='g']">
1240
                        <xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/>
1241
                    </xsl:if>
1242
                    </span>
1243
1244
                    <xsl:if test="marc:subfield[@code='n']">
1245
                        <span class="results_summary in_note"><xsl:value-of select="marc:subfield[@code='n']"/></span>
1246
                    </xsl:if>
1247
1248
                </xsl:if>
1249
            </xsl:for-each>
1250
        </xsl:if>
1251
1199
1252
        <xsl:for-each select="marc:datafield[@tag=511]">
1200
        <xsl:for-each select="marc:datafield[@tag=511]">
1253
            <span class="results_summary perf_note">
1201
            <span class="results_summary perf_note">
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl (-54 / +3 lines)
Lines 657-716 Link Here
657
	</div>
657
	</div>
658
    </xsl:if>
658
    </xsl:if>
659
659
660
    <!-- 773 -->
660
    <xsl:call-template name="host-item-entries">
661
    <xsl:if test="marc:datafield[@tag=773]">
661
        <xsl:with-param name="UseControlNumber" select="$UseControlNumber"/>
662
        <xsl:for-each select="marc:datafield[@tag=773]">
662
    </xsl:call-template>
663
            <xsl:if test="@ind1 !=1">
664
                <div class="results_summary in"><span class="label">
665
                <xsl:choose>
666
                    <xsl:when test="@ind2=' '">
667
                        Source:
668
                    </xsl:when>
669
                    <xsl:when test="@ind2=8">
670
                        <xsl:if test="marc:subfield[@code='i']">
671
                            <xsl:value-of select="marc:subfield[@code='i']"/>
672
                        </xsl:if>
673
                    </xsl:when>
674
                </xsl:choose>
675
                <xsl:variable name="f773">
676
                    <xsl:call-template name="chopPunctuation">
677
                        <xsl:with-param name="chopString">
678
                            <xsl:call-template name="subfieldSelect">
679
                                <xsl:with-param name="codes">a_t</xsl:with-param>
680
                            </xsl:call-template>
681
                        </xsl:with-param>
682
                    </xsl:call-template>
683
                </xsl:variable>
684
                <xsl:choose>
685
                    <xsl:when test="$UseControlNumber = '1' and marc:subfield[@code='w']">
686
                        <a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=Control-number:<xsl:call-template name="extractControlNumber"><xsl:with-param name="subfieldW" select="marc:subfield[@code='w']"/></xsl:call-template></xsl:attribute>
687
                        <xsl:value-of select="translate($f773, '()', '')"/>
688
                        </a>
689
                    </xsl:when>
690
                    <xsl:when test="marc:subfield[@code='0']">
691
                        <a><xsl:attribute name="href">/cgi-bin/koha/opac-detail.pl?biblionumber=<xsl:value-of select="str:encode-uri(marc:subfield[@code='0'], true())"/></xsl:attribute>
692
                        <xsl:value-of select="$f773"/>
693
                        </a>
694
                    </xsl:when>
695
                    <xsl:otherwise>
696
                        <a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=ti,phr:<xsl:value-of select="str:encode-uri(translate($f773, '()', ''), true())"/></xsl:attribute>
697
                        <xsl:value-of select="$f773"/>
698
                        </a>
699
                    </xsl:otherwise>
700
                </xsl:choose>
701
                <xsl:if test="marc:subfield[@code='g']">
702
                    <xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/>
703
                </xsl:if>
704
                </span>
705
                </div>
706
707
                <xsl:if test="marc:subfield[@code='n']">
708
                    <div class="results_summary in_note"><xsl:value-of select="marc:subfield[@code='n']"/></div>
709
                </xsl:if>
710
711
            </xsl:if>
712
        </xsl:for-each>
713
    </xsl:if>
714
663
715
<xsl:if test="$DisplayOPACiconsXSLT!='0'">
664
<xsl:if test="$DisplayOPACiconsXSLT!='0'">
716
    <div class="results_summary type">
665
    <div class="results_summary type">
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slimUtils.xsl (+57 lines)
Lines 542-547 Link Here
542
        </xsl:if>
542
        </xsl:if>
543
    </xsl:template>
543
    </xsl:template>
544
544
545
    <xsl:template name="host-item-entries">
546
        <xsl:param name="UseControlNumber"/>
547
        <!-- 773 -->
548
        <xsl:if test="marc:datafield[@tag=773]">
549
            <xsl:for-each select="marc:datafield[@tag=773]">
550
                <xsl:if test="@ind1 !=1">
551
                    <span class="results_summary in"><span class="label">
552
                    <xsl:choose>
553
                        <xsl:when test="@ind2=' '">
554
                            Host item entry:
555
                        </xsl:when>
556
                        <xsl:when test="@ind2=8">
557
                            <xsl:if test="marc:subfield[@code='i']">
558
                                <xsl:value-of select="marc:subfield[@code='i']"/>
559
                            </xsl:if>
560
                        </xsl:when>
561
                    </xsl:choose>
562
                    </span>
563
                    <xsl:variable name="f773">
564
                        <xsl:call-template name="chopPunctuation">
565
                            <xsl:with-param name="chopString">
566
                                <xsl:call-template name="subfieldSelect">
567
                                    <xsl:with-param name="codes">a_t</xsl:with-param>
568
                                </xsl:call-template>
569
                            </xsl:with-param>
570
                        </xsl:call-template>
571
                    </xsl:variable>
572
                    <xsl:choose>
573
                        <xsl:when test="$UseControlNumber = '1' and marc:subfield[@code='w']">
574
                            <a><xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=Control-number:<xsl:call-template name="extractControlNumber"><xsl:with-param name="subfieldW" select="marc:subfield[@code='w']"/></xsl:call-template></xsl:attribute>
575
                            <xsl:value-of select="translate($f773, '()', '')"/>
576
                            </a>
577
                        </xsl:when>
578
                        <xsl:when test="marc:subfield[@code='0']">
579
                            <a><xsl:attribute name="href">/cgi-bin/koha/catalogue/detail.pl?biblionumber=<xsl:value-of select="str:encode-uri(marc:subfield[@code='0'], true())"/></xsl:attribute>
580
                            <xsl:value-of select="$f773"/>
581
                            </a>
582
                        </xsl:when>
583
                        <xsl:otherwise>
584
                            <a>
585
                                <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=ti,phr:<xsl:value-of select="str:encode-uri(translate(marc:subfield[@code='t'], '()', ''), true())"/><xsl:if test="marc:subfield[@code='a']">+AND+au:<xsl:value-of select="str:encode-uri(translate(marc:subfield[@code='a'], '()', ''), true())"/></xsl:if></xsl:attribute>
586
                                <xsl:value-of select="$f773"/>
587
                            </a>
588
                        </xsl:otherwise>
589
                    </xsl:choose>
590
                    <xsl:if test="marc:subfield[@code='g']">
591
                        <xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/>
592
                    </xsl:if>
593
                    </span>
594
                    <xsl:if test="marc:subfield[@code='n']">
595
                        <span class="results_summary in_note"><xsl:value-of select="marc:subfield[@code='n']"/></span>
596
                    </xsl:if>
597
                </xsl:if>
598
            </xsl:for-each>
599
        </xsl:if>
600
    </xsl:template>
601
545
</xsl:stylesheet>
602
</xsl:stylesheet>
546
603
547
<!-- Stylus Studio meta-information - (c)1998-2002 eXcelon Corp.
604
<!-- Stylus Studio meta-information - (c)1998-2002 eXcelon Corp.
(-)a/opac/opac-basket.pl (-1 / +3 lines)
Lines 158-164 foreach my $biblionumber ( @bibs ) { Link Here
158
    $dat->{MARCSERIES}  = $marcseriesarray;
158
    $dat->{MARCSERIES}  = $marcseriesarray;
159
    $dat->{MARCURLS}    = $marcurlsarray;
159
    $dat->{MARCURLS}    = $marcurlsarray;
160
    $dat->{HASAUTHORS}  = $hasauthors;
160
    $dat->{HASAUTHORS}  = $hasauthors;
161
    $dat->{HOSTITEMENTRIES} = $biblio->get_marc_host;
161
    my ( $host, $relatedparts ) = $biblio->get_marc_host;
162
    $dat->{HOSTITEMENTRIES} = $host;
163
    $dat->{RELATEDPARTS} = $relatedparts;
162
164
163
    push( @results, $dat );
165
    push( @results, $dat );
164
}
166
}
(-)a/opac/opac-sendbasket.pl (-1 / +3 lines)
Lines 100-106 if ( $email_add ) { Link Here
100
        $dat->{HASAUTHORS}     = $hasauthors;
100
        $dat->{HASAUTHORS}     = $hasauthors;
101
        $dat->{'biblionumber'} = $biblionumber;
101
        $dat->{'biblionumber'} = $biblionumber;
102
        $dat->{ITEM_RESULTS}   = \@items;
102
        $dat->{ITEM_RESULTS}   = \@items;
103
        $dat->{HOSTITEMENTRIES} = $biblio->get_marc_host;
103
        my ( $host, $relatedparts ) = $biblio->get_marc_host;
104
        $dat->{HOSTITEMENTRIES} = $host;
105
        $dat->{RELATEDPARTS} = $relatedparts;
104
106
105
        $iso2709 .= $record->as_usmarc();
107
        $iso2709 .= $record->as_usmarc();
106
108
(-)a/opac/opac-sendshelf.pl (-1 / +3 lines)
Lines 104-110 if ( $shelf and $shelf->can_be_viewed( $borrowernumber ) ) { Link Here
104
        $dat->{'biblionumber'} = $biblionumber;
104
        $dat->{'biblionumber'} = $biblionumber;
105
        $dat->{ITEM_RESULTS}   = \@items;
105
        $dat->{ITEM_RESULTS}   = \@items;
106
        $dat->{HASAUTHORS}     = $dat->{'author'} || @$marcauthorsarray;
106
        $dat->{HASAUTHORS}     = $dat->{'author'} || @$marcauthorsarray;
107
        $dat->{HOSTITEMENTRIES} = $biblio->get_marc_host;
107
        my ( $host, $relatedparts ) = $biblio->get_marc_host;
108
        $dat->{HOSTITEMENTRIES} = $host;
109
        $dat->{RELATEDPARTS} = $relatedparts;
108
110
109
        $iso2709 .= $record->as_usmarc();
111
        $iso2709 .= $record->as_usmarc();
110
112
(-)a/t/db_dependent/Koha/Biblio/host_record.t (-1 / +7 lines)
Lines 36-42 $schema->storage->txn_begin; Link Here
36
our $builder = t::lib::TestBuilder->new;
36
our $builder = t::lib::TestBuilder->new;
37
37
38
subtest 'get_marc_host' => sub {
38
subtest 'get_marc_host' => sub {
39
    plan tests => 11;
39
    plan tests => 12;
40
40
41
    t::lib::Mocks::mock_preference( 'marcflavour', 'MARC21' );
41
    t::lib::Mocks::mock_preference( 'marcflavour', 'MARC21' );
42
    t::lib::Mocks::mock_preference( 'MARCOrgCode', 'xyz' );
42
    t::lib::Mocks::mock_preference( 'MARCOrgCode', 'xyz' );
Lines 72-77 subtest 'get_marc_host' => sub { Link Here
72
    $marc->field('773')->update( w => '(xyz) bad data' ); # causes no results
72
    $marc->field('773')->update( w => '(xyz) bad data' ); # causes no results
73
    $host = $bib1->get_marc_host;
73
    $host = $bib1->get_marc_host;
74
    is( $bib1->get_marc_host, undef, 'No results for bad 773' );
74
    is( $bib1->get_marc_host, undef, 'No results for bad 773' );
75
    # Test plaintext when no $w
76
    $marc->field('773')->update( t => 'title' );
77
    $marc->field('773')->delete_subfield( code => 'w' );
78
    $host = $bib1->get_marc_host;
79
    is( $host, "title, relpart", '773$atg returned when no $w' );
80
    $marc->field('773')->delete_subfield( code => 't' ); # restore
75
    # Add second 773
81
    # Add second 773
76
    $marc->append_fields( MARC::Field->new( '773', '', '', g => 'relpart2', w => '234' ) );
82
    $marc->append_fields( MARC::Field->new( '773', '', '', g => 'relpart2', w => '234' ) );
77
    $host = $bib1->get_marc_host;
83
    $host = $bib1->get_marc_host;
(-)a/virtualshelves/sendshelf.pl (-2 / +3 lines)
Lines 92-98 if ($to_address) { Link Here
92
        $dat->{'biblionumber'} = $biblionumber;
92
        $dat->{'biblionumber'} = $biblionumber;
93
        $dat->{ITEM_RESULTS}   = \@items;
93
        $dat->{ITEM_RESULTS}   = \@items;
94
        $dat->{HASAUTHORS}     = $dat->{'author'} || @$marcauthorsarray;
94
        $dat->{HASAUTHORS}     = $dat->{'author'} || @$marcauthorsarray;
95
        $dat->{HOSTITEMENTRIES} = $biblio->get_host_item_entries;
95
        my ( $host, $relatedparts ) = $biblio->get_marc_host;
96
        $dat->{HOSTITEMENTRIES} = $host;
97
        $dat->{RELATEDPARTS} = $relatedparts;
96
98
97
        $iso2709 .= $record->as_usmarc();
99
        $iso2709 .= $record->as_usmarc();
98
100
99
- 

Return to bug 16522