Bug 6870 [enh] - allow opac-userupdate.pl to use the patron's email as 'from' address
[koha.git] / opac / opac-userupdate.pl
index 18cafdb..f8273ce 100755 (executable)
@@ -40,7 +40,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
         template_name   => "opac-userupdate.tmpl",
         query           => $query,
         type            => "opac",
-        authnotrequired => 0,
+        authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 ),
         flagsrequired   => { borrow => 1 },
         debug           => 1,
     }
@@ -48,12 +48,13 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
 
 # get borrower information ....
 my ( $borr ) = GetMemberDetails( $borrowernumber );
+my ( $patronemail ) = GetFirstValidEmailAddress($borrowernumber);
 my $lib = GetBranchDetail($borr->{'branchcode'});
 
 # handle the new information....
 # collect the form values and send an email.
 my @fields = (
-    'surname','firstname','othernames','streetnumber','address','address2','city','zipcode','country','phone','mobile','fax','phonepro', 'email','emailpro','B_streetnumber','B_address','B_address2','B_city','B_zipcode','B_country','B_phone','B_email','dateofbirth','sex'
+    'surname','firstname','othernames','streetnumber','address','address2','city','state','zipcode','country','phone','mobile','fax','phonepro', 'emailaddress','emailpro','B_streetnumber','B_address','B_address2','B_city','B_state','B_zipcode','B_country','B_phone','B_email','dateofbirth','sex'
 );
 my $update;
 my $updateemailaddress = $lib->{'branchemail'};
@@ -80,6 +81,10 @@ if ( !$updateemailaddress || $updateemailaddress eq '' ) {
     exit;
 }
 
+if ( !$patronemail || $patronemail eq '' ) {
+       $patronemail = $updateemailaddress;
+};
+
 if ( $query->param('modify') ) {
 
     # get all the fields:
@@ -117,7 +122,7 @@ EOF
     $message .= "\n\nThanks,\nKoha\n\n";
     my %mail = (
         To      => $updateemailaddress,
-        From    => $updateemailaddress,
+        From    => $patronemail,
         Subject => "User Request for update of Record.",
         Message => $message,
         'Content-Type' => 'text/plain; charset="utf8"',