Add the possibilitie to delete a sensor and all its values.

This commit is contained in:
Chteufleur 2015-10-13 23:43:35 +02:00
parent 55aa57bf45
commit 4f0f2a6006
4 changed files with 36 additions and 3 deletions

View File

@ -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)
}

View File

@ -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})
}

View File

@ -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})
}
}

View File

@ -22,8 +22,8 @@
<input type="text" class="form-control" name="description" value="{{$val.Description}}"/>
</div>
<br/><br/>
<input class="btn btn-default btn btn-success" type="submit" value="Enregistrer"/>
<!-- <input class="btn btn-default btn btn-danger" type="submit" value="Supprimer"/> -->
<input class="btn btn-default btn btn-success" name="save" type="submit" value="Enregistrer"/>
<input class="btn btn-default btn btn-danger" name="delete" type="submit" value="Supprimer"/>
</div>
</div>
</form>