[Koha-patches] [PATCH] [3.0.x](bug #3242) send email when hold is placed
Nahuel ANGELINETTI
nahuel.angelinetti at biblibre.com
Fri Aug 28 15:54:32 CEST 2009
This patch applies on head too.
Le Fri, 28 Aug 2009 15:21:36 +0200,
Nahuel ANGELINETTI <nahuel.angelinetti at biblibre.com> a écrit :
> This add a new letter in database, and each time a new hold is
> placed, a new mail is enqueued. ---
> C4/Reserves.pm | 29
> +++++++++++++++++++++++++++++
> installer/data/mysql/updatedatabase30.pl | 7 +++++++ 2 files
> changed, 36 insertions(+), 0 deletions(-)
>
> diff --git a/C4/Reserves.pm b/C4/Reserves.pm
> index c0c51e9..0068b5b 100644
> --- a/C4/Reserves.pm
> +++ b/C4/Reserves.pm
> @@ -26,6 +26,7 @@ package C4::Reserves;
> use strict;
> use C4::Context;
> use C4::Biblio;
> +use C4::Members;
> use C4::Items;
> use C4::Search;
> use C4::Circulation;
> @@ -170,6 +171,33 @@ sub AddReserve {
> $found, $waitingdate
> );
>
> + # Send e-mail to librarian if syspref is active
> + if(C4::Context->preference("emailLibrarianWhenHoldIsPlaced")){
> + my $borrower = GetMemberDetails($borrowernumber);
> + my $biblio = GetBiblioData($biblionumber);
> + my $letter = C4::Letters::getletter( 'reserves',
> 'HOLDPLACED');
> + my $admin_email_address =
> C4::Context->preference('KohaAdminEmailAddress'); +
> + my %keys = (%$borrower, %$biblio);
> + foreach my $key (keys %keys) {
> + my $replacefield = "<<$key>>";
> + $letter->{content} =~ s/$replacefield/$keys{$key}/g;
> + $letter->{title} =~ s/$replacefield/$keys{$key}/g;
> + }
> +
> + C4::Letters::EnqueueLetter(
> + { letter => $letter,
> + borrowernumber =>
> $borrowernumber,
> + message_transport_type => 'email',
> + from_address =>
> $admin_email_address,
> + to_address =>
> $admin_email_address,
> + }
> + );
> +
> +
> + }
> +
> +
> #}
> ($const eq "o" || $const eq "e") or return; # FIXME: why not
> have a useful return value? $query = qq/
> @@ -182,6 +210,7 @@ sub AddReserve {
> foreach (@$bibitems) {
> $sth->execute($borrowernumber, $biblionumber, $resdate, $_);
> }
> +
> return; # FIXME: why not have a useful return value?
> }
>
> diff --git a/installer/data/mysql/updatedatabase30.pl
> b/installer/data/mysql/updatedatabase30.pl index 6330cbb..171dd92
> 100644 --- a/installer/data/mysql/updatedatabase30.pl
> +++ b/installer/data/mysql/updatedatabase30.pl
> @@ -338,6 +338,13 @@ if (C4::Context->preference("Version") <
> TransformToNum($DBversion)) { SetVersion ($DBversion);
> }
>
> +$DBversion = '3.00.03.001';
> +if (C4::Context->preference('Version') < TransformToNum($DBversion)){
> + $dbh->do("
> + INSERT INTO `letter` (module, code, name, title,
> content) VALUES('reserves', 'HOLDPLACED', 'Hold Placed on
> Item', 'Hold Placed on Item','An hold has been placed on the
> following item : <<title>> (<<biblionumber>>) by the user
> <<firstname>> <<surname>> (<<cardnumber>>).');
> + ");
> +}
> +
> =item DropAllForeignKeys($table)
>
> Drop all foreign keys of the table $table
--
Nahuel ANGELINETTI
More information about the Koha-patches
mailing list