[Koha-patches] [PATCH] [PATCH][bug #2757][HEAD] change the opac login generation
Nahuel Angelinetti
nahuel.angelinetti at biblibre.com
Tue Dec 2 11:24:30 CET 2008
This patch change the method used to generate a new login for a user when his informations are modified(memberentry.pl).
Before the login are generated with the first letter of lastname and the 9 first letter of the surname, and do not verify the
login already exist).
Now the login will be lastname.surnameX, where X is an incremented digit if the login already exists.
---
C4/Members.pm | 34 +++++++++++++++++++++++++---------
members/memberentry.pl | 6 +-----
2 files changed, 26 insertions(+), 14 deletions(-)
diff --git a/C4/Members.pm b/C4/Members.pm
index 7ee9eb3..49a29cc 100644
--- a/C4/Members.pm
+++ b/C4/Members.pm
@@ -97,15 +97,16 @@ BEGIN {
);
#Check data
- push @EXPORT, qw(
- &checkuniquemember
- &checkuserpassword
- &Check_Userid
- &fixEthnicity
- ðnicitycategories
- &fixup_cardnumber
- &checkcardnumber
- );
+ push @EXPORT, qw(
+ &checkuniquemember
+ &checkuserpassword
+ &Check_Userid
+ &Generate_Userid
+ &fixEthnicity
+ ðnicitycategories
+ &fixup_cardnumber
+ &checkcardnumber
+ );
}
=head1 NAME
@@ -799,6 +800,21 @@ sub Check_Userid {
}
}
+sub Generate_Userid {
+ my ($borrowernumber, $firstname, $surname) = @_;
+ my $newuid;
+ my $offset = 0;
+ do {
+ $firstname =~ s/[[:digit:][:space:][:blank:][:punct:][:cntrl:]]//g;
+ $surname =~ s/[[:digit:][:space:][:blank:][:punct:][:cntrl:]]//g;
+ $newuid = lc("$firstname.$surname");
+ $newuid .= $offset unless $offset == 0;
+ $offset++;
+
+ } while (!Check_Userid($newuid,$borrowernumber));
+
+ return $newuid;
+}
sub changepassword {
my ( $uid, $member, $digest ) = @_;
diff --git a/members/memberentry.pl b/members/memberentry.pl
index 3a97e89..7bc41e8 100755
--- a/members/memberentry.pl
+++ b/members/memberentry.pl
@@ -181,13 +181,10 @@ if ($guarantorid eq '') {
#builds default userid
if ( (defined $newdata{'userid'}) && ($newdata{'userid'} eq '')){
- my $onefirstnameletter = substr($data{'firstname'},0,1);
- my $fivesurnameletter = substr($data{'surname'} ,0,9);
- $newdata{'userid'}=lc($onefirstnameletter.$fivesurnameletter);
+ $newdata{'userid'} = Generate_Userid($borrowernumber, $newdata{'firstname'}, $newdata{'surname'});
}
$debug and warn join "\t", map {"$_: $newdata{$_}"} qw(dateofbirth dateenrolled dateexpiry);
-my $loginexist = 0;
my $extended_patron_attributes = ();
if ($op eq 'save' || $op eq 'insert'){
if (checkcardnumber($newdata{cardnumber},$newdata{borrowernumber})){
@@ -214,7 +211,6 @@ if ($op eq 'save' || $op eq 'insert'){
# Check if the userid is unique
unless (Check_Userid($newdata{'userid'},$borrowernumber)) {
push @errors, "ERROR_login_exist";
- $loginexist=1;
}
my $password = $input->param('password');
--
1.5.6.3
More information about the Koha-patches
mailing list