package C4::Message;
+
+# Copyright Liblime 2009
+# Copyright Catalyst IT 2012
+#
+# 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 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.
+#
+# 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;
use warnings;
use C4::Context;
use C4::Message;
use C4::Items;
my $borrower = { borrowernumber => 1 };
- my $item = C4::Items::GetItem(1);
- my $letter = C4::Letters::getletter('circulation', 'CHECKOUT');
- C4::Letters::parseletter($letter, 'biblio', $item->{biblionumber});
- C4::Letters::parseletter($letter, 'biblioitems', $item->{biblionumber});
+ my $item = Koha::Items->find($itemnumber)->unblessed;
+ my $letter = C4::Letters::GetPreparedLetter (
+ module => 'circulation',
+ letter_code => 'CHECKOUT',
+ branchcode => $branch,
+ tables => {
+ 'biblio', $item->{biblionumber},
+ 'biblioitems', $item->{biblionumber},
+ },
+ );
C4::Message->enqueue($letter, $borrower->{borrowernumber}, 'email');
How to update a borrower's last checkout message:
=head1 DESCRIPTION
-This module presents an OO interface to the message_queue. Previously, you could
-only add messages to the message_queue via C<C4::Letters::EnqueueMessage()>. With
-this module, you can also get previously inserted messages, manipulate them, and
-save them back to the database.
+This module presents an OO interface to the message_queue. Previously,
+you could only add messages to the message_queue via
+C<C4::Letters::EnqueueMessage()>. With this module, you can also get
+previously inserted messages, manipulate them, and save them back to the
+database.
=cut
if (@$msgs) {
return $class->new($msgs->[0]);
} else {
- return undef;
+ return;
}
}
if (@$msgs) {
return $class->new($msgs->[0]);
} else {
- return undef;
+ return;
}
}
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},
# $object->append($letter_or_item) -- add a new item to a message's content
sub append {
my ($self, $letter_or_item, $format) = @_;
- my $item;
+ my ( $item, $header, $footer );
if (ref($letter_or_item)) {
my $letter = $letter_or_item;
my $metadata = _metadata($letter);
+ $header = $metadata->{header};
+ $footer = $metadata->{footer};
$item = $metadata->{body}->[0];
} else {
$item = $letter_or_item;
}
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;
+ $metadata->{header} = $header;
+ $metadata->{footer} = $footer;
$self->metadata($metadata);
my $new_content = $self->render_metadata($format);
return $self->content($new_content);
=head3 $message->message_id
+=cut
+
=head3 $message->borrowernumber
+=cut
+
=head3 $message->subject
+=cut
+
=head3 $message->content
+=cut
+
=head3 $message->metadata
+=cut
+
=head3 $message->letter_code
+=cut
+
=head3 $message->message_transport_type
+=cut
+
=head3 $message->status
+=cut
+
=head3 $message->time_queued
+=cut
+
=head3 $message->to_address
+=cut
+
=head3 $message->from_address
+=cut
+
=head3 $message->content_type
=cut