[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:21:36 CEST 2009
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
--
1.6.0.4
More information about the Koha-patches
mailing list