View | Details | Raw Unified | Return to bug 9299
Collapse All | Expand All

(-)a/C4/Auth_with_ldap.pm (-22 / +17 lines)
Lines 170-198 sub checkpw_ldap { Link Here
170
   } else {
170
   } else {
171
        return 0;   # B2, D2
171
        return 0;   # B2, D2
172
    }
172
    }
173
	if (C4::Context->preference('ExtendedPatronAttributes') && $borrowernumber && ($config{update} ||$config{replicate})) {
173
    if (C4::Context->preference('ExtendedPatronAttributes') && $borrowernumber && ($config{update} ||$config{replicate})) {
174
        my $extended_patron_attributes;
174
        my @extended_patron_attributes;
175
        foreach my $attribute_type ( C4::Members::AttributeTypes::GetAttributeTypes() ) {
175
        foreach my $attribute_type ( C4::Members::AttributeTypes::GetAttributeTypes() ) {
176
                my $code = $attribute_type->{code};
176
            my $code = $attribute_type->{code};
177
                if ( exists($borrower{$code}) && $borrower{$code} !~ m/^\s*$/ ) { # skip empty values
177
            if ( exists($borrower{$code}) && $borrower{$code} !~ m/^\s*$/ ) { # skip empty values
178
                        push @$extended_patron_attributes, { code => $code, value => $borrower{$code} };
178
                push @extended_patron_attributes, { code => $code, value => $borrower{$code} };
179
                }
179
            }
180
        }
180
        }
181
		my @errors;
181
        #Check before add
182
		#Check before add
182
        my @unique_attr;
183
		for (my $i; $i< scalar(@$extended_patron_attributes)-1;$i++) {
183
        foreach my $attr ( @extended_patron_attributes ) {
184
			my $attr=$extended_patron_attributes->[$i];
184
            if (C4::Members::Attributes::CheckUniqueness($attr->{code}, $attr->{value}, $borrowernumber)) {
185
			unless (C4::Members::Attributes::CheckUniqueness($attr->{code}, $attr->{value}, $borrowernumber)) {
185
                push @unique_attr, $attr;
186
				unshift @errors, $i;
186
            } else {
187
				warn "ERROR_extended_unique_id_failed $attr->{code} $attr->{value}";
187
                warn "ERROR_extended_unique_id_failed $attr->{code} $attr->{value}";
188
			}
188
            }
189
		}
189
        }
190
		#Removing erroneous attributes
190
        C4::Members::Attributes::SetBorrowerAttributes($borrowernumber, \@unique_attr);
191
		foreach my $index (@errors){
191
    }
192
			@$extended_patron_attributes=splice(@$extended_patron_attributes,$index,1);
193
		}
194
           C4::Members::Attributes::SetBorrowerAttributes($borrowernumber, $extended_patron_attributes);
195
  	}
196
return(1, $cardnumber, $userid);
192
return(1, $cardnumber, $userid);
197
}
193
}
198
194
199
- 

Return to bug 9299