Bug 5652: display subtitles on patron checkout and holds summary
This patch adds subtitles (from Keyword to MARC mapping) to the
following tables on the checkout page:
- Checkouts
- Previous checkouts
- Relative's checkouts
- Relative's previous checkouts
- Holds
Additionally it suppresses the appearence of the superfluous word "by"
in cases where the biblio has no author.
Test scenario:
--------------
1)
Make sure that you have one or more fields mapped to subtitle in:
Home . Administration . Keyword to MARC mapping
(e.g. 245 b)
2)
Test the checkout page with patrons having
- current checkouts (today)
- previous checkouts
- relatives (e.g. kids) with current /previous checkouts
- holds on items
- holds on biblios
...with items having:
- title, subtitle, author
- title, no subtitle, author
- title, subtitle, no author
- title, no subtitle, no author
3)
Do the same on patron's detail page
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
All tests pass
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 976561a384)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
parent
561c436e93
commit
ac5d43319c
|
|
@ -361,6 +361,7 @@ if ($borrowernumber) {
|
|||
$getreserv{reservedate} = format_date( $num_res->{'reservedate'} );
|
||||
$getreserv{reservenumber} = $num_res->{'reservenumber'};
|
||||
$getreserv{title} = $getiteminfo->{'title'};
|
||||
$getreserv{subtitle} = GetRecordValue('subtitle', GetMarcBiblio($getiteminfo->{biblionumber}), GetFrameworkCode($getiteminfo->{biblionumber}));
|
||||
$getreserv{itemtype} = $itemtypeinfo->{'description'};
|
||||
$getreserv{author} = $getiteminfo->{'author'};
|
||||
$getreserv{barcodereserv} = $getiteminfo->{'barcode'};
|
||||
|
|
@ -400,6 +401,7 @@ if ($borrowernumber) {
|
|||
|
||||
$getreserv{color} = 'inwait';
|
||||
$getreserv{title} = $getbibinfo->{'title'};
|
||||
$getreserv{subtitle} = GetRecordValue('subtitle', GetMarcBiblio($num_res->{biblionumber}), GetFrameworkCode($num_res->{biblionumber}));
|
||||
$getreserv{nottransfered} = 0;
|
||||
$getreserv{itemtype} = $itemtypeinfo->{'description'};
|
||||
$getreserv{author} = $getbibinfo->{'author'};
|
||||
|
|
@ -471,7 +473,7 @@ sub build_issue_data {
|
|||
$it->{'displaydate'} = output_pref($it->{'issuedate'});
|
||||
#$it->{'od'} = ( $it->{'date_due'} lt $todaysdate ) ? 1 : 0 ;
|
||||
$it->{'od'} = $it->{'overdue'};
|
||||
$it->{'author'} ||= ' ';
|
||||
$it->{'subtitle'} = GetRecordValue('subtitle', GetMarcBiblio($it->{biblionumber}), GetFrameworkCode($it->{biblionumber}));
|
||||
$it->{'renew_failed'} = $renew_failed{$it->{'itemnumber'}};
|
||||
$it->{'return_failed'} = $return_failed{$it->{'barcode'}};
|
||||
|
||||
|
|
|
|||
|
|
@ -827,7 +827,7 @@ No patron matched <span class="ex">[% message %]</span>
|
|||
<span class="dmg">[% KohaAuthorisedValues.GetByCode( 'DAMAGED', todayissue.damaged ) %]</span>
|
||||
[% END %]
|
||||
</td>
|
||||
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% todayissue.biblionumber %]&type=intra"><strong>[% todayissue.title |html %]</strong></a>[% IF ( todayissue.author ) %], by [% todayissue.author %][% END %][% IF ( todayissue.itemnotes ) %]- <span class="circ-hlt">[% todayissue.itemnotes %]</span>[% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% todayissue.biblionumber %]&itemnumber=[% todayissue.itemnumber %]#item[% todayissue.itemnumber %]">[% todayissue.barcode %]</a></td>
|
||||
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% todayissue.biblionumber %]&type=intra"><strong>[% todayissue.title |html %]</strong></a>[% FOREACH subtitl IN todayissue.subtitle %] [% subtitl.subfield %][% END %][% IF ( todayissue.author ) %], by [% todayissue.author %][% END %][% IF ( todayissue.itemnotes ) %]- <span class="circ-hlt">[% todayissue.itemnotes %]</span>[% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% todayissue.biblionumber %]&itemnumber=[% todayissue.itemnumber %]#item[% todayissue.itemnumber %]">[% todayissue.barcode %]</a></td>
|
||||
<td>[% UNLESS ( noItemTypeImages ) %] [% IF ( todayissue.itemtype_image ) %]<img src="[% todayissue.itemtype_image %]" alt="" />[% END %][% END %][% todayissue.itemtype %]</td>
|
||||
<td><span title="[% todayissue.displaydate_sort %]">[% todayissue.checkoutdate %]</span></td>
|
||||
[% IF ( todayissue.multiple_borrowers ) %]<td>[% todayissue.firstname %] [% todayissue.surname %]</td>[% END %]
|
||||
|
|
@ -914,7 +914,7 @@ No patron matched <span class="ex">[% message %]</span>
|
|||
<span class="dmg">[% KohaAuthorisedValues.GetByCode( 'DAMAGED', previssue.damaged ) %]</span>
|
||||
[% END %]
|
||||
</td>
|
||||
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% previssue.biblionumber %]&type=intra"><strong>[% previssue.title |html %]</strong></a>[% IF ( previssue.author ) %], by [% previssue.author %][% END %] [% IF ( previssue.itemnotes ) %]- [% previssue.itemnotes %][% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% previssue.biblionumber %]&itemnumber=[% previssue.itemnumber %]#item[% previssue.itemnumber %]">[% previssue.barcode %]</a></td>
|
||||
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% previssue.biblionumber %]&type=intra"><strong>[% previssue.title |html %]</strong></a>[% FOREACH subtitl IN previssue.subtitle %] [% subtitl.subfield %][% END %][% IF ( previssue.author ) %], by [% previssue.author %][% END %] [% IF ( previssue.itemnotes ) %]- [% previssue.itemnotes %][% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% previssue.biblionumber %]&itemnumber=[% previssue.itemnumber %]#item[% previssue.itemnumber %]">[% previssue.barcode %]</a></td>
|
||||
<td>
|
||||
[% previssue.itemtype %]
|
||||
</td>
|
||||
|
|
@ -1052,7 +1052,7 @@ No patron matched <span class="ex">[% message %]</span>
|
|||
<span class="dmg">[% KohaAuthorisedValues.GetByCode( 'DAMAGED', relissue.damaged ) %]</span>
|
||||
[% END %]
|
||||
</td>
|
||||
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% relissue.biblionumber %]&type=intra"><strong>[% relissue.title |html %]</strong></a>[% IF ( relissue.author ) %], by [% relissue.author %][% END %][% IF ( relissue.itemnotes ) %]- <span class="circ-hlt">[% relissue.itemnotes %]</span>[% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% relissue.biblionumber %]&itemnumber=[% relissue.itemnumber %]#item[% relissue.itemnumber %]">[% relissue.barcode %]</a></td>
|
||||
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% relissue.biblionumber %]&type=intra"><strong>[% relissue.title |html %]</strong></a>[% FOREACH subtitl IN relissue.subtitle %] [% subtitl.subfield %][% END %][% IF ( relissue.author ) %], by [% relissue.author %][% END %][% IF ( relissue.itemnotes ) %]- <span class="circ-hlt">[% relissue.itemnotes %]</span>[% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% relissue.biblionumber %]&itemnumber=[% relissue.itemnumber %]#item[% relissue.itemnumber %]">[% relissue.barcode %]</a></td>
|
||||
<td>[% UNLESS ( noItemTypeImages ) %] [% IF ( relissue.itemtype_image ) %]<img src="[% relissue.itemtype_image %]" alt="" />[% END %][% END %][% relissue.itemtype %]</td>
|
||||
<td><span title="[% relissue.displaydate_sort %]">[% relissue.displaydate %]</span></td>
|
||||
<td>[% relissue.issuingbranchname %]</td>
|
||||
|
|
@ -1073,7 +1073,7 @@ No patron matched <span class="ex">[% message %]</span>
|
|||
[% IF ( relprevissue.overdue ) %]<td class="od">[% ELSE %]<td>[% END %]
|
||||
<span title="[% relprevissue.dd_sort %]">[% relprevissue.dd %]</span>
|
||||
</td>
|
||||
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% relprevissue.biblionumber %]&type=intra"><strong>[% relprevissue.title |html %]</strong></a>[% IF ( relprevissue.author ) %], by [% relprevissue.author %][% END %] [% IF ( relprevissue.itemnotes ) %]- [% relprevissue.itemnotes %][% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% relprevissue.biblionumber %]&itemnumber=[% relprevissue.itemnumber %]#item[% relprevissue.itemnumber %]">[% relprevissue.barcode %]</a></td>
|
||||
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% relprevissue.biblionumber %]&type=intra"><strong>[% relprevissue.title |html %]</strong></a>[% FOREACH subtitl IN relprevissue.subtitle %] [% subtitl.subfield %][% END %][% IF ( relprevissue.author ) %], by [% relprevissue.author %][% END %] [% IF ( relprevissue.itemnotes ) %]- [% relprevissue.itemnotes %][% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% relprevissue.biblionumber %]&itemnumber=[% relprevissue.itemnumber %]#item[% relprevissue.itemnumber %]">[% relprevissue.barcode %]</a></td>
|
||||
<td>[% UNLESS noItemTypeImages %][% IF relprevissue.itemtype_image %]<img src="[% relprevissue.itemtype_image %]" alt="" />[% END %][% END %][% relprevissue.itemtype %]</td>
|
||||
<td><span title="[% relprevissue.displaydate_sort %]">[% relprevissue.displaydate %]</span></td>
|
||||
<td>[% relprevissue.issuingbranchname %]</td>
|
||||
|
|
@ -1112,7 +1112,7 @@ No patron matched <span class="ex">[% message %]</span>
|
|||
[% FOREACH reservloo IN reservloop %]
|
||||
<tr class="[% reservloo.color %]">
|
||||
<td>[% reservloo.reservedate %]</td>
|
||||
<td><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% reservloo.biblionumber %]"><strong>[% reservloo.title |html %]</strong></a>[% IF ( reservloo.author ) %], by [% reservloo.author %][% END %]</td>
|
||||
<td><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% reservloo.biblionumber %]"><strong>[% reservloo.title |html %]</strong></a>[% FOREACH subtitl IN reservloo.subtitle %] [% subtitl.subfield %][% END %][% IF ( reservloo.author ) %], by [% reservloo.author %][% END %]</td>
|
||||
<td>[% reservloo.itemcallnumber %]</td>
|
||||
<td><em>[% IF ( reservloo.barcodereserv ) %]Item [% reservloo.barcodereserv %]
|
||||
[% END %][% IF ( reservloo.waiting ) %] <strong>waiting at [% reservloo.waitingat %]</strong>
|
||||
|
|
|
|||
|
|
@ -482,7 +482,7 @@ function validate1(date) {
|
|||
<span class="dmg">[% issueloo.itemdamaged %]</span>
|
||||
[% END %]
|
||||
</td>
|
||||
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% issueloo.biblionumber %]"><strong>[% issueloo.title |html %]</strong></a>[% IF ( issueloo.author ) %], by [% issueloo.author %][% END %] [% IF ( issueloo.publishercode ) %]; [% issueloo.publishercode %] [% END %] [% IF ( issueloo.publicationyear ) %], [% issueloo.publicationyear %][% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% issueloo.biblionumber %]&itemnumber=[% issueloo.itemnumber %]#item[% issueloo.itemnumber %]">[% issueloo.barcode %]</a></td>
|
||||
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% issueloo.biblionumber %]"><strong>[% issueloo.title |html %]</strong></a>[% FOREACH subtitl IN issueloo.subtitle %] [% subtitl.subfield %][% END %][% IF ( issueloo.author ) %], by [% issueloo.author %][% END %] [% IF ( issueloo.publishercode ) %]; [% issueloo.publishercode %] [% END %] [% IF ( issueloo.publicationyear ) %], [% issueloo.publicationyear %][% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% issueloo.biblionumber %]&itemnumber=[% issueloo.itemnumber %]#item[% issueloo.itemnumber %]">[% issueloo.barcode %]</a></td>
|
||||
<td>[% UNLESS ( noItemTypeImages ) %] [% IF ( issueloo.itemtype_image ) %]<img src="[% issueloo.itemtype_image %]" alt="" />[% END %][% END %][% issueloo.itemtype_description %]</td>
|
||||
<td><span title="[% issueloo.issuedate %]">[% issueloo.issuedate | $KohaDates%]</span></td>
|
||||
<td>[% issueloo.issuingbranchname %]</td>
|
||||
|
|
@ -590,7 +590,7 @@ function validate1(date) {
|
|||
<span class="dmg">[% relissueloo.itemdamaged %]</span>
|
||||
[% END %]
|
||||
</td>
|
||||
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% relissueloo.biblionumber %]"><strong>[% relissueloo.title |html %]</strong></a>[% IF relissueloo.author %], by [% relissueloo.author %][% END %] [% IF relissueloo.publishercode %]; [% relissueloo.publishercode %] [% END %] [% IF relissueloo.publicationyear %], [% relissueloo.publicationyear %][% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% relissueloo.biblionumber %]&itemnumber=[% relissueloo.itemnumber %]#item[% relissueloo.itemnumber %]">[% relissueloo.barcode %]</a></td>
|
||||
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% relissueloo.biblionumber %]"><strong>[% relissueloo.title |html %]</strong></a>[% FOREACH subtitl IN relissueloo.subtitle %] [% subtitl.subfield %][% END %][% IF relissueloo.author %], by [% relissueloo.author %][% END %] [% IF relissueloo.publishercode %]; [% relissueloo.publishercode %] [% END %] [% IF relissueloo.publicationyear %], [% relissueloo.publicationyear %][% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% relissueloo.biblionumber %]&itemnumber=[% relissueloo.itemnumber %]#item[% relissueloo.itemnumber %]">[% relissueloo.barcode %]</a></td>
|
||||
<td>[% UNLESS ( noItemTypeImages ) %] [% IF ( relissueloo.itemtype_image ) %]<img src="[% relissueloo.itemtype_image %]" alt="" />[% END %][% END %][% relissueloo.itemtype_description %]</td>
|
||||
<td><span title="[% relissueloo.issuedate %]">[% relissueloo.issuedate | $KohaDates %]</span></td>
|
||||
<td>[% relissueloo.issuingbranchname %]</td>
|
||||
|
|
@ -633,7 +633,7 @@ function validate1(date) {
|
|||
<tr class="[% reservloo.color %]">
|
||||
<td><span title="[% reservloo.reservedate %]">[% reservloo.reservedate | $KohaDates %]</span></td>
|
||||
<td>
|
||||
<a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% reservloo.biblionumber %]">[% reservloo.title |html %]</a>[% IF ( reservloo.author ) %], by [% reservloo.author %][% END %]
|
||||
<a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% reservloo.biblionumber %]">[% reservloo.title |html %]</a>[% FOREACH subtitl IN reservloo.subtitle %] [% subtitl.subfield %][% END %][% IF ( reservloo.author ) %], by [% reservloo.author %][% END %]
|
||||
</td>
|
||||
<td>[% reservloo.itemcallnumber %]</td>
|
||||
<td>[% IF ( reservloo.waiting ) %]
|
||||
|
|
|
|||
|
|
@ -302,6 +302,8 @@ if ($borrowernumber) {
|
|||
$getreserv{nottransferedby} =
|
||||
GetBranchName( $getiteminfo->{'holdingbranch'} );
|
||||
}
|
||||
$getreserv{title} = $getiteminfo->{'title'};
|
||||
$getreserv{subtitle} = GetRecordValue('subtitle', GetMarcBiblio($getiteminfo->{biblionumber}), GetFrameworkCode($getiteminfo->{biblionumber}));
|
||||
|
||||
# if we don't have a reserv on item, we put the biblio infos and the waiting position
|
||||
if ( $getiteminfo->{'title'} eq '' ) {
|
||||
|
|
@ -309,6 +311,7 @@ if ($borrowernumber) {
|
|||
my $getbibtype = getitemtypeinfo( $getbibinfo->{'itemtype'} );
|
||||
$getreserv{color} = 'inwait';
|
||||
$getreserv{title} = $getbibinfo->{'title'};
|
||||
$getreserv{subtitle} = GetRecordValue('subtitle', GetMarcBiblio($num_res->{biblionumber}), GetFrameworkCode($num_res->{biblionumber}));
|
||||
$getreserv{nottransfered} = 0;
|
||||
$getreserv{itemtype} = $getbibtype->{'description'};
|
||||
$getreserv{author} = $getbibinfo->{'author'};
|
||||
|
|
@ -447,8 +450,7 @@ sub build_issue_data {
|
|||
if ($issue->{issuedate} ) {
|
||||
$issuedate = $issue->{issuedate}->clone();
|
||||
}
|
||||
|
||||
my $biblionumber = $issue->{biblionumber};
|
||||
$issue->{subtitle} = GetRecordValue('subtitle', GetMarcBiblio($issue->{biblionumber}), GetFrameworkCode($issue->{biblionumber}));
|
||||
$issue->{issuingbranchname} = GetBranchName($issue->{branchcode});
|
||||
my %row = %{$issue};
|
||||
$totalprice += $issue->{replacementprice};
|
||||
|
|
|
|||
Loading…
Reference in New Issue