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

(-)a/Koha/Biblio.pm (+6 lines)
Lines 1237-1242 sub get_marc_host { Link Here
1237
            last;
1237
            last;
1238
        }
1238
        }
1239
    }
1239
    }
1240
    if ( !$hostfld and $record->subfield('773','t') ) {
1241
        # not linked using $w so just return plaintext
1242
        my $unlinkedf = $record->field('773');
1243
        my $host = join( ", ", $unlinkedf->subfield('a'), $unlinkedf->subfield('t'), $unlinkedf->subfield('g') );
1244
        return wantarray ? ( $host, $unlinkedf->subfield('g') ) : $host;
1245
    }
1240
    return if !$hostfld;
1246
    return if !$hostfld;
1241
    my $rcn = $hostfld->subfield('w');
1247
    my $rcn = $hostfld->subfield('w');
1242
1248
(-)a/basket/basket.pl (-1 / +3 lines)
Lines 96-102 foreach my $biblionumber ( @bibs ) { Link Here
96
    $dat->{MARCSERIES}  = $marcseriesarray;
96
    $dat->{MARCSERIES}  = $marcseriesarray;
97
    $dat->{MARCURLS}    = $marcurlsarray;
97
    $dat->{MARCURLS}    = $marcurlsarray;
98
    $dat->{HASAUTHORS}  = $hasauthors;
98
    $dat->{HASAUTHORS}  = $hasauthors;
99
    $dat->{HOSTITEMENTRIES} = $biblio->get_marc_host;
99
    my ( $host, $relatedparts ) = $biblio->get_marc_host;
100
    $dat->{HOSTITEMENTRIES} = $host;
101
    $dat->{RELATEDPARTS} = $relatedparts;
100
102
101
    push( @results, $dat );
103
    push( @results, $dat );
102
}
104
}
(-)a/basket/sendbasket.pl (-1 / +3 lines)
Lines 86-92 if ( $email_add ) { Link Here
86
        $dat->{HASAUTHORS}     = $hasauthors;
86
        $dat->{HASAUTHORS}     = $hasauthors;
87
        $dat->{'biblionumber'} = $biblionumber;
87
        $dat->{'biblionumber'} = $biblionumber;
88
        $dat->{ITEM_RESULTS}   = $biblio->items->search_ordered;
88
        $dat->{ITEM_RESULTS}   = $biblio->items->search_ordered;
89
        $dat->{HOSTITEMENTRIES} = $biblio->get_marc_host;
89
        my ( $host, $relatedparts ) = $biblio->get_marc_host;
90
        $dat->{HOSTITEMENTRIES} = $host;
91
        $dat->{RELATEDPARTS} = $relatedparts;
90
92
91
        $iso2709 .= $record->as_usmarc();
93
        $iso2709 .= $record->as_usmarc();
92
94
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/basket/basket.tt (-9 / +11 lines)
Lines 221-232 Link Here
221
221
222
                                    [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
222
                                    [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
223
                                        <tr>
223
                                        <tr>
224
                                            <th scope="row">Host item entries</th>
224
                                            <th scope="row">Host item entry</th>
225
                                            <td>
225
                                            <td>
226
                                                [% FOREACH entry IN BIBLIO_RESULT.HOSTITEMENTRIES %]
226
                                                [% IF BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber %]
227
                                                    <p>
227
                                                    <p>[% INCLUDE 'biblio-title.inc' link = 1 biblio=BIBLIO_RESULT.HOSTITEMENTRIES %] [% BIBLIO_RESULT.RELATEDPARTS | html %]</p>
228
                                                        [% INCLUDE 'biblio-title.inc' link = 1 biblio=entry %]
228
                                                [% ELSE %]
229
                                                    </p>
229
                                                    <p>[% BIBLIO_RESULT.HOSTITEMENTRIES | html %]</p>
230
                                                [% END %]
230
                                                [% END %]
231
                                            </td>
231
                                            </td>
232
                                        </tr>
232
                                        </tr>
Lines 299-309 Link Here
299
                                                <p>[% BIBLIO_RESULT.notes | html %]</p>
299
                                                <p>[% BIBLIO_RESULT.notes | html %]</p>
300
                                            [% END %]
300
                                            [% END %]
301
                                            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
301
                                            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
302
                                                [% FOREACH entry IN BIBLIO_RESULT.HOSTITEMENTRIES %]
302
                                                <p>Host item entry:
303
                                                    <p>Host item entry:
303
                                                [% IF BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber %]
304
                                                        [% INCLUDE 'biblio-title.inc' link = 1 biblio=entry %]
304
                                                    [% INCLUDE 'biblio-title.inc' link = 1 biblio=BIBLIO_RESULT.HOSTITEMENTRIES %] [% BIBLIO_RESULT.RELATEDPARTS | html %]
305
                                                    </p>
305
                                                [% ELSE %]
306
                                                    [% BIBLIO_RESULT.HOSTITEMENTRIES | html %]
306
                                                [% END %]
307
                                                [% END %]
308
                                                </p>
307
                                            [% END %]
309
                                            [% END %]
308
                                            <!-- COinS / Openurl -->
310
                                            <!-- COinS / Openurl -->
309
                                            <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>
311
                                            <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 129-140 Your cart Link Here
129
            [% END %]
129
            [% END %]
130
130
131
            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
131
            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
132
                [% FOREACH entry IN BIBLIO_RESULT.HOSTITEMENTRIES %]
132
            <span>Host item entry:
133
                    <span>Host item entry:
133
                [% IF BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber %]
134
                        [% INCLUDE 'biblio-title.inc' link = 1 biblio=entry %]
134
                [% INCLUDE 'biblio-title.inc' link = 1 biblio=BIBLIO_RESULT.HOSTITEMENTRIES %] [% BIBLIO_RESULT.RELATEDPARTS | $raw %]
135
                    </span>
135
                [% ELSE %]
136
                    <br/>
136
                [% BIBLIO_RESULT.HOSTITEMENTRIES %]
137
                [% END %]
137
                [% END %]
138
            </span>
139
            <br/>
138
            [% END %]
140
            [% END %]
139
141
140
            [% IF ( BIBLIO_RESULT.url ) %]
142
            [% IF ( BIBLIO_RESULT.url ) %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/sendshelf.tt (-5 / +7 lines)
Lines 136-147 Your list: [% shelfname | $raw %] Link Here
136
            [% END %]
136
            [% END %]
137
137
138
            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
138
            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
139
                [% FOREACH entry IN BIBLIO_RESULT.HOSTITEMENTRIES %]
139
            <span>Host item entry:
140
                    <span>Host item entry:
140
                [% IF BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber %]
141
                        [% INCLUDE 'biblio-title.inc' link = 1 biblio=entry %]
141
                [% INCLUDE 'biblio-title.inc' link = 1 biblio=BIBLIO_RESULT.HOSTITEMENTRIES %] [% BIBLIO_RESULT.RELATEDPARTS | $raw %]
142
                    </span>
142
                [% ELSE %]
143
                    <br/>
143
                [% BIBLIO_RESULT.HOSTITEMENTRIES %]
144
                [% END %]
144
                [% END %]
145
            </span>
146
            <br/>
145
            [% END %]
147
            [% END %]
146
148
147
            [% IF ( BIBLIO_RESULT.url ) %]
149
            [% IF ( BIBLIO_RESULT.url ) %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl (-72 / +3 lines)
Lines 1053-1130 Link Here
1053
            </span>
1053
            </span>
1054
         </xsl:if>
1054
         </xsl:if>
1055
1055
1056
        <!-- 773 -->
1056
        <xsl:call-template name="host-item-entries">
1057
        <xsl:if test="marc:datafield[@tag=773]">
1057
            <xsl:with-param name="UseControlNumber" select="$UseControlNumber"/>
1058
            <xsl:for-each select="marc:datafield[@tag=773]">
1058
        </xsl:call-template>
1059
                <xsl:if test="@ind1 !=1">
1060
                    <span class="results_summary in"><span class="label">
1061
                    <xsl:choose>
1062
                        <xsl:when test="@ind2=' '">
1063
                            In:
1064
                        </xsl:when>
1065
                        <xsl:when test="@ind2=8">
1066
                            <xsl:if test="marc:subfield[@code='i']">
1067
                                <xsl:value-of select="marc:subfield[@code='i']"/>
1068
                            </xsl:if>
1069
                        </xsl:when>
1070
                    </xsl:choose>
1071
                    </span>
1072
                    <xsl:variable name="f773">
1073
                        <xsl:call-template name="chopPunctuation">
1074
                            <xsl:with-param name="chopString">
1075
                                <xsl:call-template name="subfieldSelect">
1076
                                    <xsl:with-param name="codes">a_t</xsl:with-param>
1077
                                </xsl:call-template>
1078
                            </xsl:with-param>
1079
                        </xsl:call-template>
1080
                    </xsl:variable>
1081
                    <xsl:choose>
1082
                        <xsl:when test="$UseControlNumber = '1' and marc:subfield[@code='w']">
1083
                            <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>
1084
                            <xsl:value-of select="translate($f773, '()', '')"/>
1085
                            </a>
1086
                        </xsl:when>
1087
                        <xsl:when test="marc:subfield[@code='0']">
1088
                            <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>
1089
                            <xsl:value-of select="$f773"/>
1090
                            </a>
1091
                        </xsl:when>
1092
                        <xsl:otherwise>
1093
                            <xsl:variable name="host_query">
1094
                                <xsl:text>ti,phr:(</xsl:text>
1095
                                <xsl:call-template name="quote_search_term">
1096
                                    <xsl:with-param name="term"><xsl:value-of select="marc:subfield[@code='t']"/></xsl:with-param>
1097
                                </xsl:call-template>
1098
                                <xsl:text>)</xsl:text>
1099
                                <xsl:if test="marc:subfield[@code='a']">
1100
                                    <xsl:text> AND au:(</xsl:text>
1101
                                    <xsl:call-template name="quote_search_term">
1102
                                        <xsl:with-param name="term">
1103
                                            <xsl:value-of select="marc:subfield[@code='a']"/>
1104
                                        </xsl:with-param>
1105
                                    </xsl:call-template>
1106
                                    <xsl:text>)</xsl:text>
1107
                                </xsl:if>
1108
                            </xsl:variable>
1109
                            <a>
1110
                            <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=<xsl:value-of select="str:encode-uri($host_query, true())" />
1111
                            </xsl:attribute>
1112
                                <xsl:value-of select="$f773"/>
1113
                            </a>
1114
                        </xsl:otherwise>
1115
                    </xsl:choose>
1116
                    <xsl:if test="marc:subfield[@code='g']">
1117
                        <xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/>
1118
                    </xsl:if>
1119
                    </span>
1120
1121
                    <xsl:if test="marc:subfield[@code='n']">
1122
                        <span class="results_summary in_note"><xsl:value-of select="marc:subfield[@code='n']"/></span>
1123
                    </xsl:if>
1124
1125
                </xsl:if>
1126
            </xsl:for-each>
1127
        </xsl:if>
1128
1059
1129
        <xsl:if test="marc:datafield[@tag=502]">
1060
        <xsl:if test="marc:datafield[@tag=502]">
1130
            <span class="results_summary diss_note">
1061
            <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 (+74 lines)
Lines 607-612 Link Here
607
        </xsl:choose>
607
        </xsl:choose>
608
    </xsl:template>
608
    </xsl:template>
609
609
610
    <xsl:template name="host-item-entries">
611
        <xsl:param name="UseControlNumber"/>
612
        <!-- 773 -->
613
        <xsl:if test="marc:datafield[@tag=773]">
614
            <xsl:for-each select="marc:datafield[@tag=773]">
615
                <xsl:if test="@ind1 !=1">
616
                    <span class="results_summary in"><span class="label">
617
                    <xsl:choose>
618
                        <xsl:when test="@ind2=' '">
619
                            Host item entry:
620
                        </xsl:when>
621
                        <xsl:when test="@ind2=8">
622
                            <xsl:if test="marc:subfield[@code='i']">
623
                                <xsl:value-of select="marc:subfield[@code='i']"/>
624
                            </xsl:if>
625
                        </xsl:when>
626
                    </xsl:choose>
627
                    </span>
628
                    <xsl:variable name="f773">
629
                        <xsl:call-template name="chopPunctuation">
630
                            <xsl:with-param name="chopString">
631
                                <xsl:call-template name="subfieldSelect">
632
                                    <xsl:with-param name="codes">a_t</xsl:with-param>
633
                                </xsl:call-template>
634
                            </xsl:with-param>
635
                        </xsl:call-template>
636
                    </xsl:variable>
637
                    <xsl:choose>
638
                        <xsl:when test="$UseControlNumber = '1' and marc:subfield[@code='w']">
639
                            <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>
640
                            <xsl:value-of select="translate($f773, '()', '')"/>
641
                            </a>
642
                        </xsl:when>
643
                        <xsl:when test="marc:subfield[@code='0']">
644
                            <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>
645
                            <xsl:value-of select="$f773"/>
646
                            </a>
647
                        </xsl:when>
648
                        <xsl:otherwise>
649
                            <xsl:variable name="host_query">
650
                                <xsl:text>ti,phr:(</xsl:text>
651
                                <xsl:call-template name="quote_search_term">
652
                                    <xsl:with-param name="term"><xsl:value-of select="marc:subfield[@code='t']"/></xsl:with-param>
653
                                </xsl:call-template>
654
                                <xsl:text>)</xsl:text>
655
                                <xsl:if test="marc:subfield[@code='a']">
656
                                    <xsl:text> AND au:(</xsl:text>
657
                                    <xsl:call-template name="quote_search_term">
658
                                        <xsl:with-param name="term">
659
                                            <xsl:value-of select="marc:subfield[@code='a']"/>
660
                                        </xsl:with-param>
661
                                    </xsl:call-template>
662
                                    <xsl:text>)</xsl:text>
663
                                </xsl:if>
664
                            </xsl:variable>
665
                            <a>
666
                            <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=<xsl:value-of select="str:encode-uri($host_query, true())" />
667
                            </xsl:attribute>
668
                                <xsl:value-of select="$f773"/>
669
                            </a>
670
                        </xsl:otherwise>
671
                    </xsl:choose>
672
                    <xsl:if test="marc:subfield[@code='g']">
673
                        <xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/>
674
                    </xsl:if>
675
                    </span>
676
                    <xsl:if test="marc:subfield[@code='n']">
677
                        <span class="results_summary in_note"><xsl:value-of select="marc:subfield[@code='n']"/></span>
678
                    </xsl:if>
679
                </xsl:if>
680
            </xsl:for-each>
681
        </xsl:if>
682
    </xsl:template>
683
610
</xsl:stylesheet>
684
</xsl:stylesheet>
611
685
612
<!-- Stylus Studio meta-information - (c)1998-2002 eXcelon Corp.
686
<!-- 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 134-145 Your cart 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
                        <a href="[% OPACBaseURL | $raw %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% entry.biblionumber | uri %]">[% INCLUDE 'biblio-title.inc' biblio=entry %]</a>
139
                <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 %]
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/opac-tmpl/bootstrap/en/modules/opac-sendshelf.tt (-3 / +5 lines)
Lines 137-148 Your list : [% shelfname | $raw %] Link Here
137
            [% END %]
137
            [% END %]
138
138
139
            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
139
            [% IF BIBLIO_RESULT.HOSTITEMENTRIES %]
140
                [% FOREACH entry IN BIBLIO_RESULT.HOSTITEMENTRIES %]
141
                    <span>Host item entry:
140
                    <span>Host item entry:
142
                        <a href="[% OPACBaseURL | $raw %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% entry.biblionumber | uri %]">[% INCLUDE 'biblio-title.inc' biblio=entry %]</a>
141
                        [% IF BIBLIO_RESULT.HOSTITEMENTRIES.biblionumber %]
142
                        <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 %]
143
                        [% ELSE %]
144
                        [% BIBLIO_RESULT.HOSTITEMENTRIES %]
145
                        [% END %]
143
                    </span>
146
                    </span>
144
                    <br/>
147
                    <br/>
145
                [% END %]
146
            [% END %]
148
            [% END %]
147
149
148
            [% IF ( BIBLIO_RESULT.url ) %]
150
            [% IF ( BIBLIO_RESULT.url ) %]
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl (-72 / +3 lines)
Lines 1200-1277 Link Here
1200
            </span>
1200
            </span>
1201
        </xsl:if>
1201
        </xsl:if>
1202
1202
1203
        <!-- 773 -->
1203
        <xsl:call-template name="host-item-entries">
1204
        <xsl:if test="marc:datafield[@tag=773]">
1204
            <xsl:with-param name="UseControlNumber" select="$UseControlNumber"/>
1205
            <xsl:for-each select="marc:datafield[@tag=773]">
1205
        </xsl:call-template>
1206
                <xsl:if test="@ind1 !=1">
1207
                    <span class="results_summary in"><span class="label">
1208
                    <xsl:choose>
1209
                        <xsl:when test="@ind2=' '">
1210
                            In:
1211
                        </xsl:when>
1212
                        <xsl:when test="@ind2=8">
1213
                            <xsl:if test="marc:subfield[@code='i']">
1214
                                <xsl:value-of select="marc:subfield[@code='i']"/>
1215
                            </xsl:if>
1216
                        </xsl:when>
1217
                    </xsl:choose>
1218
                    </span>
1219
                    <xsl:variable name="f773">
1220
                        <xsl:call-template name="chopPunctuation">
1221
                            <xsl:with-param name="chopString">
1222
                                <xsl:call-template name="subfieldSelect">
1223
                                    <xsl:with-param name="codes">a_t</xsl:with-param>
1224
                                </xsl:call-template>
1225
                            </xsl:with-param>
1226
                        </xsl:call-template>
1227
                    </xsl:variable>
1228
                    <xsl:choose>
1229
                        <xsl:when test="$UseControlNumber = '1' and marc:subfield[@code='w']">
1230
                            <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>
1231
                            <xsl:value-of select="translate($f773, '()', '')"/>
1232
                            </a>
1233
                        </xsl:when>
1234
                        <xsl:when test="marc:subfield[@code='0']">
1235
                            <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>
1236
                            <xsl:value-of select="$f773"/>
1237
                            </a>
1238
                        </xsl:when>
1239
                        <xsl:otherwise>
1240
                            <xsl:variable name="host_query">
1241
                                <xsl:text>ti,phr:(</xsl:text>
1242
                                <xsl:call-template name="quote_search_term">
1243
                                    <xsl:with-param name="term"><xsl:value-of select="marc:subfield[@code='t']"/></xsl:with-param>
1244
                                </xsl:call-template>
1245
                                <xsl:text>)</xsl:text>
1246
                                <xsl:if test="marc:subfield[@code='a']">
1247
                                    <xsl:text> AND au:(</xsl:text>
1248
                                    <xsl:call-template name="quote_search_term">
1249
                                        <xsl:with-param name="term">
1250
                                            <xsl:value-of select="marc:subfield[@code='a']"/>
1251
                                        </xsl:with-param>
1252
                                    </xsl:call-template>
1253
                                    <xsl:text>)</xsl:text>
1254
                                </xsl:if>
1255
                            </xsl:variable>
1256
                            <a>
1257
                            <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=<xsl:value-of select="str:encode-uri($host_query, true())" />
1258
                            </xsl:attribute>
1259
                                <xsl:value-of select="$f773"/>
1260
                            </a>
1261
                        </xsl:otherwise>
1262
                    </xsl:choose>
1263
                    <xsl:if test="marc:subfield[@code='g']">
1264
                        <xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/>
1265
                    </xsl:if>
1266
                    </span>
1267
1268
                    <xsl:if test="marc:subfield[@code='n']">
1269
                        <span class="results_summary in_note"><xsl:value-of select="marc:subfield[@code='n']"/></span>
1270
                    </xsl:if>
1271
1272
                </xsl:if>
1273
            </xsl:for-each>
1274
        </xsl:if>
1275
1206
1276
        <xsl:for-each select="marc:datafield[@tag=511]">
1207
        <xsl:for-each select="marc:datafield[@tag=511]">
1277
            <span class="results_summary perf_note">
1208
            <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 (+74 lines)
Lines 571-576 Link Here
571
        </xsl:choose>
571
        </xsl:choose>
572
    </xsl:template>
572
    </xsl:template>
573
573
574
    <xsl:template name="host-item-entries">
575
        <xsl:param name="UseControlNumber"/>
576
        <!-- 773 -->
577
        <xsl:if test="marc:datafield[@tag=773]">
578
            <xsl:for-each select="marc:datafield[@tag=773]">
579
                <xsl:if test="@ind1 !=1">
580
                    <span class="results_summary in"><span class="label">
581
                    <xsl:choose>
582
                        <xsl:when test="@ind2=' '">
583
                            Host item entry:
584
                        </xsl:when>
585
                        <xsl:when test="@ind2=8">
586
                            <xsl:if test="marc:subfield[@code='i']">
587
                                <xsl:value-of select="marc:subfield[@code='i']"/>
588
                            </xsl:if>
589
                        </xsl:when>
590
                    </xsl:choose>
591
                    </span>
592
                    <xsl:variable name="f773">
593
                        <xsl:call-template name="chopPunctuation">
594
                            <xsl:with-param name="chopString">
595
                                <xsl:call-template name="subfieldSelect">
596
                                    <xsl:with-param name="codes">a_t</xsl:with-param>
597
                                </xsl:call-template>
598
                            </xsl:with-param>
599
                        </xsl:call-template>
600
                    </xsl:variable>
601
                    <xsl:choose>
602
                        <xsl:when test="$UseControlNumber = '1' and marc:subfield[@code='w']">
603
                            <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>
604
                            <xsl:value-of select="translate($f773, '()', '')"/>
605
                            </a>
606
                        </xsl:when>
607
                        <xsl:when test="marc:subfield[@code='0']">
608
                            <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>
609
                            <xsl:value-of select="$f773"/>
610
                            </a>
611
                        </xsl:when>
612
                        <xsl:otherwise>
613
                            <xsl:variable name="host_query">
614
                                <xsl:text>ti,phr:(</xsl:text>
615
                                <xsl:call-template name="quote_search_term">
616
                                    <xsl:with-param name="term"><xsl:value-of select="marc:subfield[@code='t']"/></xsl:with-param>
617
                                </xsl:call-template>
618
                                <xsl:text>)</xsl:text>
619
                                <xsl:if test="marc:subfield[@code='a']">
620
                                    <xsl:text> AND au:(</xsl:text>
621
                                    <xsl:call-template name="quote_search_term">
622
                                        <xsl:with-param name="term">
623
                                            <xsl:value-of select="marc:subfield[@code='a']"/>
624
                                        </xsl:with-param>
625
                                    </xsl:call-template>
626
                                    <xsl:text>)</xsl:text>
627
                                </xsl:if>
628
                            </xsl:variable>
629
                            <a>
630
                            <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=<xsl:value-of select="str:encode-uri($host_query, true())" />
631
                            </xsl:attribute>
632
                                <xsl:value-of select="$f773"/>
633
                            </a>
634
                        </xsl:otherwise>
635
                    </xsl:choose>
636
                    <xsl:if test="marc:subfield[@code='g']">
637
                        <xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/>
638
                    </xsl:if>
639
                    </span>
640
                    <xsl:if test="marc:subfield[@code='n']">
641
                        <span class="results_summary in_note"><xsl:value-of select="marc:subfield[@code='n']"/></span>
642
                    </xsl:if>
643
                </xsl:if>
644
            </xsl:for-each>
645
        </xsl:if>
646
    </xsl:template>
647
574
</xsl:stylesheet>
648
</xsl:stylesheet>
575
649
576
<!-- Stylus Studio meta-information - (c)1998-2002 eXcelon Corp.
650
<!-- Stylus Studio meta-information - (c)1998-2002 eXcelon Corp.
(-)a/opac/opac-basket.pl (-1 / +3 lines)
Lines 140-146 foreach my $biblionumber ( @bibs ) { Link Here
140
    $dat->{MARCSERIES}  = $marcseriesarray;
140
    $dat->{MARCSERIES}  = $marcseriesarray;
141
    $dat->{MARCURLS}    = $marcurlsarray;
141
    $dat->{MARCURLS}    = $marcurlsarray;
142
    $dat->{HASAUTHORS}  = $hasauthors;
142
    $dat->{HASAUTHORS}  = $hasauthors;
143
    $dat->{HOSTITEMENTRIES} = $biblio->get_marc_host;
143
    my ( $host, $relatedparts ) = $biblio->get_marc_host;
144
    $dat->{HOSTITEMENTRIES} = $host;
145
    $dat->{RELATEDPARTS} = $relatedparts;
144
146
145
    push( @results, $dat );
147
    push( @results, $dat );
146
}
148
}
(-)a/opac/opac-sendbasket.pl (-1 / +3 lines)
Lines 97-103 if ( $email_add ) { Link Here
97
        $dat->{HASAUTHORS}     = $hasauthors;
97
        $dat->{HASAUTHORS}     = $hasauthors;
98
        $dat->{'biblionumber'} = $biblionumber;
98
        $dat->{'biblionumber'} = $biblionumber;
99
        $dat->{ITEM_RESULTS}   = $items;
99
        $dat->{ITEM_RESULTS}   = $items;
100
        $dat->{HOSTITEMENTRIES} = $biblio->get_marc_host;
100
        my ( $host, $relatedparts ) = $biblio->get_marc_host;
101
        $dat->{HOSTITEMENTRIES} = $host;
102
        $dat->{RELATEDPARTS} = $relatedparts;
101
103
102
        $iso2709 .= $record->as_usmarc();
104
        $iso2709 .= $record->as_usmarc();
103
105
(-)a/opac/opac-sendshelf.pl (-1 / +3 lines)
Lines 102-108 if ( $shelf and $shelf->can_be_viewed( $borrowernumber ) ) { Link Here
102
        $dat->{'biblionumber'} = $biblionumber;
102
        $dat->{'biblionumber'} = $biblionumber;
103
        $dat->{ITEM_RESULTS}   = $items;
103
        $dat->{ITEM_RESULTS}   = $items;
104
        $dat->{HASAUTHORS}     = $dat->{'author'} || @$marcauthorsarray;
104
        $dat->{HASAUTHORS}     = $dat->{'author'} || @$marcauthorsarray;
105
        $dat->{HOSTITEMENTRIES} = $biblio->get_marc_host;
105
        my ( $host, $relatedparts ) = $biblio->get_marc_host;
106
        $dat->{HOSTITEMENTRIES} = $host;
107
        $dat->{RELATEDPARTS} = $relatedparts;
106
108
107
        $iso2709 .= $record->as_usmarc();
109
        $iso2709 .= $record->as_usmarc();
108
110
(-)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 90-96 if ($to_address) { Link Here
90
        $dat->{'biblionumber'} = $biblionumber;
90
        $dat->{'biblionumber'} = $biblionumber;
91
        $dat->{ITEM_RESULTS}   = $items;
91
        $dat->{ITEM_RESULTS}   = $items;
92
        $dat->{HASAUTHORS}     = $dat->{'author'} || @$marcauthorsarray;
92
        $dat->{HASAUTHORS}     = $dat->{'author'} || @$marcauthorsarray;
93
        $dat->{HOSTITEMENTRIES} = $biblio->get_host_item_entries;
93
        my ( $host, $relatedparts ) = $biblio->get_marc_host;
94
        $dat->{HOSTITEMENTRIES} = $host;
95
        $dat->{RELATEDPARTS} = $relatedparts;
94
96
95
        $iso2709 .= $record->as_usmarc();
97
        $iso2709 .= $record->as_usmarc();
96
98
97
- 

Return to bug 16522