Bug 7411: Remove diacritics from generated userid

Patch introduces a new module Text::Unaccent.

To test:
1) Add a new patron with diacritics in surname and first name, leave userid empty.
2) Save user and check the created userid has only the base characters and
diacritics have been removed correctly.
3) Create another user with the same surname and first name, check userid
is generated correctly.

Signed-off-by: Dobrica Pavlinusic <dpavlin@rot13.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This commit is contained in:
Katrin Fischer 2012-06-09 18:09:32 +01:00 committed by Paul Poulain
parent 81edc91f37
commit 21fb688276
3 changed files with 4 additions and 0 deletions

View File

@ -38,6 +38,7 @@ use C4::NewsChannels; #get slip news
use DateTime;
use DateTime::Format::DateParse;
use Koha::DateUtils;
use Text::Unaccent qw( unac_string );
our ($VERSION,@ISA,@EXPORT,@EXPORT_OK,$debug);
@ -800,6 +801,7 @@ sub Generate_Userid {
$firstname =~ s/[[:digit:][:space:][:blank:][:punct:][:cntrl:]]//g;
$surname =~ s/[[:digit:][:space:][:blank:][:punct:][:cntrl:]]//g;
$newuid = lc(($firstname)? "$firstname.$surname" : $surname);
$newuid = unac_string('utf-8',$newuid);
$newuid .= $offset unless $offset == 0;
$offset++;

1
debian/control vendored
View File

@ -72,6 +72,7 @@ Build-Depends: libcgi-session-driver-memcached-perl,
libtext-csv-perl,
libtext-csv-xs-perl,
libtext-iconv-perl,
libtext-unaccent-perl,
libuniversal-require-perl,
liburi-perl,
libwww-perl,

View File

@ -83,6 +83,7 @@ libtext-charwidth-perl install
libtext-csv-encoded-perl install
libtext-csv-perl install
libtext-iconv-perl install
libtext-unaccent-perl install
libtext-wrapi18n-perl install
libtimedate-perl install
libtime-duration-perl install