|
@@ -14,6 +14,9 @@ type Teacher struct {
|
|
gorm.Model
|
|
gorm.Model
|
|
Credential
|
|
Credential
|
|
|
|
|
|
|
|
+ IsCoordinator bool `gorm:"-"`
|
|
|
|
+ IsMinuter bool `gorm:"-"`
|
|
|
|
+
|
|
Classes []*Class
|
|
Classes []*Class
|
|
Students []*Student
|
|
Students []*Student
|
|
Subjects []*Subject
|
|
Subjects []*Subject
|
|
@@ -103,6 +106,18 @@ func GetTeacherAll(args map[string]string) (interface{}, error) {
|
|
return nil, err
|
|
return nil, err
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ coordClasses, err := teacher.CoordinatorClasses()
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ minuterClasses, err := teacher.MinuterClasses()
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ teacher.IsCoordinator, teacher.IsMinuter = len(coordClasses) > 0, len(minuterClasses) > 0
|
|
|
|
+
|
|
return &teacher, nil
|
|
return &teacher, nil
|
|
}
|
|
}
|
|
|
|
|
|
@@ -142,10 +157,6 @@ func GetTeachersAll(args map[string]string) (interface{}, error) {
|
|
teacher.SubjectsByClass[c.ID] = subjects
|
|
teacher.SubjectsByClass[c.ID] = subjects
|
|
}
|
|
}
|
|
|
|
|
|
- // if err := DB().Raw(countActualTeacherHours, teacher.ID, teacher.ID).Scan(&teacher.ActualHours).Error; err != nil {
|
|
|
|
- // return nil, err
|
|
|
|
- // }
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
return teachers, nil
|
|
return teachers, nil
|
|
@@ -289,7 +300,7 @@ func (t *Teacher) GetSubjectsByClassID(id string) ([]*Subject, error) {
|
|
return t.Subjects, nil
|
|
return t.Subjects, nil
|
|
}
|
|
}
|
|
|
|
|
|
-func (t *Teacher) IsCoordinator() ([]*Class, error) {
|
|
|
|
|
|
+func (t *Teacher) CoordinatorClasses() ([]*Class, error) {
|
|
var output []*Class
|
|
var output []*Class
|
|
|
|
|
|
classes, err := t.GetClasses()
|
|
classes, err := t.GetClasses()
|
|
@@ -305,7 +316,7 @@ func (t *Teacher) IsCoordinator() ([]*Class, error) {
|
|
return output, nil
|
|
return output, nil
|
|
}
|
|
}
|
|
|
|
|
|
-func (t *Teacher) IsMinuter() ([]*Class, error) {
|
|
|
|
|
|
+func (t *Teacher) MinuterClasses() ([]*Class, error) {
|
|
var output []*Class
|
|
var output []*Class
|
|
|
|
|
|
classes, err := t.GetClasses()
|
|
classes, err := t.GetClasses()
|