Fix for Bug 6957, authors disappearing when emailing lists
authorOwen Leonard <oleonard@myacpl.org>
Mon, 3 Oct 2011 14:43:35 +0000 (10:43 -0400)
committerChris Cormack <chrisc@catalyst.net.nz>
Wed, 19 Oct 2011 22:34:39 +0000 (11:34 +1300)
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>
koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/sendshelf.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-sendshelf.tt
opac/opac-sendshelf.pl
virtualshelves/sendshelf.pl

index 686d278..f307ba0 100644 (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 %]
 
index 74317df..f9f7c31 100644 (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 %]
 
index b571e07..1de95ae 100755 (executable)
@@ -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;
-}
\ No newline at end of file
+}
index 16ada89..37a98ec 100755 (executable)
@@ -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,