浏览代码

Improve GetClassesAll

Andrea Fazzi 6 年之前
父节点
当前提交
6761c63e6b
共有 2 个文件被更改,包括 31 次插入1 次删除
  1. 30 0
      orm/class.go
  2. 1 1
      templates/classes_show.html.tpl

+ 30 - 0
orm/class.go

@@ -111,6 +111,29 @@ func GetClassesAll(args map[string]string) (interface{}, error) {
 		class.GetTeachers()
 	}
 
+	for _, class := range classes {
+		class.GetActivities()
+	}
+
+	for _, class := range classes {
+		if class.CoordinatorID != 0 {
+			if !DB().First(&class.Coordinator, class.CoordinatorID).RecordNotFound() {
+				if err := DB().First(&class.Coordinator, class.CoordinatorID).Error; err != nil {
+					return nil, err
+				}
+			}
+		}
+
+		if class.MinuterID != 0 {
+			if !DB().First(&class.Minuter, class.MinuterID).RecordNotFound() {
+				if err := DB().First(&class.Minuter, class.MinuterID).Error; err != nil {
+					return nil, err
+				}
+			}
+		}
+
+	}
+
 	return classes, nil
 }
 
@@ -179,6 +202,13 @@ func (c *Class) GetTeachers() ([]*Teacher, error) {
 	return c.Teachers, nil
 }
 
+func (c *Class) GetActivities() ([]*Activity, error) {
+	if err := DB().Preload("Teacher").Preload("Subject").Preload("Class").Where("class_id=?", c.ID).Find(&c.Activities).Error; err != nil {
+		return nil, err
+	}
+	return c.Activities, nil
+}
+
 func GetClassForUpdate(args map[string]string) (interface{}, error) {
 	var data ClassForUpdate
 

+ 1 - 1
templates/classes_show.html.tpl

@@ -32,7 +32,7 @@
     </div>
   </div>
 
-  <h2 class="karmen-relation-header">Docenti della {{.Data.Name}}</h2>
+  <h2 class="karmen-relation-header">Attività della {{.Data.Name}}</h2>
   <div class="list-group" id="classes_list_group">
     {{if not .Data.Teachers}}
     <p>Alla classe non è associata alcuna attività