|
@@ -2,7 +2,6 @@ package orm
|
|
|
|
|
|
import (
|
|
|
"fmt"
|
|
|
- "log"
|
|
|
"net/http"
|
|
|
|
|
|
"github.com/jinzhu/gorm"
|
|
@@ -14,7 +13,7 @@ type Group struct {
|
|
|
|
|
|
Name string
|
|
|
|
|
|
- Search string
|
|
|
+ Query string
|
|
|
|
|
|
TeacherIDs []uint `schema:"teacher_ids" gorm:"-"`
|
|
|
|
|
@@ -37,7 +36,7 @@ func (g *Group) GetID() uint { return g.ID }
|
|
|
|
|
|
func GetGroupsAll(args map[string]string) (interface{}, error) {
|
|
|
var groups []*Group
|
|
|
- if err := DB().Debug().Preload("Teachers").Order("name").Find(&groups).Error; err != nil {
|
|
|
+ if err := DB().Preload("Teachers").Order("name").Find(&groups).Error; err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
|
|
@@ -105,8 +104,6 @@ func UpdateGroup(args map[string]string, r *http.Request) (IDer, error) {
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
-
|
|
|
- log.Println("Before decoding...", group.(*Group).TeacherIDs)
|
|
|
err = renderer.Decode(group, r)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
@@ -115,20 +112,11 @@ func UpdateGroup(args map[string]string, r *http.Request) (IDer, error) {
|
|
|
if err := DB().Where(group.(*Group).TeacherIDs).Find(&group.(*Group).Teachers).Error; err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
- log.Println("After decoding...", group.(*Group).TeacherIDs)
|
|
|
_, err = SaveGroup(group)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
-
|
|
|
- log.Println("After decoding...", group.(*Group).TeacherIDs)
|
|
|
- // _, err = SaveGroup(group)
|
|
|
- // if err != nil {
|
|
|
- // return nil, err
|
|
|
-
|
|
|
- // }
|
|
|
-
|
|
|
- if err := DB().Debug().Model(group).Association("Teachers").Replace(group.(*Group).Teachers).Error; err != nil {
|
|
|
+ if err := DB().Model(group).Association("Teachers").Replace(group.(*Group).Teachers).Error; err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
|
|
@@ -147,7 +135,14 @@ func SaveGroup(group interface{}) (interface{}, error) {
|
|
|
}
|
|
|
|
|
|
func DeleteGroup(args map[string]string, r *http.Request) (IDer, error) {
|
|
|
- return nil, nil
|
|
|
+ group, err := GetGroup(args)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ if err := DB().Debug().Unscoped().Delete(group.(*Group)).Error; err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ return group.(*Group), nil
|
|
|
}
|
|
|
|
|
|
func AddGroup(args map[string]string, r *http.Request) (IDer, error) {
|
|
@@ -181,3 +176,7 @@ func CreateGroup(group *Group) (*Group, error) {
|
|
|
}
|
|
|
return group, nil
|
|
|
}
|
|
|
+
|
|
|
+func (group *Group) RestAPIPath() string {
|
|
|
+ return "groupes"
|
|
|
+}
|