From: Pami Ketolainen Date: Thu, 25 Jul 2013 11:00:08 +0000 (+0200) Subject: Bug 889403: syncLDAP.pl does not rederive regexp groups when updating login name X-Git-Tag: bugzilla-4.5.1~116 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=df25a5bb5ce5b30caff910d059f84a54abbded86;p=thirdparty%2Fbugzilla.git Bug 889403: syncLDAP.pl does not rederive regexp groups when updating login name r=LpSolit a=sgreen --- diff --git a/contrib/syncLDAP.pl b/contrib/syncLDAP.pl index ec0839ed5b..6ad96477bb 100755 --- a/contrib/syncLDAP.pl +++ b/contrib/syncLDAP.pl @@ -240,22 +240,15 @@ if($readonly == 0) { print "Phase 2: updating existing users... " unless $quiet; - my $sth_update_login = $dbh->prepare( - 'UPDATE profiles - SET login_name = ? - WHERE ' . $dbh->sql_istrcmp('login_name', '?')); - my $sth_update_realname = $dbh->prepare( - 'UPDATE profiles - SET realname = ? - WHERE ' . $dbh->sql_istrcmp('login_name', '?')); - if($noupdate == 0) { while( my ($key, $value) = each(%update_users) ) { + my $user = Bugzilla::User->check($key); if(defined $value->{'new_login_name'}) { - $sth_update_login->execute($value->{'new_login_name'}, $key); + $user->set_login($value->{'new_login_name'}); } else { - $sth_update_realname->execute($value->{'realname'}, $key); + $user->set_name($value->{'realname'}); } + $user->update(); } print "done!\n" unless $quiet; }