Changeset 308 for LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Ad/Group.pm
- Timestamp:
- 08/06/09 17:57:36 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Ad/Group.pm
r292 r308 71 71 my %delayed; 72 72 foreach (keys %data) { 73 /^(memberUID|member |sAMAccountName|managedBy)$/ and do {73 /^(memberUID|member)$/ and do { 74 74 $delayed{$_} = $data{$_}; 75 75 next; 76 76 }; 77 $class->_populate_entry($entry, $_, $data{$_} );77 $class->_populate_entry($entry, $_, $data{$_}, $base); 78 78 } 79 79 my $msg = $base->ldap->add($entry); … … 111 111 } 112 112 113 sub _populate_entry { 114 my ($self, $entry, $field, $value, $base) = @_; 115 $base ||= $self->base; 116 for ($field) { 117 /managedBy$/ and do { 118 if ($value && (my $user = $base->get_object('user', $value))) { 119 $value = $user->get_field('dn'); 120 } else { 121 $value = undef; 122 } 123 next; 124 }; 125 /^sAMAccountName$/ and do { 126 # Hack... to avoid clash with user 127 if ($value !~ /^GR-/) { 128 $value = 'GR-' . $value; 129 } 130 next; 131 }; 132 } 133 } 134 113 135 sub set_fields { 114 136 my ($self, %data) = @_; 115 137 my %ndata; 116 138 while (my ($f, $val) = each(%data)) { 117 $f eq 'managedBy' and do {118 if ($val) {119 my $user = $self->base->get_object('user', $val) or next;120 $ndata{$f} = $user->get_field('dn');121 } else {122 $ndata{$f} = undef;123 }124 next;125 };126 139 $f eq 'memberUID' and do { 127 140 my %users; … … 136 149 $self->{entry}->add(memberUID => $_); 137 150 } # else {} # can't happen 138 my $mesg = $self->{entry}->update($self->base->ldap);139 151 } 140 152 next; … … 154 166 } 155 167 next; 156 };157 $f eq 'sAMAccountName' and do {158 # Hack... to avoid clash with user159 if ($val =~ /^GR-/) {160 $ndata{$f} = $val;161 } else {162 $ndata{$f} = 'GR-' . $val;163 }164 next;165 168 }; 166 169 $ndata{$f} = $val;
Note: See TracChangeset
for help on using the changeset viewer.