Browse Source

Bug 27860: Fix self-registration if messages with incorrect email are inqueued

If the pref KohaAdminEmailAddress was not set correctly (invalid email)
and has been used to generate message, the message_queue table can contain
some messages that are not sent (pending) and will be processed each
time a new self-reg is done.
The PatronSelfRegistrationVerifyByEmail feature must send only the
notice we just generated, not the whole pending queue.

Test plan:
1. Do not apply the patches
2. Set KohaAdminEmailAddress to an invalid email (root@localhost for
instance)
3. Turn on PatronSelfRegistrationVerifyByEmail
4. Self-reg a patron
5. Boom (that must be fixed on a separate bug report)
6. Set KohaAdminEmailAddress to a valid email (root@example.org)
7. Self-reg a patron
8. Still Boom! (because it's processing the first invalid email)
9. Apply the patches, restart_all
10. Self-reg a patron
=> The email is sent!
Notice the change in DB, the first email is still there with status
"pending" and second email is sent!

QA: at step 10. TODO first email must be 'failed' (highlight in tests)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
master
Jonathan Druart 1 month ago
parent
commit
87eaaf302c
1 changed files with 2 additions and 4 deletions
  1. +2
    -4
      opac/opac-memberentry.pl

+ 2
- 4
opac/opac-memberentry.pl View File

@@ -197,7 +197,7 @@ if ( $action eq 'create' ) {
},
);

C4::Letters::EnqueueLetter(
my $message_id = C4::Letters::EnqueueLetter(
{
letter => $letter,
message_transport_type => 'email',
@@ -206,9 +206,7 @@ if ( $action eq 'create' ) {
C4::Context->preference('KohaAdminEmailAddress'),
}
);
my $num_letters_attempted = C4::Letters::SendQueuedMessages( {
letter_code => 'OPAC_REG_VERIFY'
} );
C4::Letters::SendQueuedMessages({ message_id => $message_id });
}
else {
( $template, $borrowernumber, $cookie ) = get_template_and_user(


Loading…
Cancel
Save