Bug 16248: ModZebra doesn't update zebraqueue if ES is enabled
[koha.git] / C4 / Message.pm
index 5386968..30b71c8 100644 (file)
@@ -5,18 +5,18 @@ package C4::Message;
 #
 # This file is part of Koha.
 #
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
 #
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License along
-# with Koha; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
 
 
 use strict;
@@ -106,7 +106,7 @@ sub find {
     if (@$msgs) {
         return $class->new($msgs->[0]);
     } else {
-        return undef;
+        return;
     }
 }
 
@@ -142,7 +142,7 @@ sub find_last_message {
     if (@$msgs) {
         return $class->new($msgs->[0]);
     } else {
-        return undef;
+        return;
     }
 }
 
@@ -159,8 +159,13 @@ sub enqueue {
     my ($class, $letter, $borrower, $transport) = @_;
     my $metadata   = _metadata($letter);
     my $to_address = _to_address($borrower, $transport);
+
+    # Same as render_metadata
+    my $format ||= sub { $_[0] || "" };
+    my $body = join('', map { $format->($_) } @{$metadata->{body}});
+    $letter->{content} = $metadata->{header} . $body . $metadata->{footer};
+
     $letter->{metadata} = Dump($metadata);
-    #carp "enqueuing... to $to_address";
     C4::Letters::EnqueueLetter({
         letter                 => $letter,
         borrowernumber         => $borrower->{borrowernumber},
@@ -316,7 +321,7 @@ sub append {
     }
     if (not $self->metadata) {
         carp "Can't append to messages that don't have metadata.";
-        return undef;
+        return;
     }
     my $metadata = $self->metadata;
     push @{$metadata->{body}}, $item;