admin: page for team binding

This commit is contained in:
nemunaire 2016-01-23 22:05:49 +01:00
parent 86d36589d4
commit 2b2b1a893d

View file

@ -4,6 +4,7 @@ import (
"encoding/json"
"fmt"
"strconv"
"strings"
"srs.epita.fr/fic-server/libfic"
)
@ -63,6 +64,26 @@ func exportTeams() (interface{}, error) {
}
}
func bindingTeams() (string, error) {
if teams, err := fic.GetTeams(); err != nil {
return "", err
} else {
ret := ""
for _, team := range teams {
if members, err := team.GetMembers(); err != nil {
return "", err
} else {
var mbs []string
for _, member := range members {
mbs = append(mbs, fmt.Sprintf("%s %s", member.Firstname, member.Lastname))
}
ret += fmt.Sprintf("%d;%s;%s\n", team.Id, team.Name, strings.Join(mbs, ";"))
}
}
return ret, nil
}
}
type uploadedTeam struct {
Name string
Color int64
@ -95,6 +116,8 @@ func listTeam(args []string, body []byte) (interface{}, error) {
return fic.MyJSONTeam(team, false)
} else if args[1] == "certificate" && team != nil {
return CertificateAPI(*team, args[2:])
} else if args[1] == "name" {
return team.Name, nil
}
}
} else if len(args) == 1 {
@ -102,6 +125,8 @@ func listTeam(args []string, body []byte) (interface{}, error) {
return exportTeams()
} else if args[0] == "nginx" {
return nginxGenTeam()
} else if args[0] == "binding" {
return bindingTeams()
} else if tid, err := strconv.Atoi(string(args[0])); err != nil {
return nil, err
} else if team, err := fic.GetTeam(tid); err != nil {