# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
-use C4::Auth;
-use C4::Output;
+use C4::Auth qw( get_template_and_user );
+use C4::Output qw( output_and_exit_if_error output_and_exit output_html_with_http_headers );
use CGI qw ( -utf8 );
use C4::Members;
-use C4::Letters;
-use C4::Members::Attributes qw(GetBorrowerAttributes);
+use C4::Letters qw( GetPreparedLetter EnqueueLetter );
use Koha::Patrons;
use Koha::Patron::Categories;
+use Koha::Patron::Password::Recovery qw( SendPasswordRecoveryEmail ValidateBorrowernumber );
-my $input=new CGI;
+my $input=CGI->new;
my $borrowernumber = $input->param('borrowernumber');
my ($template, $loggedinuser, $cookie)= get_template_and_user({template_name => "members/notices.tt",
query => $input,
type => "intranet",
- authnotrequired => 0,
flagsrequired => {borrowers => 'edit_borrowers'},
- debug => 1,
});
-my $logged_in_user = Koha::Patrons->find( $loggedinuser ) or die "Not logged in";
+my $logged_in_user = Koha::Patrons->find( $loggedinuser );
output_and_exit_if_error( $input, $cookie, $template, { module => 'members', logged_in_user => $logged_in_user, current_patron => $patron } );
# Allow resending of messages in Notices tab
}
}
-# Getting the messages
-my $queued_messages = C4::Letters::GetQueuedMessages({borrowernumber => $borrowernumber});
+if ( $op eq 'send_welcome' ) {
+ my $emailaddr = $patron->notice_email_address;
+
+ # if we manage to find a valid email address, send notice
+ if ($emailaddr) {
+ eval {
+ my $letter = GetPreparedLetter(
+ module => 'members',
+ letter_code => 'WELCOME',
+ branchcode => $patron->branchcode,,
+ lang => $patron->lang || 'default',
+ tables => {
+ 'branches' => $patron->branchcode,
+ 'borrowers' => $patron->borrowernumber,
+ },
+ want_librarian => 1,
+ ) or return;
+
+ my $message_id = EnqueueLetter(
+ {
+ letter => $letter,
+ borrowernumber => $patron->id,
+ to_address => $emailaddr,
+ message_transport_type => 'email'
+ }
+ );
+ };
+ }
-if (C4::Context->preference('ExtendedPatronAttributes')) {
- my $attributes = GetBorrowerAttributes($borrowernumber);
- $template->param(
- ExtendedPatronAttributes => 1,
- extendedattributes => $attributes
- );
+ # redirect to self to avoid form submission on refresh
+ print $input->redirect("/cgi-bin/koha/members/notices.pl?borrowernumber=$borrowernumber");
}
+if ( $op eq 'send_password_reset' ) {
+
+ my $emailaddr = $patron->notice_email_address;
+
+ if ($emailaddr) {
+
+ # send staff initiated password recovery
+ SendPasswordRecoveryEmail( $patron, $emailaddr, 1 );
+ }
+
+ # redirect to self to avoid form submission on refresh
+ print $input->redirect(
+ "/cgi-bin/koha/members/notices.pl?borrowernumber=$borrowernumber");
+}
+
+# Getting the messages
+my $queued_messages = C4::Letters::GetQueuedMessages({borrowernumber => $borrowernumber});
+
$template->param(
patron => $patron,
QUEUED_MESSAGES => $queued_messages,