From 9c77ba695cd9c3c2dc8ceb7b60c9b16d63817fe0 Mon Sep 17 00:00:00 2001
From: Chris Cormack <chrisc@catalyst.net.nz>
Date: Tue, 30 Dec 2014 15:37:39 +1300
Subject: [PATCH] BUg 1861 : There is a problem introduced with an earlier
patch, on this patchset
- $data{'userid'} = Generate_Userid($data{'borrowernumber'},
$data{'firstname'}, $data{'surname'}) if $data{'userid'} eq '';
+ $data{'userid'} = Generate_Userid( $data{'borrowernumber'},
$data{'firstname'}, $data{'surname'} )
+ if ( $data{'userid'} eq '' || Check_Userid( $data{'userid'} ) );
Check_Userid returns 1 if it is unique. So this means unique userids
will always be discarded and new ones created.
This is why all the tests depending on a userid are now failing
To test
1/ run perl t/db_dependent/Serials_2.t
2/ Notice lots of tests fail
3/ OR Add a borrower with a userid set, notice the userid is ignored
and one is generated instead
4/ Apply patch
5/ Add a new borrower, notice the userid sticks (if it is unique)
6/ Run perl t/db_dependent/Serials_2.t notice tests pass
7/ Run perl t/db_dependent/Members.t notice tests still pass
---
C4/Members.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/C4/Members.pm b/C4/Members.pm
index 1611991..e1449df 100644
--- a/C4/Members.pm
+++ b/C4/Members.pm
@@ -856,7 +856,7 @@ sub AddMember {
# generate a proper login if none provided
$data{'userid'} = Generate_Userid( $data{'borrowernumber'}, $data{'firstname'}, $data{'surname'} )
- if ( $data{'userid'} eq '' || Check_Userid( $data{'userid'} ) );
+ if ( $data{'userid'} eq '' || !Check_Userid( $data{'userid'} ) );
# add expiration date if it isn't already there
unless ( $data{'dateexpiry'} ) {
--
2.1.4