frontend: allow players to respond to issues

This commit is contained in:
nemunaire 2020-01-24 20:04:46 +01:00
parent 73eb3ab1c0
commit edbac43423
8 changed files with 85 additions and 12 deletions

View file

@ -13,6 +13,7 @@ import (
)
type IssueUpload struct {
Id int64 `json:"id"`
IdExercice int64 `json:"id_exercice"`
Subject string `json:"subject"`
Description string `json:"description"`
@ -32,9 +33,35 @@ func treatIssue(pathname string, team fic.Team) {
} else if err := json.Unmarshal(cnt_raw, &issue); err != nil {
log.Printf("%s [ERR] %s\n", id, err)
} else if len(issue.Subject) == 0 && len(issue.Description) == 0 {
if err = os.Remove(pathname); err != nil {
log.Printf("%s [ERR] %s\n", id, err)
}
log.Printf("%s Empty issue: not treated.\n", id)
} else if len(issue.Subject) == 0 {
log.Printf("%s Issue with no subject: not treated.\n", id)
if issue.Id <= 0 {
if err = os.Remove(pathname); err != nil {
log.Printf("%s [ERR] %s\n", id, err)
}
log.Printf("%s Issue with no subject: not treated.\n", id)
} else if claim, err := team.GetClaim(issue.Id); err != nil {
log.Printf("%s [ERR] Team id=%d,name=%q tries to access issue id=%d, but not granted: %s.\n", id, team.Id, team.Name, issue.Id, err)
} else if len(issue.Description) == 0 {
if err = os.Remove(pathname); err != nil {
log.Printf("%s [ERR] %s\n", id, err)
}
log.Printf("%s Empty issue: not treated.\n", id)
} else if desc, err := claim.AddDescription(issue.Description, fic.ClaimAssignee{Id: 0}, true); err != nil {
log.Printf("%s [WRN] Unable to add description to issue: %s\n", id, err)
} else {
claim.State = "new"
claim.Update()
log.Printf("%s [OOK] New comment added to issue id=%d: id_description=%s\n", id, claim.Id, desc.Id)
if err = os.Remove(pathname); err != nil {
log.Printf("%s [ERR] %s\n", id, err)
}
genTeamIssuesFile(team)
}
} else {
var exercice *fic.Exercice = nil
if e, err := fic.GetExercice(issue.IdExercice); err == nil {