+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
+my $op = $input->param('op') || q{};
+if ( $op eq 'resend_notice' ) {
+ my $message_id = $input->param('message_id');
+ my $message = C4::Letters::GetMessage( $message_id );
+ if ( $message->{borrowernumber} = $borrowernumber ) {
+ C4::Letters::ResendMessage( $message_id );
+ # redirect to self to avoid form submission on refresh
+ print $input->redirect("/cgi-bin/koha/members/notices.pl?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'
+ }
+ );
+ };
+ }
+
+ # 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");
+}