162 |
|
|
163 |
while ( my $entry = $self->next ) { |
while ( my $entry = $self->next ) { |
164 |
my $model_obj = Jifty->app_class('Model',$model)->new; |
my $model_obj = Jifty->app_class('Model',$model)->new; |
|
#warn dump( $model_obj ); |
|
165 |
my $additional; |
my $additional; |
166 |
$self->model_from_entry( $model_obj, $entry, %$additional ); |
$self->model_from_entry( $model_obj, $entry, %$additional ); |
167 |
$collection->add_record( $model_obj ); |
$collection->add_record( $model_obj ); |
182 |
|
|
183 |
$ldap->model_from_entry( $model, $entry, $additional ); |
$ldap->model_from_entry( $model, $entry, $additional ); |
184 |
|
|
185 |
|
This method will join repeatable attributes by magic marker, |
186 |
|
see C<XXX> in code! |
187 |
|
|
188 |
=cut |
=cut |
189 |
|
|
190 |
sub model_from_entry { |
sub model_from_entry { |
196 |
|
|
197 |
foreach my $attr ( $entry->attributes ) { |
foreach my $attr ( $entry->attributes ) { |
198 |
if ( grep(/^\Q$attr\E$/, @columns ) ) { |
if ( grep(/^\Q$attr\E$/, @columns ) ) { |
199 |
$data->{$attr} = $entry->get_value( $attr ); |
# $data->{$attr} = $entry->get_value( $attr ); |
200 |
|
my @var = $entry->get_value( $attr ); |
201 |
|
# warn "--- $attr = ",dump( @var ); |
202 |
|
# XXX this rolls repeatable values into single field |
203 |
|
my $var = join(' <*> ', @var); |
204 |
|
$data->{$attr} = $var; |
205 |
# } elsif ( $attr !~ m/^(objectClass)$/i ) { |
# } elsif ( $attr !~ m/^(objectClass)$/i ) { |
206 |
} else { |
} else { |
207 |
Jifty->log->warn(ref($model)," doesn't have $attr"); |
Jifty->log->warn(ref($model)," doesn't have $attr"); |