Parcourir la source

Sync class coordinators

Andrea Fazzi il y a 5 ans
Parent
commit
7d0fa21731
2 fichiers modifiés avec 27 ajouts et 0 suppressions
  1. 3 0
      config/config.go
  2. 24 0
      cron/sync/sync.go

+ 3 - 0
config/config.go

@@ -97,6 +97,9 @@ type ConfigT struct {
 
 		DepartmentsCoordinatorsGroup string `yaml:"departments_coordinators_group"`
 		DepartmentsCoordinatorsML    string `yaml:"departments_coordinators_ml"`
+
+		ClassCoordinatorsGroup string `yaml:"class_coordinators_group"`
+		ClassCoordinatorsML    string `yaml:"class_coordinators_ml"`
 	}
 
 	Documents struct {

+ 24 - 0
cron/sync/sync.go

@@ -419,6 +419,30 @@ func (syncJob *SyncJob) Run() {
 		}
 	}
 
+	// Class coordinators
+
+	classCoordinators := make([]orm.User, 0)
+	classes, err := karmenClient.GetClasses()
+	if err != nil {
+		panic(err)
+	}
+
+	for _, class := range classes {
+		classCoordinators = append(classCoordinators, class.Coordinator)
+	}
+
+	if result, err := syncJob.SyncGroup(ldapClient, classCoordinators, syncJob.conf.Sync.ClassCoordinatorsGroup); err != nil {
+		panic(err)
+	} else {
+		log.Println(result)
+	}
+
+	if result, err := syncJob.SyncGroup(ldapClient, classCoordinators, syncJob.conf.Sync.ClassCoordinatorsML); err != nil {
+		panic(err)
+	} else {
+		log.Println(result)
+	}
+
 	// Departments Coordinator
 
 	log.Println("Sync Departments Coordinators...")