Răsfoiți Sursa

Fix subjects queries

Andrea Fazzi 6 ani în urmă
părinte
comite
717a75c5ac
2 a modificat fișierele cu 4 adăugiri și 14 ștergeri
  1. 2 12
      api/subjects.go
  2. 2 2
      templates/subjects.html.tpl

+ 2 - 12
api/subjects.go

@@ -6,8 +6,6 @@ import (
 	"html/template"
 	"io/ioutil"
 	"net/http"
-	"sort"
-	"strings"
 
 	"github.com/gorilla/mux"
 	"github.com/gorilla/schema"
@@ -22,7 +20,7 @@ var (
 SELECT DISTINCT teachers.* FROM activities 
 INNER JOIN subjects ON subjects.id=activities.subject_id 
 INNER JOIN teachers on teachers.id=activities.teacher_id
-WHERE subject_id=2 GROUP BY activities.teacher_id;
+WHERE subject_id=? GROUP BY activities.teacher_id ORDER BY teachers.Surname;
 `
 )
 
@@ -30,16 +28,12 @@ func subjectsHandler() http.Handler {
 	fn := func(w http.ResponseWriter, r *http.Request) {
 		var subjects []*orm.Subject
 
-		if err := orm.DB().Find(&subjects).Error; err != nil {
+		if err := orm.DB().Order("name").Find(&subjects).Error; err != nil {
 			panic(err)
 		}
 
 		for _, subject := range subjects {
 			orm.DB().Raw(selectUniqueSubjectTeachers, subject.ID).Scan(&subject.Teachers)
-			sort.Slice(subject.Teachers, func(i, j int) bool {
-				return strings.ToLower(subject.Teachers[i].Surname) < strings.ToLower(subject.Teachers[j].Surname)
-			})
-
 		}
 
 		if err := renderer.Render(w, "base", "subjects", subjects); err != nil {
@@ -59,10 +53,6 @@ func subjectsShowHandler() http.Handler {
 
 		orm.DB().Raw(selectUniqueSubjectTeachers, mux.Vars(r)["id"]).Scan(&subject.Teachers)
 
-		sort.Slice(subject.Teachers, func(i, j int) bool {
-			return strings.ToLower(subject.Teachers[i].Name) < strings.ToLower(subject.Teachers[j].Name)
-		})
-
 		if err := renderer.Render(w, "base", "subjects_show", subject); err != nil {
 			panic(err)
 		}

+ 2 - 2
templates/subjects.html.tpl

@@ -43,11 +43,11 @@
     <input type="text" id="myInput" class="form-control" aria-describedby="search-query">
   </div>
 
-  {{if not .Subjects}}
+  {{if not .}}
   <p>Non c'è alcun elemento da visualizzare.</p>
   {{else}}
   <div class="list-group" id="myUL">
-    {{range $subject := .Subjects}}
+    {{range $subject := .}}
     <a class="list-group-item clearfix" href="/subjects/{{$subject.ID}}">
       <span class="glyphicon glyphicon-book"></span>
       {{$subject.Name}}