admin: page for team binding
This commit is contained in:
parent
86d36589d4
commit
2b2b1a893d
1 changed files with 25 additions and 0 deletions
|
@ -4,6 +4,7 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"srs.epita.fr/fic-server/libfic"
|
"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 {
|
type uploadedTeam struct {
|
||||||
Name string
|
Name string
|
||||||
Color int64
|
Color int64
|
||||||
|
@ -95,6 +116,8 @@ func listTeam(args []string, body []byte) (interface{}, error) {
|
||||||
return fic.MyJSONTeam(team, false)
|
return fic.MyJSONTeam(team, false)
|
||||||
} else if args[1] == "certificate" && team != nil {
|
} else if args[1] == "certificate" && team != nil {
|
||||||
return CertificateAPI(*team, args[2:])
|
return CertificateAPI(*team, args[2:])
|
||||||
|
} else if args[1] == "name" {
|
||||||
|
return team.Name, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if len(args) == 1 {
|
} else if len(args) == 1 {
|
||||||
|
@ -102,6 +125,8 @@ func listTeam(args []string, body []byte) (interface{}, error) {
|
||||||
return exportTeams()
|
return exportTeams()
|
||||||
} else if args[0] == "nginx" {
|
} else if args[0] == "nginx" {
|
||||||
return nginxGenTeam()
|
return nginxGenTeam()
|
||||||
|
} else if args[0] == "binding" {
|
||||||
|
return bindingTeams()
|
||||||
} else if tid, err := strconv.Atoi(string(args[0])); err != nil {
|
} else if tid, err := strconv.Atoi(string(args[0])); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
} else if team, err := fic.GetTeam(tid); err != nil {
|
} else if team, err := fic.GetTeam(tid); err != nil {
|
||||||
|
|
Reference in a new issue