use C4::Members::Attributes;
use C4::Members::AttributeTypes;
use C4::Members::Messaging;
+use C4::Dates;
use C4::Auth qw(checkpw_internal);
use Koha::AuthUtils qw(hash_password);
use List::MoreUtils qw( any );
@mapkeys = grep {defined $mapping{$_}->{is}} @mapkeys;
$debug and print STDERR "Got ", scalar(@mapkeys), " ldap mapkeys (populated): ", join ' ', @mapkeys, "\n";
+my %categorycode_conversions;
+my $default_categorycode;
+if(defined $ldap->{categorycode_mapping}) {
+ $default_categorycode = $ldap->{categorycode_mapping}->{default};
+ foreach my $cat (@{$ldap->{categorycode_mapping}->{categorycode}}) {
+ $categorycode_conversions{$cat->{value}} = $cat->{content};
+ }
+}
+
my %config = (
anonymous => ($ldapname and $ldappassword) ? 0 : 1,
replicate => defined($ldap->{replicate}) ? $ldap->{replicate} : 1, # add from LDAP to Koha database for new user
. substr($borrower{ 'surname' },0,1)
. " ");
+ # Date and categorycode conversions
+ $borrower{'dateexpiry'} = C4::Dates->new($borrower{'dateexpiry'},'sql')->output('iso') if $borrower{'dateexpiry'};
+ $borrower{'dateofbirth'} = C4::Dates->new($borrower{'dateofbirth'},'sql')->output('iso') if $borrower{'dateofbirth'};
+ $borrower{'dateenrolled'} = C4::Dates->new($borrower{'dateenrolled'},'sql')->output('iso') if $borrower{'dateenrolled'};
+
+ if(defined $categorycode_conversions{$borrower{categorycode}}) {
+ $borrower{categorycode} = $categorycode_conversions{$borrower{categorycode}};
+ }
+ elsif($default_categorycode) {
+ $borrower{categorycode} = $default_categorycode;
+ }
+
# check if categorycode exists, if not, fallback to default from koha-conf.xml
my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare("SELECT categorycode FROM categories WHERE categorycode = ?");