Config UI: remove references when deleting devices (#19832)
Co-authored-by: Michael Geers <michael@geers.tv>
This commit is contained in:
parent
ec9af3782f
commit
d09177b4b3
7 changed files with 319 additions and 47 deletions
|
|
@ -19,10 +19,10 @@ import (
|
|||
|
||||
func getLoadpointStaticConfig(lp loadpoint.API) loadpoint.StaticConfig {
|
||||
return loadpoint.StaticConfig{
|
||||
Charger: lp.GetChargerName(),
|
||||
Meter: lp.GetMeterName(),
|
||||
Circuit: lp.GetCircuitName(),
|
||||
Vehicle: lp.GetDefaultVehicle(),
|
||||
Charger: lp.GetChargerRef(),
|
||||
Meter: lp.GetMeterRef(),
|
||||
Circuit: lp.GetCircuitRef(),
|
||||
Vehicle: lp.GetDefaultVehicleRef(),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -242,6 +242,33 @@ func deleteLoadpointHandler() http.HandlerFunc {
|
|||
return
|
||||
}
|
||||
|
||||
// cleanup references
|
||||
lp, err := configurableDevice(config.NameForID(id), h)
|
||||
if err != nil {
|
||||
jsonError(w, http.StatusBadRequest, err)
|
||||
return
|
||||
}
|
||||
|
||||
instance := lp.Instance()
|
||||
|
||||
if dev, err := configurableDevice(instance.GetChargerRef(), config.Chargers()); err == nil {
|
||||
if err := deleteDevice(dev.ID(), config.Chargers()); err != nil {
|
||||
jsonError(w, http.StatusBadRequest, err)
|
||||
return
|
||||
}
|
||||
|
||||
setConfigDirty()
|
||||
}
|
||||
|
||||
if dev, err := configurableDevice(instance.GetMeterRef(), config.Meters()); err == nil {
|
||||
if err := deleteDevice(dev.ID(), config.Meters()); err != nil {
|
||||
jsonError(w, http.StatusBadRequest, err)
|
||||
return
|
||||
}
|
||||
|
||||
setConfigDirty()
|
||||
}
|
||||
|
||||
setConfigDirty()
|
||||
|
||||
if err := deleteDevice(id, h); err != nil {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue