diff --git a/controllers/sensors.go b/controllers/sensors.go
index 44851e8..89172de 100644
--- a/controllers/sensors.go
+++ b/controllers/sensors.go
@@ -4,9 +4,11 @@ import (
"github.com/astaxie/beego"
"datahouse/models/sensor"
+ "datahouse/models/temperature"
"datahouse/models/variables"
"strconv"
+ "fmt"
)
type SensorsController struct {
@@ -38,9 +40,18 @@ func (c *SensorsController) Post() {
intervalStr := c.Input().Get("interval")
interval, err := strconv.ParseInt(intervalStr, 10, 0)
- if err == nil {
+ 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)
}
diff --git a/models/sensor/sensor.go b/models/sensor/sensor.go
index c663022..6f57932 100644
--- a/models/sensor/sensor.go
+++ b/models/sensor/sensor.go
@@ -117,3 +117,15 @@ func AddSensor(sensorMac string) {
o.Using(database.Alias)
_, _ = o.Insert(&SensorTable{SensorMAC: sensorMac})
}
+
+func DeleteSensorByMac(sensorMac string) {
+ o := orm.NewOrm()
+ o.Using(database.Alias)
+ o.Delete(&SensorTable{SensorMAC: sensorMac})
+}
+
+func DeleteSensor(sensorId int64) {
+ o := orm.NewOrm()
+ o.Using(database.Alias)
+ o.Delete(&SensorTable{Id: sensorId})
+}
diff --git a/models/temperature/temperature.go b/models/temperature/temperature.go
index 99bce9d..d72cf31 100644
--- a/models/temperature/temperature.go
+++ b/models/temperature/temperature.go
@@ -72,3 +72,13 @@ func GetLastTempForSensor(sensorId int64) (*TempTable) {
}
return data
}
+
+func DeleteTemperatureBySenor(sensorId int64) {
+ o := orm.NewOrm()
+ o.Using(database.Alias)
+
+ temps := GetAllTempForSensor(sensorId)
+ for _, temp := range temps {
+ o.Delete(&TempTable{Id: temp.Id})
+ }
+}
diff --git a/views/sensors.tpl b/views/sensors.tpl
index e2ffe16..5680823 100644
--- a/views/sensors.tpl
+++ b/views/sensors.tpl
@@ -22,8 +22,8 @@
-
-
+
+