Browse Source

Fix generateHandlers and sync

Andrea Fazzi 4 years ago
parent
commit
979e328e4e
3 changed files with 15 additions and 10 deletions
  1. 4 5
      cron/sync/mail.tpl
  2. 6 4
      cron/sync/sync.go
  3. 5 1
      handlers/handlers.go

+ 4 - 5
cron/sync/mail.tpl

@@ -9,15 +9,15 @@ Password: {{.PlainPassword}}
 Cliccando sul seguente link sarà possibile modificare la propria
 Cliccando sul seguente link sarà possibile modificare la propria
 password.
 password.
 
 
-https://password.carducci-dante.gov.it
+https://password.carduccidante.edu.it
 
 
 Per accedere al servizio di webmail, seguire il link riportato sotto:
 Per accedere al servizio di webmail, seguire il link riportato sotto:
 
 
-https://webmail.carducci-dante.gov.it
+https://webmail.carduccidante.edu.it
 
 
 Per accedere al servizio di cloud, seguire il link riportato sotto:
 Per accedere al servizio di cloud, seguire il link riportato sotto:
 
 
-https://cloud.carducci-dante.gov.it
+https://cloud.carduccidante.edu.it
 
 
 Per ulteriori informazioni sui servizi informatici dell'Istituto, si
 Per ulteriori informazioni sui servizi informatici dell'Istituto, si
 prega di consultare la "Guida ai servizi" depositata all'interno della
 prega di consultare la "Guida ai servizi" depositata all'interno della
@@ -29,5 +29,4 @@ Karmen @ Carducci-Dante
 ---
 ---
 
 
 Karmen è un software libero sviluppato da Andrea Fazzi nel Liceo
 Karmen è un software libero sviluppato da Andrea Fazzi nel Liceo
-"Carducci-Dante" di Trieste. Il suo codice sorgente è disponibile su
-https://gogs.carducci-dante.gov.it/karmen
+"Carducci-Dante" di Trieste.

+ 6 - 4
cron/sync/sync.go

@@ -398,9 +398,9 @@ func (syncJob *SyncJob) Run() {
 	departmentsCoordinators := make([]orm.User, 0)
 	departmentsCoordinators := make([]orm.User, 0)
 
 
 	for _, department := range departments {
 	for _, department := range departments {
-
-		departmentsCoordinators = append(departmentsCoordinators, department.Coordinator)
-
+	        if department.Coordinator != nil {
+			departmentsCoordinators = append(departmentsCoordinators, department.Coordinator)
+		}
 		users := make([]orm.User, 0)
 		users := make([]orm.User, 0)
 		for _, teacher := range department.Teachers {
 		for _, teacher := range department.Teachers {
 			users = append(users, teacher)
 			users = append(users, teacher)
@@ -428,7 +428,9 @@ func (syncJob *SyncJob) Run() {
 	}
 	}
 
 
 	for _, class := range classes {
 	for _, class := range classes {
-		classCoordinators = append(classCoordinators, class.Coordinator)
+	        if class.Coordinator != nil {
+		    classCoordinators = append(classCoordinators, class.Coordinator)
+		}
 	}
 	}
 
 
 	if result, err := syncJob.SyncGroup(ldapClient, classCoordinators, syncJob.conf.Sync.ClassCoordinatorsGroup); err != nil {
 	if result, err := syncJob.SyncGroup(ldapClient, classCoordinators, syncJob.conf.Sync.ClassCoordinatorsGroup); err != nil {

+ 5 - 1
handlers/handlers.go

@@ -100,7 +100,11 @@ func generateHandler(r *mux.Router, model interface{}) {
 	// Generate API patterns prefixing "api" path
 	// Generate API patterns prefixing "api" path
 
 
 	for _, p := range patterns {
 	for _, p := range patterns {
-		apiPatterns = append(apiPatterns, PathPattern{path.Join("/", "api", p.PathPattern), "", p.Methods})
+		joinedPath := path.Join("/", "api", p.PathPattern)
+		if strings.HasSuffix(p.PathPattern, "/") {
+			joinedPath += "/"
+		}
+		apiPatterns = append(apiPatterns, PathPattern{joinedPath, "", p.Methods})
 	}
 	}
 
 
 	// Install standard paths
 	// Install standard paths