|
@@ -310,16 +310,16 @@ func (syncJob *SyncJob) Run() {
|
|
|
}
|
|
|
|
|
|
log.Println("Retrieving teachers from LDAP...")
|
|
|
- entries, err := ldapClient.Users("ou=Docenti,ou=Persone,dc=carducci-dante,dc=gov,dc=it")
|
|
|
+ entries, err := ldapClient.Users(syncJob.conf.Sync.TeachersSearchBase)
|
|
|
if err != nil {
|
|
|
log.Println(err)
|
|
|
}
|
|
|
|
|
|
log.Println("Retrieving Departments...")
|
|
|
- departments, err := karmenClient.GetDepartments()
|
|
|
- if err != nil {
|
|
|
- log.Println(err)
|
|
|
- }
|
|
|
+ // // departments, err := karmenClient.GetDepartments()
|
|
|
+ // // if err != nil {
|
|
|
+ // // log.Println(err)
|
|
|
+ // // }
|
|
|
|
|
|
users := make([]orm.User, 0)
|
|
|
for _, teacher := range teachers {
|
|
@@ -331,38 +331,60 @@ func (syncJob *SyncJob) Run() {
|
|
|
} else {
|
|
|
log.Println(result)
|
|
|
}
|
|
|
+ // log.Println("Sync 'Docenti' group...")
|
|
|
+ // if result, err := syncJob.SyncGroup(ldapClient, users, "cn=Docenti"); err != nil {
|
|
|
+ // panic(err)
|
|
|
+ // } else {
|
|
|
+ // log.Println(result)
|
|
|
+ // }
|
|
|
+
|
|
|
+ // log.Println("Sync 'Tutti i docenti' ML...")
|
|
|
+ // if result, err := syncJob.SyncGroup(ldapClient, users, "cn=Tutti i docenti,ou=Mailing Lists"); err != nil {
|
|
|
+ // panic(err)
|
|
|
+ // } else {
|
|
|
+ // log.Println(result)
|
|
|
+ // }
|
|
|
+
|
|
|
+ // log.Println("Sync Departments and MLs...")
|
|
|
+ // for _, department := range departments {
|
|
|
+ // users := make([]orm.User, 0)
|
|
|
+ // for _, teacher := range department.Teachers {
|
|
|
+ // users = append(users, teacher)
|
|
|
+ // }
|
|
|
+ // group := fmt.Sprintf("cn=%s,ou=Mailing Lists", department.Name)
|
|
|
+ // if result, err := syncJob.SyncGroup(ldapClient, users, group); err != nil {
|
|
|
+ // panic(err)
|
|
|
+ // } else {
|
|
|
+ // log.Println(result)
|
|
|
+ // }
|
|
|
+ // group = fmt.Sprintf("cn=%s,ou=Dipartimenti", department.Name)
|
|
|
+ // if result, err := syncJob.SyncGroup(ldapClient, users, group); err != nil {
|
|
|
+ // panic(err)
|
|
|
+ // } else {
|
|
|
+ // log.Println(result)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
+ administratives, err := karmenClient.GetAdministratives()
|
|
|
+ if err != nil {
|
|
|
+ log.Println(err)
|
|
|
+ }
|
|
|
|
|
|
- log.Println("Sync 'Docenti' group...")
|
|
|
- if result, err := syncJob.SyncGroup(ldapClient, users, "cn=Docenti"); err != nil {
|
|
|
- panic(err)
|
|
|
- } else {
|
|
|
- log.Println(result)
|
|
|
+ log.Println("Retrieving administratives from LDAP...")
|
|
|
+ entries, err = ldapClient.Users(syncJob.conf.Sync.AdministrativesSearchBase)
|
|
|
+ if err != nil {
|
|
|
+ log.Println(err)
|
|
|
}
|
|
|
|
|
|
- log.Println("Sync 'Tutti i docenti' ML...")
|
|
|
- if result, err := syncJob.SyncGroup(ldapClient, users, "cn=Tutti i docenti,ou=Mailing Lists"); err != nil {
|
|
|
+ users = make([]orm.User, 0)
|
|
|
+ for _, administrative := range administratives {
|
|
|
+ users = append(users, administrative)
|
|
|
+ }
|
|
|
+ log.Println("Sync administratives...")
|
|
|
+ if result, err := syncJob.SyncUsers(ldapClient, karmenClient, entries, users); err != nil {
|
|
|
panic(err)
|
|
|
} else {
|
|
|
log.Println(result)
|
|
|
}
|
|
|
|
|
|
- log.Println("Sync Departments and MLs...")
|
|
|
- for _, department := range departments {
|
|
|
- users := make([]orm.User, 0)
|
|
|
- for _, teacher := range department.Teachers {
|
|
|
- users = append(users, teacher)
|
|
|
- }
|
|
|
- group := fmt.Sprintf("cn=%s,ou=Mailing Lists", department.Name)
|
|
|
- if result, err := syncJob.SyncGroup(ldapClient, users, group); err != nil {
|
|
|
- panic(err)
|
|
|
- } else {
|
|
|
- log.Println(result)
|
|
|
- }
|
|
|
- group = fmt.Sprintf("cn=%s,ou=Dipartimenti", department.Name)
|
|
|
- if result, err := syncJob.SyncGroup(ldapClient, users, group); err != nil {
|
|
|
- panic(err)
|
|
|
- } else {
|
|
|
- log.Println(result)
|
|
|
- }
|
|
|
- }
|
|
|
}
|