|
@@ -35,25 +35,24 @@ INNER JOIN subjects on subjects.id=activities.subject_id
|
|
|
WHERE activities.teacher_id=?`
|
|
|
)
|
|
|
|
|
|
-func GetTeacher(id string) (*Teacher, error) {
|
|
|
- var teacher Teacher
|
|
|
- if err := DB().Find(&teacher, id).Error; err != nil {
|
|
|
- return nil, err
|
|
|
+func GetTeacher(teacher *Teacher, id string) error {
|
|
|
+ if err := DB().First(teacher, id).Error; err != nil {
|
|
|
+ return err
|
|
|
}
|
|
|
|
|
|
if err := DB().Raw(selectUniqueTeacherClasses, id).Scan(&teacher.Classes).Error; err != nil {
|
|
|
- return nil, err
|
|
|
+ return err
|
|
|
}
|
|
|
|
|
|
if err := DB().Raw(selectUniqueTeacherSubjects, id).Scan(&teacher.Subjects).Error; err != nil {
|
|
|
- return nil, err
|
|
|
+ return err
|
|
|
}
|
|
|
|
|
|
if err := DB().Preload("Teacher").Preload("Subject").Where("teacher_id=?", id).Find(&teacher.Activities).Error; err != nil {
|
|
|
- return nil, err
|
|
|
+ return err
|
|
|
}
|
|
|
|
|
|
- return &teacher, nil
|
|
|
+ return nil
|
|
|
}
|
|
|
|
|
|
func GetTeachers() ([]*Teacher, error) {
|
|
@@ -79,11 +78,11 @@ func GetTeachersAll() ([]*Teacher, error) {
|
|
|
return teachers, nil
|
|
|
}
|
|
|
|
|
|
-func (t *Teacher) Save(teacher *Teacher) (*Teacher, error) {
|
|
|
+func SaveTeacher(teacher *Teacher) error {
|
|
|
if err := DB().Save(teacher).Error; err != nil {
|
|
|
- return nil, err
|
|
|
+ return nil
|
|
|
}
|
|
|
- return t, nil
|
|
|
+ return nil
|
|
|
}
|
|
|
|
|
|
func (t *Teacher) GetClasses() ([]*Class, error) {
|
|
@@ -126,14 +125,12 @@ func (t *Teacher) Create(db *gorm.DB, record map[string]interface{}) error {
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
-func (t Teacher) IsCoordinator() []Class {
|
|
|
- var (
|
|
|
- classes []Class
|
|
|
- output []Class
|
|
|
- )
|
|
|
+func (t *Teacher) IsCoordinator() ([]*Class, error) {
|
|
|
+ var output []*Class
|
|
|
|
|
|
- if err := DB().Model(t).Related(&classes, "Classes").Error; err != nil {
|
|
|
- panic(err)
|
|
|
+ classes, err := t.GetClasses()
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
}
|
|
|
|
|
|
for _, class := range classes {
|
|
@@ -141,44 +138,38 @@ func (t Teacher) IsCoordinator() []Class {
|
|
|
output = append(output, class)
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- return output
|
|
|
-
|
|
|
+ return output, nil
|
|
|
}
|
|
|
|
|
|
-func (t Teacher) IsCoordinatorInClass(className string) bool {
|
|
|
- var classes []Class
|
|
|
+func (t *Teacher) IsMinuter() ([]*Class, error) {
|
|
|
+ var output []*Class
|
|
|
|
|
|
- if err := DB().Model(t).Where("name = ?", className).Related(&classes, "Classes").Error; err != nil {
|
|
|
- panic(err)
|
|
|
+ classes, err := t.GetClasses()
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
}
|
|
|
|
|
|
for _, class := range classes {
|
|
|
- if class.CoordinatorID == t.ID {
|
|
|
- return true
|
|
|
+ if class.MinuterID == t.ID {
|
|
|
+ output = append(output, class)
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- return false
|
|
|
-
|
|
|
+ return output, nil
|
|
|
}
|
|
|
|
|
|
-func (t Teacher) IsMinuter() []Class {
|
|
|
- var (
|
|
|
- classes []Class
|
|
|
- output []Class
|
|
|
- )
|
|
|
+func (t Teacher) IsCoordinatorInClass(className string) bool {
|
|
|
+ var classes []Class
|
|
|
|
|
|
- if err := DB().Model(t).Related(&classes, "Classes").Error; err != nil {
|
|
|
+ if err := DB().Model(t).Where("name = ?", className).Related(&classes, "Classes").Error; err != nil {
|
|
|
panic(err)
|
|
|
}
|
|
|
|
|
|
for _, class := range classes {
|
|
|
- if class.MinuterID == t.ID {
|
|
|
- output = append(output, class)
|
|
|
+ if class.CoordinatorID == t.ID {
|
|
|
+ return true
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return output
|
|
|
+ return false
|
|
|
|
|
|
}
|