[Koha-patches] [PATCH] bug-2149, added new block to C4::Letters::SendAlerts() to email 'account creation' notice, and new block in memberentry.pl to call SendAlerts().
Mason James
mason.loves.sushi at gmail.com
Thu May 22 11:23:14 CEST 2008
---
C4/Letters.pm | 17 +++++++++++++++++
members/memberentry.pl | 33 ++++++++++++++++++++++++++++++---
2 files changed, 47 insertions(+), 3 deletions(-)
diff --git a/C4/Letters.pm b/C4/Letters.pm
index 85c7a85..4002bbd 100644
--- a/C4/Letters.pm
+++ b/C4/Letters.pm
@@ -434,6 +434,23 @@ sub SendAlerts {
}
warn
"sending to From $userenv->{emailaddress} subj $innerletter->{title} Mess $innerletter->{content}";
+ }
+ # send an "account details" notice to a newly created user
+ elsif ( $type eq 'members' ) {
+ $letter->{content} =~ s/<<borrowers.title>>/$externalid->{'title'}/g;
+ $letter->{content} =~ s/<<borrowers.firstname>>/$externalid->{'firstname'}/g;
+ $letter->{content} =~ s/<<borrowers.surname>>/$externalid->{'surname'}/g;
+ $letter->{content} =~ s/<<borrowers.cardnumber>>/$externalid->{'cardnumber'}/g;
+ $letter->{content} =~ s/<<borrowers.password>>/$externalid->{'password'}/g;
+
+ my %mail = (
+ To => $externalid->{'emailaddr'},
+ From => C4::Context->preference("KohaAdminEmailAddress"),
+ Subject => $letter->{'title'},
+ Message => $letter->{'content'},
+ 'Content-Type' => 'text/plain; charset="utf8"',
+ );
+ sendmail(%mail);
}
}
diff --git a/members/memberentry.pl b/members/memberentry.pl
index 3ee30c6..9d282cd 100755
--- a/members/memberentry.pl
+++ b/members/memberentry.pl
@@ -35,10 +35,9 @@ use C4::Koha;
use C4::Dates qw/format_date format_date_in_iso/;
use C4::Input;
use C4::Log;
+use C4::Letters;
use C4::Branch; # GetBranches
-#use Smart::Comments;
-
use vars qw($debug);
BEGIN {
@@ -240,7 +239,35 @@ if ((!$nok) and ($op eq 'insert' or $op eq 'save')){
$debug and warn "$op dates: " . join "\t", map {"$_: $newdata{$_}"} qw(dateofbirth dateenrolled dateexpiry);
if ($op eq 'insert'){
# we know it's not a duplicate borrowernumber or there would already be an error
- $borrowernumber = &AddMember(%newdata);
+ $borrowernumber = &AddMember(%newdata);
+
+ # If 'AutoEmailOpacUser' syspref is on, email user their account details from the 'notice' that matches the user's branchcode.
+ if ( C4::Context->preference("AutoEmailOpacUser") == 1 && $newdata{'userid'} && $newdata{'password'}) {
+ #look for defined primary email address, if blank - attempt to use borr.email and borr.emailpro instead
+ my $emailaddr;
+ if (C4::Context->preference("AutoEmailPrimaryAddress") ne 'OFF' &&
+ $newdata{C4::Context->preference("AutoEmailPrimaryAddress")} =~ /\w\@\w/ ) {
+ $emailaddr = $newdata{C4::Context->preference("AutoEmailPrimaryAddress")}
+ }
+ elsif ($newdata{email} =~ /\w\@\w/) {
+ $emailaddr = $newdata{email}
+ }
+ elsif ($newdata{emailpro} =~ /\w\@\w/) {
+ $emailaddr = $newdata{emailpro}
+ }
+ elsif ($newdata{B_email} =~ /\w\@\w/) {
+ $emailaddr = $newdata{B_email}
+ }
+ # if we manage to find a valid email address, send notice
+ if ($emailaddr) {
+ $newdata{emailaddr} = $emailaddr;
+ my $letter = getletter ('members', "ACCTDETAILS:$newdata{'branchcode'}") ;
+ # if $branch notice fails, then email a default notice instead.
+ $letter = getletter ('members', "ACCTDETAILS") if !$letter;
+ SendAlerts ( 'members' , \%newdata , $letter ) if $letter
+ }
+ }
+
if ($data{'organisations'}){
# need to add the members organisations
my @orgs=split(/\|/,$data{'organisations'});
--
1.5.4.2
More information about the Koha-patches
mailing list