Przeglądaj źródła

Fix DISTINCT teachers in subject view

Andrea Fazzi 6 lat temu
rodzic
commit
207bf7c3ed
3 zmienionych plików z 5 dodań i 5 usunięć
  1. 3 3
      handlers/handlers.go
  2. 1 1
      handlers/handlers_test.go
  3. 1 1
      orm/subject.go

+ 3 - 3
handlers/handlers.go

@@ -175,7 +175,7 @@ func modelHandler(model string, pattern PathPattern) http.Handler {
 		case "GET":
 		case "GET":
 			getFn, ok = orm.Get[pattern.Path(model)]
 			getFn, ok = orm.Get[pattern.Path(model)]
 			if !ok {
 			if !ok {
-				renderer.Render[r.URL.Query().Get("format")](w, r, fmt.Errorf("Can't find ORM function for path %s!", pattern.Path))
+				renderer.Render[r.URL.Query().Get("format")](w, r, fmt.Errorf("Can't find ORM function for path %s!", pattern.PathPattern))
 			}
 			}
 			data, err := getFn(mux.Vars(r))
 			data, err := getFn(mux.Vars(r))
 			if err != nil {
 			if err != nil {
@@ -187,7 +187,7 @@ func modelHandler(model string, pattern PathPattern) http.Handler {
 		case "POST":
 		case "POST":
 			postFn, ok = orm.Post[pattern.Path(model)]
 			postFn, ok = orm.Post[pattern.Path(model)]
 			if !ok {
 			if !ok {
-				renderer.Render[r.URL.Query().Get("format")](w, r, fmt.Errorf("Can't find ORM function for path %s!", pattern.Path))
+				renderer.Render[r.URL.Query().Get("format")](w, r, fmt.Errorf("Can't find ORM function for path %s!", pattern.PathPattern))
 			}
 			}
 			data, err := postFn(mux.Vars(r), r)
 			data, err := postFn(mux.Vars(r), r)
 			if err != nil {
 			if err != nil {
@@ -205,7 +205,7 @@ func modelHandler(model string, pattern PathPattern) http.Handler {
 		case "DELETE":
 		case "DELETE":
 			postFn, ok = orm.Post[pattern.Path(model)]
 			postFn, ok = orm.Post[pattern.Path(model)]
 			if !ok {
 			if !ok {
-				renderer.Render[r.URL.Query().Get("format")](w, r, fmt.Errorf("Can't find ORM function for path %s!", pattern.Path))
+				renderer.Render[r.URL.Query().Get("format")](w, r, fmt.Errorf("Can't find ORM function for path %s!", pattern.PathPattern))
 			}
 			}
 			_, err := postFn(mux.Vars(r), r)
 			_, err := postFn(mux.Vars(r), r)
 			if err != nil {
 			if err != nil {

+ 1 - 1
handlers/handlers_test.go

@@ -39,7 +39,7 @@ func (t *testSuite) BeforeAll() {
 		panic(err)
 		panic(err)
 	}
 	}
 
 
-	req.SetBasicAuth("john", "1234")
+	req.SetBasicAuth("admin", "admin")
 
 
 	rr := httptest.NewRecorder()
 	rr := httptest.NewRecorder()
 	tokenHandler().ServeHTTP(rr, req)
 	tokenHandler().ServeHTTP(rr, req)

+ 1 - 1
orm/subject.go

@@ -8,7 +8,7 @@ import (
 )
 )
 
 
 var selectUniqueSubjectTeachers = `
 var selectUniqueSubjectTeachers = `
-SELECT teachers.* FROM activities
+SELECT DISTINCT teachers.* FROM activities
 INNER JOIN teachers on teachers.id=activities.teacher_id
 INNER JOIN teachers on teachers.id=activities.teacher_id
 WHERE subject_id=?
 WHERE subject_id=?
 `
 `