package controllers import ( "github.com/astaxie/beego" "datahouse/models/relay" "datahouse/models/sensor" "datahouse/models/temperature" "datahouse/models/variables" "fmt" "strconv" ) type SensorsController struct { beego.Controller } func (c *SensorsController) Prepare() { sess := c.GetSession(variables.SessionName) if sess == nil { c.Redirect(variables.LoginRoute, 302) } c.Data["IsSensor"] = true c.Data["version"] = variables.Version } func (c *SensorsController) Get() { sensors := sensor.GetAllSensor() relays := relay.GetAllRelay() c.Data["sensors"] = sensors c.Data["relays"] = relays c.TplNames = "sensors.tpl" } func (c *SensorsController) Post() { description := c.Input().Get("description") mac := c.Input().Get("mac") intervalStr := c.Input().Get("interval") interval, err := strconv.ParseInt(intervalStr, 10, 0) isDelete := c.Input().Get("delete") fmt.Println("Del: ", isDelete) isSave := c.Input().Get("save") fmt.Println("Save: ", isSave) if isSave != "" && err == nil { sensor.UpdateSensor(mac, description, interval) c.Redirect("/sensors", 302) } else if isDelete != "" { s := sensor.GetSensorByMac(mac) temperature.DeleteTemperatureBySenor(s.Id) sensor.DeleteSensor(s.Id) c.Redirect("/sensors", 302) } else { c.Redirect("/404", 404) } }