33 |
} |
} |
34 |
} else { |
} else { |
35 |
|
|
36 |
Jifty->log->info( 'syncing all organizations and users' ); |
my $person_oc = $ldap->objectClass->{person}; |
37 |
|
my $org_oc = $ldap->objectClass->{organization}; |
38 |
|
|
39 |
my $orgs = $ldap->collection( 'Organization', limit => $limit ); |
Jifty->log->info( "syncing all $org_oc organizations and $person_oc persons" ); |
40 |
|
|
41 |
|
my $orgs = $ldap->collection( $org_oc , limit => $limit ); |
42 |
|
|
43 |
my $o_nr = 1; |
my $o_nr = 1; |
44 |
|
|
45 |
|
my $value_from = $ldap->link->{value_from}; |
46 |
|
|
47 |
while ( my $o = $orgs->next ) { |
while ( my $o = $orgs->next ) { |
48 |
Jifty->log->info( 'sync organization ', $o_nr++, '/', $orgs->count, ' ', $o->name ); |
Jifty->log->info( 'sync organization ', $o_nr++, '/', $orgs->count, ' ', $o->name ); |
49 |
|
if ( ! $o->can( $value_from ) ) { |
50 |
|
warn "can't find $value_from in ",dump( $o->as_hash ); |
51 |
|
next; |
52 |
|
} |
53 |
|
my $org_uid = $o->$value_from || warn "can't find org_uid in $value_from in ",dump( $o->as_hash ); |
54 |
my $action = Jifty->web->new_action( |
my $action = Jifty->web->new_action( |
55 |
class => 'SyncOrganization', |
class => 'SyncOrganization', |
56 |
moniker => 'sync', |
moniker => 'sync', |
57 |
arguments => { |
arguments => { |
58 |
cn => $o->cn, |
org_uid => $org_uid, |
59 |
} |
} |
60 |
); |
); |
61 |
$action->run; |
$action->run; |