From: Dobrica Pavlinusic <[email protected]>

When importing users from LDAP, Auth_with_ldap.pm doesn't check if value for
categorycode is present in categories table in Koha resulting in referential
integrity error instead of using default value from koha-conf.xml

Signed-off-by: Chris Cormack <[email protected]>
---
 C4/Auth_with_ldap.pm |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/C4/Auth_with_ldap.pm b/C4/Auth_with_ldap.pm
index acbd923..ef4a732 100644
--- a/C4/Auth_with_ldap.pm
+++ b/C4/Auth_with_ldap.pm
@@ -221,6 +221,19 @@ sub ldap_entry_2_hash ($$) {
                ( substr($borrower{'firstname'},0,1)
                . substr($borrower{ 'surname' },0,1)
                . " ");
+
+       # XXX 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 
upper(categorycode) = upper(?)");
+       $sth->execute( $borrower{'categorycode'} );
+       if ( my $row = $sth->fetchrow_hashref ) {
+
+       } else {
+               my $default = $mapping{'categorycode'}->{content};
+               warn "Can't find ", $borrower{'categorycode'}, " default to: 
$default for ", $borrower{userid};
+               $borrower{'categorycode'} = $default
+       }
+
        return %borrower;
 }
 
-- 
1.7.4.1

_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to