Andrea Fazzi 4 anni fa
parent
commit
75b3a2bd2c
2 ha cambiato i file con 58 aggiunte e 6 eliminazioni
  1. 57 1
      client/client.go
  2. 1 5
      orm/student.go

+ 57 - 1
client/client.go

@@ -216,6 +216,37 @@ func (c *Client) GetStudents() ([]*orm.Student, error) {
 	return students, nil
 }
 
+func (c *Client) GetStudentsH() ([]*orm.Student, error) {
+	var (
+		response renderer.JsonResponse
+		students []*orm.Student
+	)
+
+	data, err := c.SendRequest("GET", "/api/students?format=json", nil)
+	if err != nil {
+		return nil, err
+	}
+
+	if err := json.Unmarshal(data, &response); err != nil {
+		return nil, err
+	}
+
+	if string(response.Error) != "" {
+		return nil, errors.New(string(response.Error))
+	}
+
+	if err := json.Unmarshal(response.Result, &students); err != nil {
+		return nil, err
+	}
+	result := make([]*orm.Student, 0)
+	for _, s := range students {
+		if s.Handicap {
+			result = append(result, s)
+		}
+	}
+	return result, nil
+}
+
 func (c *Client) GetSubjects() ([]*orm.Subject, error) {
 	var (
 		response renderer.JsonResponse
@@ -437,7 +468,7 @@ func (c *Client) AddActivity(activity *orm.Activity) (uint, error) {
 	if err != nil {
 		return 0, err
 	}
-	resp, err := c.SendRequest("POST", "/api/activities/add/?format=json", data)
+	resp, err := c.SendRequest("POST", "/api/activities/create/?format=json", data)
 	if err != nil {
 		return 0, err
 	}
@@ -611,3 +642,28 @@ func (c *Client) GetGroups() ([]*orm.Group, error) {
 	}
 	return groups, nil
 }
+
+func (c *Client) AddOperator(operator *orm.Operator) (uint, error) {
+	var response renderer.JsonResponse
+
+	data, err := json.Marshal(operator)
+	if err != nil {
+		return 0, err
+	}
+	resp, err := c.SendRequest("POST", "/api/operators/create/?format=json", data)
+	if err != nil {
+		return 0, err
+	}
+	if err := json.Unmarshal(resp, &response); err != nil {
+		return 0, err
+	}
+	if string(response.Error) != "" {
+		return 0, errors.New(string(response.Error))
+	}
+
+	id, err := strconv.Atoi(string(response.Result))
+	if err != nil {
+		return 0, err
+	}
+	return uint(id), nil
+}

+ 1 - 5
orm/student.go

@@ -10,10 +10,6 @@ import (
 type Student struct {
 	Credential
 
-	// Handicap bool `schema:"Handicap" sql:"default: false"`
-	// DSA      bool `schema:"DSA" sql:"default: false"`
-	// BES      bool `schema:"BES" sql:"default: false"`
-
 	Handicap bool
 	DSA      bool
 	BES      bool
@@ -108,7 +104,7 @@ func (s *Student) Read(args map[string]string, r *http.Request) (interface{}, er
 func (s *Student) ReadAll(args map[string]string, r *http.Request) (interface{}, error) {
 	var students []*Student
 
-	if err := DB().Preload("Class").Preload("Class.Coordinator").Preload("Tutor").Order("surname,name").Find(&students).Error; err != nil {
+	if err := DB().Preload("Operators").Preload("Class").Preload("Class.Coordinator").Preload("Tutor").Order("surname,name").Find(&students).Error; err != nil {
 		return nil, err
 	}
 	for _, student := range students {