// POST /problem/edit func (p *Problem) PostEdit(problem models.Problem, inputTest, outputTest []byte) revel.Result { defer func() { delete(p.Session, ID) }() if inputTest != nil { problem.InputTestPath = path.Dir(problem.InputTestPath) + "/inputTest" _, err := util.WriteFile(problem.InputTestPath, inputTest) if err != nil { log.Println(err) } } if outputTest != nil { problem.OutputTestPath = path.Dir(problem.OutputTestPath) + "/outputTest" _, err := util.WriteFile(problem.OutputTestPath, outputTest) if err != nil { log.Println(err) } } id, err := strconv.ParseInt(p.Session[ID], 10, 64) if err != nil { p.Flash.Error("id error") log.Println(err) return p.Redirect("/") } _, err = engine.Id(id).Update(problem) if err != nil { log.Println(err) } return p.Redirect("/") }