/[A3C]/lib/A3C/Action/SyncOrganization.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /lib/A3C/Action/SyncOrganization.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 66 by dpavlin, Wed Apr 9 23:14:47 2008 UTC revision 106 by dpavlin, Thu May 1 17:06:02 2008 UTC
# Line 12  use base qw/A3C::Action Jifty::Action/; Line 12  use base qw/A3C::Action Jifty::Action/;
12    
13  use A3C::LDAP;  use A3C::LDAP;
14    
15    use Data::Dump qw/dump/;
16    
17  use Jifty::Param::Schema;  use Jifty::Param::Schema;
18  use Jifty::Action schema {  use Jifty::Action schema {
19    
20          param cn =>          param org_uid =>
21                  label is _('Organization'),                  label is _('Organization'),
22                  available are defer {                  available are defer {
23                            my $ldap = A3C::LDAP->new;
24                          my $coll = A3C::Model::OrganizationCollection->new;                          my $coll = A3C::Model::OrganizationCollection->new;
25                          # unlimit, order_by works, other way around doesn't!                          # unlimit, order_by works, other way around doesn't!
26                          $coll->unlimit;                          $coll->unlimit;
27                          $coll->order_by( column => 'cn', order => 'ASC' );                          $coll->order_by( column => $ldap->link->{value_from}, order => 'ASC' );
28                          [{                          [{
29                                  display_from => 'name',                                  display_from => $ldap->link->{display_from},
30                                  value_from => 'cn',                                  value_from => $ldap->{link}->{value_from},
31                                  collection => $coll,                                  collection => $coll,
32                          }];                          }];
33                  },                  },
# Line 44  sub take_action { Line 47  sub take_action {
47    
48          if ( $self->result->success ) {          if ( $self->result->success ) {
49    
                 my $organization = A3C::Model::Organization->new;  
                 my $cn = $self->argument_value( 'cn' );  
                 $organization->load_by_cols( cn => $cn ) or die "can't load organization";  
   
50                  my $ldap = A3C::LDAP->new;                  my $ldap = A3C::LDAP->new;
51                  my $coll = $ldap->collection( 'Person', filter => "(HrEduPersonHomeOrg=$cn)" );                  my $org_uid = $self->argument_value( 'org_uid' );
52                    my $person_filter = $ldap->link->{person_filter};
53    
54                    my $org_class = Jifty->app_class('Model', $ldap->objectClass->{organization} );
55    
56                    my $coll = $ldap->collection( $ldap->objectClass->{person}, filter => "($person_filter=$org_uid)" );
57    
58                  $self->result->content( 'synced-users' => $coll );                  $self->result->content( 'synced-users' => $coll );
59    
60                  $self->result->message( sprintf('Synced %d users from %s (%s)', $coll->count, $organization->name, $cn) );                  $self->result->message( _('Synced %1 users from %2', $coll->count, $org_uid) );
61    
62  #       } else {  #       } else {
63  #               $self->result->error();  #               $self->result->error();

Legend:
Removed from v.66  
changed lines
  Added in v.106

  ViewVC Help
Powered by ViewVC 1.1.26