[rt-users] RT3.6.5 / LDAP / User Fields not updated

ROBERT David drobert at generix.fr
Fri Feb 22 12:00:48 EST 2008


Ok I fumbled around a bit and came with a code in User_Local.pm that looks like this:

            foreach my $key (sort(keys(%args))) {
                next unless $args{$key};
                my $method = "Set$key";
#               $self->$method($args{$key});
                my $power_user = RT::User->new($RT::SystemUser);
                $power_user->Load($self->Name);
                my ($method_success,$method_msg) = $power_user->$method($args{$key});
                if (!$method_success) {
                        $RT::Logger->debug("$method Failed. $method_msg");
                }

            }

Now if I update any of the fields mapped in RT from LDAP as defined in RT_SiteConfig.pm, it gets updated in RT. But - because there's a 'but' - if I set one of those fields to blank in AD, it does not get blanked in RT. 

At first I thought it was limited to some fields (I tried 1st with FreeformContactInfo) but it's consistent with all fields: You can modify a field in AD and it gets updated in RT. But if the modification you want is to simply blank a field it won't work. That is, you can change a field from "ABC" to "AB" or "XYZ" but you cannot change a field from "ABC" to "". :(

I seems that RT considers that if a field in filled in its database but that the AD field is empty there's nothing to do at all.

Where should I look?

____________________________________________________________________
David ROBERT  *  Responsable Département IT
Direction Support et Hébergement GENERIX Group
Tel : +33 (0)3 20 41 48 35  *  Mob : +33 (0)6 19 73 00 13
Ext : 1835  *  drobert at generix.fr





More information about the rt-users mailing list