|
@@ -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
|
|
|
}
|
|
|
|