From 8c78314d69b2d340530ab5570c35fd66c4720e9f Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Fri, 15 Aug 2014 12:45:44 -0400 Subject: [PATCH] Bug 12371 - Links in every patron self-registration email points to a single borrower If multiple registrations are submitted, the first patron to register will be used for the first patron to click the registration confirmation link! Test Plan: 1) Submit 2 new patron registrations 2) Use the confirm link from the 2nd registration 3) Note you end up registering as the first submitted registration 4) Apply the patch 5) Repeat steps 1 and 2 6) Note you are now confirmed correctly Signed-off-by: Chris Cormack Test plan appears to work fine, I have a feeling the sql could be written better but can't come up with it on a Sunday morning Signed-off-by: Katrin Fischer Works as described and fixes a critical bug. Passes tests and QA script. Signed-off-by: Tomas Cohen Arazi Signed-off-by: Galen Charlton (cherry picked from commit 37fae3408b66d5b94f9fa4f4c2e5c02f360a8041) Signed-off-by: Fridolin Somers --- C4/Letters.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Letters.pm b/C4/Letters.pm index 2c4ff83f6e..e24e465962 100644 --- a/C4/Letters.pm +++ b/C4/Letters.pm @@ -583,7 +583,7 @@ sub _parseletter_sth { ($table eq 'aqbooksellers') ? "SELECT * FROM $table WHERE id = ?" : ($table eq 'aqorders' ) ? "SELECT * FROM $table WHERE ordernumber = ?" : ($table eq 'opac_news' ) ? "SELECT * FROM $table WHERE idnew = ?" : - ($table eq 'borrower_modifications') ? "SELECT * FROM $table WHERE borrowernumber = ? OR verification_token =?": + ($table eq 'borrower_modifications') ? "SELECT * FROM $table WHERE ( borrowernumber = 0 OR borrowernumber = ? ) AND ( verification_token = '' OR verification_token = ? ) AND ( verification_token != '' OR borrowernumber != 0 )" : undef ; unless ($query) { warn "ERROR: No _parseletter_sth query for table '$table'"; -- 2.39.5