diff --git a/admin/api/qa.go b/admin/api/qa.go index 6b448ebf..7a563856 100644 --- a/admin/api/qa.go +++ b/admin/api/qa.go @@ -63,7 +63,7 @@ func importExerciceQA(c *gin.Context) { return } - if qa, err := exercice.NewQAQuery(uq.Subject, uq.IdTeam, uq.User, uq.State); err != nil { + if qa, err := exercice.NewQAQuery(uq.Subject, uq.IdTeam, uq.User, uq.State, nil); err != nil { log.Println("Unable to importExerciceQA:", err.Error()) c.AbortWithStatusJSON(http.StatusInternalServerError, gin.H{"errmsg": "An error occurs during query creation."}) return diff --git a/libfic/qa.go b/libfic/qa.go index da618577..45087f7d 100644 --- a/libfic/qa.go +++ b/libfic/qa.go @@ -93,13 +93,13 @@ func (e *Exercice) GetQAQuery(id int64) (q *QAQuery, err error) { } // NewQAQuery creates and fills a new struct QAQuery and registers it into the database. -func (e *Exercice) NewQAQuery(subject string, teamId *int64, user string, state string) (*QAQuery, error) { - if res, err := DBExec("INSERT INTO exercices_qa (id_exercice, id_team, authuser, creation, state, subject) VALUES (?, ?, ?, ?, ?, ?)", e.Id, teamId, user, time.Now(), state, subject); err != nil { +func (e *Exercice) NewQAQuery(subject string, teamId *int64, user string, state string, solved *time.Time) (*QAQuery, error) { + if res, err := DBExec("INSERT INTO exercices_qa (id_exercice, id_team, authuser, creation, state, subject, solved) VALUES (?, ?, ?, ?, ?, ?, ?)", e.Id, teamId, user, time.Now(), state, subject, solved); err != nil { return nil, err } else if qid, err := res.LastInsertId(); err != nil { return nil, err } else { - return &QAQuery{qid, e.Id, teamId, user, time.Now(), state, subject, nil, nil}, nil + return &QAQuery{qid, e.Id, teamId, user, time.Now(), state, subject, solved, nil}, nil } } diff --git a/qa/api/qa.go b/qa/api/qa.go index f3ac4f24..54541f4a 100644 --- a/qa/api/qa.go +++ b/qa/api/qa.go @@ -5,6 +5,7 @@ import ( "log" "net/http" "strconv" + "time" "srs.epita.fr/fic-server/libfic" @@ -105,7 +106,9 @@ func createExerciceQA(c *gin.Context) { if len(uq.Subject) == 0 { if uq.State == "ok" { + tmp := time.Now() uq.Subject = "RAS" + uq.Solved = &tmp } else { c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"errmsg": "Subject not filled"}) return @@ -113,7 +116,7 @@ func createExerciceQA(c *gin.Context) { } exercice := c.MustGet("exercice").(*fic.Exercice) - qa, err := exercice.NewQAQuery(uq.Subject, &teamid, ficteam, uq.State) + qa, err := exercice.NewQAQuery(uq.Subject, &teamid, ficteam, uq.State, uq.Solved) if err != nil { log.Println("Unable to NewQAQuery: ", err.Error()) c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"errmsg": "Unable to create the new QA query. Please retry."})