|  | @@ -310,16 +310,16 @@ func (syncJob *SyncJob) Run() {
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  	log.Println("Retrieving teachers from LDAP...")
 |  |  	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 {
 |  |  	if err != nil {
 | 
											
												
													
														|  |  		log.Println(err)
 |  |  		log.Println(err)
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  	log.Println("Retrieving Departments...")
 |  |  	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)
 |  |  	users := make([]orm.User, 0)
 | 
											
												
													
														|  |  	for _, teacher := range teachers {
 |  |  	for _, teacher := range teachers {
 | 
											
										
											
												
													
														|  | @@ -331,38 +331,60 @@ func (syncJob *SyncJob) Run() {
 | 
											
												
													
														|  |  	} else {
 |  |  	} else {
 | 
											
												
													
														|  |  		log.Println(result)
 |  |  		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)
 |  |  		panic(err)
 | 
											
												
													
														|  |  	} else {
 |  |  	} else {
 | 
											
												
													
														|  |  		log.Println(result)
 |  |  		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)
 |  | 
 | 
											
												
													
														|  | -		}
 |  | 
 | 
											
												
													
														|  | -	}
 |  | 
 | 
											
												
													
														|  |  }
 |  |  }
 |