Bug 14625 - LDAP: skip extended patron attributes in 'borrowers' attribute update

* Any extended patron attributes will cause the update to fail as those attributes don't exist in the 'borrowers' table
* The update of the extended patron attributes is already dealt with in checkpw_ldap()
* Ergo: just skip those attributes here

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
I did not test this patch but code looks good

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 4c631a0824)
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
This commit is contained in:
Oliver Bock 2015-11-30 13:57:58 +01:00 committed by Katrin Fischer
parent b6a35d74be
commit f5fbf222f4
1 changed files with 9 additions and 0 deletions

View File

@ -350,7 +350,16 @@ sub update_local {
my $borrowerid = shift or croak "No borrowerid";
my $borrower = shift or croak "No borrower record";
# 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};
@keys = grep { $_ ne $code } @keys;
$debug and printf STDERR "ignoring extended patron attribute '%s' in update_local()\n", $code;
}
}
my $dbh = C4::Context->dbh;
my $query = "UPDATE borrowers\nSET " .
join(',', map {"$_=?"} @keys) .