예제 #1
0
func Save(rw http.ResponseWriter, req *http.Request, r render.Render, params martini.Params) {
	ctx := appengine.NewContext(req)

	e := equipment.Equipment{}
	req.ParseForm()
	e.Title = req.FormValue("title")
	e.Description = req.FormValue("desc")
	delete(req.Form, "title")
	delete(req.Form, "desc")
	for _, val := range req.Form {
		e.Components = append(e.Components, val...)
	}

	intID, err := strconv.Atoi(params["id"])
	if err == nil {
		e.ID = int64(intID)
	}

	err = e.Save(ctx)
	if err != nil {
		http.Redirect(rw, req, "/admin/equipment/"+params["id"]+"?error="+err.Error(), http.StatusFound)
		return
	}

	http.Redirect(rw, req, "/admin/equipment/"+strconv.Itoa(int(e.ID))+"?success=Equipment saved", http.StatusFound)
	return
}