| 
					
				 | 
			
			
				@@ -12,6 +12,8 @@ import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 type Teacher struct { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	gorm.Model 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	Credential 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Supply      bool `gorm:"-"` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	Classes     []*Class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	Students    []*Student 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	Subjects    []*Subject 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -40,6 +42,12 @@ WHERE (activities.teacher_id=? OR activities.supply_teacher_id=?)` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 SELECT subjects.* FROM activities  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 INNER JOIN subjects on subjects.id=activities.subject_id  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 WHERE (activities.teacher_id=? OR activities.supply_teacher_id=?) AND (activities.class_id=?) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	selectSupplyTeachers = ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+SELECT teachers.*,1 as supply FROM activities  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+INNER JOIN teachers on teachers.id=activities.teacher_id  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+WHERE supply_teacher_id <> 0 ORDER BY surname,name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -120,6 +128,15 @@ func GetTeachersFast(args map[string]string) (interface{}, error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	for _, teacher := range teachers { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		teacher.GetSubjects() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return teachers, nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func GetSupplyTeachers() ([]*Teacher, error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var teachers []*Teacher 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err := DB().Raw(selectSupplyTeachers).Scan(&teachers).Error; err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return nil, err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return teachers, nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |