Bug 25109: (QA follow-up) Fix typo in configuration entry name
[srvgit] / C4 / Auth_with_ldap.pm
index cc05550..36b9071 100644 (file)
@@ -22,8 +22,6 @@ use Carp;
 
 use C4::Debug;
 use C4::Context;
-use C4::Members::Attributes;
-use C4::Members::AttributeTypes;
 use C4::Members::Messaging;
 use C4::Auth qw(checkpw_internal);
 use Koha::Patrons;
@@ -233,8 +231,10 @@ sub checkpw_ldap {
         return 0;   # B2, D2
     }
     if (C4::Context->preference('ExtendedPatronAttributes') && $borrowernumber && ($config{update} ||$config{replicate})) {
-        foreach my $attribute_type ( C4::Members::AttributeTypes::GetAttributeTypes() ) {
-            my $code = $attribute_type->{code};
+        my $library_id = C4::Context->userenv ? C4::Context->userenv->{'branch'} : undef;
+        my $attribute_types = Koha::Patron::Attribute::Types->search_with_library_limits({}, {}, $library_id);
+        while ( my $attribute_type = $attribute_types->next ) {
+            my $code = $attribute_type->code;
             unless (exists($borrower{$code}) && $borrower{$code} !~ m/^\s*$/ ) {
                 next;
             }
@@ -242,7 +242,7 @@ sub checkpw_ldap {
             if ( $patron ) { # Should not be needed, but we are in C4::Auth LDAP...
                 eval {
                     my $attribute = Koha::Patron::Attribute->new({code => $code, attribute => $borrower{$code}});
-                    $patron->extended_attributes([$attribute]);
+                    $patron->extended_attributes([$attribute->unblessed]);
                 };
                 if ($@) { # FIXME Test if Koha::Exceptions::Patron::Attribute::NonRepeatable
                     warn "ERROR_extended_unique_id_failed $code $borrower{$code}";
@@ -375,8 +375,10 @@ sub update_local {
     # skip extended patron attributes in 'borrowers' attribute update
     my @keys = keys %$borrower;
     if (C4::Context->preference('ExtendedPatronAttributes')) {
-        foreach my $attribute_type ( C4::Members::AttributeTypes::GetAttributeTypes() ) {
-           my $code = $attribute_type->{code};
+        my $library_id = C4::Context->userenv ? C4::Context->userenv->{'branch'} : undef;
+        my $attribute_types = Koha::Patron::Attribute::Types->search_with_library_limits({}, {}, $library_id);
+        while ( my $attribute_type = $attribute_types->next ) {
+           my $code = $attribute_type->code;
            @keys = grep { $_ ne $code } @keys;
            $debug and printf STDERR "ignoring extended patron attribute '%s' in update_local()\n", $code;
         }