Fix for Bug 6957, authors disappearing when emailing lists

Standard author information wasn't even in the template markup, only
"additional author." Added standard author and improved output of
additional authors (hiding label when empty).

Also added subtitle via GetRecordValue (see bug 3550).

Also added check for and output of OPACBaseURL in order
to make OPAC links in the email clickable.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

QA revision:  renamed OPACBaseurl to OPACBaseURL for consistency

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This commit is contained in:
Owen Leonard 2011-10-03 10:43:35 -04:00 committed by Chris Cormack
parent 96300cc592
commit aedb86a679
4 changed files with 31 additions and 14 deletions

View File

@ -17,9 +17,11 @@ Reference Manager or ProCite.
[% IF ( comment ) %]
[% comment %]
[% END %]
[% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %][% BIBLIO_RESULT.title %][% IF ( BIBLIO_RESULT.subtitle ) %] [% BIBLIO_RESULT.subtitle %][% END %][% IF ( BIBLIO_RESULT.MARCAUTHORS ) %]
Author(s): [% FOREACH MARCAUTHOR IN BIBLIO_RESULT.MARCAUTHORS %][% FOREACH MARCAUTHOR_SUBFIELDS_LOO IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %][% MARCAUTHOR_SUBFIELDS_LOO.separator %][% MARCAUTHOR_SUBFIELDS_LOO.value %][% END %][% UNLESS ( loop.last ) %]; [% ELSE %]
[% END %][% END %][% END %][% IF ( BIBLIO_RESULT.ISBN ) %]
[% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %][% BIBLIO_RESULT.title %][% IF ( BIBLIO_RESULT.subtitle.size ) %] [% FOREACH subtitle IN BIBLIO_RESULT.subtitle %][% subtitle.subfield %][% END %][% END %][% IF ( BIBLIO_RESULT.author ) %]
by [% BIBLIO_RESULT.author %][% END %]
[% IF ( BIBLIO_RESULT.MARCAUTHORS.size ) %]
Additional author(s): [% FOREACH MARCAUTHOR IN BIBLIO_RESULT.MARCAUTHORS %][% FOREACH MARCAUTHOR_SUBFIELDS_LOO IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %][% MARCAUTHOR_SUBFIELDS_LOO.separator %] [% MARCAUTHOR_SUBFIELDS_LOO.value %][% END %][% UNLESS ( loop.last ) %];[% END %][% END %][% END %][% IF ( BIBLIO_RESULT.ISBN ) %]
ISBN: [% BIBLIO_RESULT.ISBN %][% END %]
[% IF ( BIBLIO_RESULT.publishercode ) %]Published by: [% BIBLIO_RESULT.publishercode %][% END %][% IF ( BIBLIO_RESULT.publicationyear ) %] in [% END %][% BIBLIO_RESULT.publicationyear %][% IF ( BIBLIO_RESULT.pages ) %], [% END %][% BIBLIO_RESULT.pages %][% IF ( BIBLIO_RESULT.size ) %], [% END %][% BIBLIO_RESULT.size %][% IF ( BIBLIO_RESULT.collection ) %]
Collection: [% BIBLIO_RESULT.seriestitle %][% END %][% IF ( BIBLIO_RESULT.subject ) %]
@ -31,9 +33,9 @@ Serial: [% BIBLIO_RESULT.serial %][% END %][% IF ( BIBLIO_RESULT.dewey ) %]
Dewey: [% BIBLIO_RESULT.dewey %][% END %][% IF ( BIBLIO_RESULT.classification ) %]
Classification: [% BIBLIO_RESULT.classification %][% END %][% IF ( BIBLIO_RESULT.lccn ) %]
LCCN: [% BIBLIO_RESULT.lccn %][% END %][% IF ( BIBLIO_RESULT.url ) %]
url : [% BIBLIO_RESULT.url %][% END %]
url : [% BIBLIO_RESULT.url %][% END %][% IF ( OPACBaseURL ) %]
In the online catalog:
[% OPACBaseURL %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% BIBLIO_RESULT.biblionumber |url %]
http://[% OPACBaseURL %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% BIBLIO_RESULT.biblionumber |url %][% END %]
Items : [% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]
[% ITEM_RESULT.branchname %] [% ITEM_RESULT.location %] [% IF ( ITEM_RESULT.itemcallnumber ) %]([% ITEM_RESULT.itemcallnumber %])[% END %] [% ITEM_RESULT.barcode %][% END %]

View File

@ -17,8 +17,11 @@ Reference Manager or ProCite.
[% IF ( comment ) %]
[% comment %]
[% END %]
[% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %][% BIBLIO_RESULT.title %][% IF ( BIBLIO_RESULT.subtitle ) %] [% BIBLIO_RESULT.subtitle %][% END %][% IF ( BIBLIO_RESULT.MARCAUTHORS ) %]
Author(s): [% FOREACH MARCAUTHOR IN BIBLIO_RESULT.MARCAUTHORS %][% FOREACH MARCAUTHOR_SUBFIELDS_LOO IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %][% MARCAUTHOR_SUBFIELDS_LOO.separator %][% MARCAUTHOR_SUBFIELDS_LOO.value %][% END %][% UNLESS ( loop.last ) %]; [% ELSE %]
[% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %][% BIBLIO_RESULT.title %][% IF ( BIBLIO_RESULT.subtitle.size ) %] [% FOREACH subtitle IN BIBLIO_RESULT.subtitle %][% subtitle.subfield %][% END %][% END %][% IF ( BIBLIO_RESULT.author ) %]
by [% BIBLIO_RESULT.author %][% END %]
[% IF ( BIBLIO_RESULT.MARCAUTHORS.size ) %]
Additional author(s): [% FOREACH MARCAUTHOR IN BIBLIO_RESULT.MARCAUTHORS %][% FOREACH MARCAUTHOR_SUBFIELDS_LOO IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %][% MARCAUTHOR_SUBFIELDS_LOO.separator %] [% MARCAUTHOR_SUBFIELDS_LOO.value %][% END %][% UNLESS ( loop.last ) %]; [% ELSE %]
[% END %][% END %][% END %][% IF ( BIBLIO_RESULT.ISBN ) %]
ISBN: [% BIBLIO_RESULT.ISBN %][% END %]
[% IF ( BIBLIO_RESULT.publishercode ) %]Published by: [% BIBLIO_RESULT.publishercode %][% END %][% IF ( BIBLIO_RESULT.publicationyear ) %] in [% END %][% BIBLIO_RESULT.publicationyear %][% IF ( BIBLIO_RESULT.pages ) %], [% END %][% BIBLIO_RESULT.pages %][% IF ( BIBLIO_RESULT.size ) %], [% END %][% BIBLIO_RESULT.size %][% IF ( BIBLIO_RESULT.collection ) %]
@ -31,9 +34,9 @@ Serial: [% BIBLIO_RESULT.serial %][% END %][% IF ( BIBLIO_RESULT.dewey ) %]
Dewey: [% BIBLIO_RESULT.dewey %][% END %][% IF ( BIBLIO_RESULT.classification ) %]
Classification: [% BIBLIO_RESULT.classification %][% END %][% IF ( BIBLIO_RESULT.lccn ) %]
LCCN: [% BIBLIO_RESULT.lccn %][% END %][% IF ( BIBLIO_RESULT.url ) %]
url : [% BIBLIO_RESULT.url %][% END %]
url : [% BIBLIO_RESULT.url %][% END %][% IF ( OPACBaseURL ) %]
In the online catalog:
[% OPACBaseURL %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% BIBLIO_RESULT.biblionumber |url %]
http://[% OPACBaseURL %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% BIBLIO_RESULT.biblionumber |url %][% END %]
Items : [% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]
[% ITEM_RESULT.branchname %] [% ITEM_RESULT.location %] [% IF ( ITEM_RESULT.itemcallnumber ) %]([% ITEM_RESULT.itemcallnumber %])[% END %] [% ITEM_RESULT.barcode %][% END %]

View File

@ -81,12 +81,13 @@ if ( $email ) {
# retrieve biblios from shelf
foreach my $biblio (@$items) {
my $biblionumber = $biblio->{biblionumber};
my $fw = GetFrameworkCode($biblionumber);
my $dat = GetBiblioData($biblionumber);
my $record = GetMarcBiblio($biblionumber);
my $marcnotesarray = GetMarcNotes( $record, $marcflavour );
my $marcauthorsarray = GetMarcAuthors( $record, $marcflavour );
my $marcsubjctsarray = GetMarcSubjects( $record, $marcflavour );
my $subtitle = GetRecordValue('subtitle', $record, $fw);
my @items = GetItemsInfo( $biblionumber );
@ -95,13 +96,18 @@ if ( $email ) {
$dat->{MARCAUTHORS} = $marcauthorsarray;
$dat->{'biblionumber'} = $biblionumber;
$dat->{ITEM_RESULTS} = \@items;
$dat->{subtitle} = $subtitle;
$iso2709 .= $record->as_usmarc();
push( @results, $dat );
}
my $user = GetMember(borrowernumber => $borrowernumber);
my $user = GetMember(borrowernumber => $borrowernumber);
if (C4::Context->preference('OPACBaseURL')){
$template2->param( OPACBaseURL => C4::Context->preference('OPACBaseURL') );
}
$template2->param(
BIBLIO_RESULTS => \@results,
@ -185,4 +191,4 @@ END_OF_BODY
url => "/cgi-bin/koha/opac-sendshelf.pl",
);
output_html_with_http_headers $query, $cookie, $template->output;
}
}

View File

@ -77,13 +77,14 @@ if ( $email ) {
# retrieve biblios from shelf
foreach my $biblio (@$items) {
my $biblionumber = $biblio->{biblionumber};
my $biblionumber = $biblio->{biblionumber};
my $fw = GetFrameworkCode($biblionumber);
my $dat = GetBiblioData($biblionumber);
my $record = GetMarcBiblio($biblionumber);
my $marcnotesarray = GetMarcNotes( $record, $marcflavour );
my $marcauthorsarray = GetMarcAuthors( $record, $marcflavour );
my $marcsubjctsarray = GetMarcSubjects( $record, $marcflavour );
my $subtitle = GetRecordValue('subtitle', $record, $fw);
my @items = GetItemsInfo( $biblionumber );
@ -92,12 +93,17 @@ if ( $email ) {
$dat->{MARCAUTHORS} = $marcauthorsarray;
$dat->{'biblionumber'} = $biblionumber;
$dat->{ITEM_RESULTS} = \@items;
$dat->{subtitle} = $subtitle;
$iso2709 .= $record->as_usmarc();
push( @results, $dat );
}
if (C4::Context->preference('OPACBaseURL')){
$template2->param( OPACBaseURL => C4::Context->preference('OPACBaseURL') );
}
$template2->param(
BIBLIO_RESULTS => \@results,
email_sender => $email_from,