From c561efdc8f5bbef2b2521bb947ffd1ee38d673f6 Mon Sep 17 00:00:00 2001 From: Tony Murray Date: Thu, 5 Sep 2024 20:07:30 -0500 Subject: [PATCH] Fix sensor custom limits being reverted (#16364) --- app/Observers/SensorObserver.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/Observers/SensorObserver.php b/app/Observers/SensorObserver.php index 7fb0487e96..9d30b8e80d 100644 --- a/app/Observers/SensorObserver.php +++ b/app/Observers/SensorObserver.php @@ -58,10 +58,23 @@ class SensorObserver public function updating(Sensor $sensor) { // prevent update of limits - if ($sensor->sensor_custom !== 'Yes') { + if ($sensor->sensor_custom == 'Yes') { + // if custom is set to yes (future someone's problem to allow ui to update this with eloquent) + $sensor->sensor_limit = $sensor->getOriginal('sensor_limit'); + $sensor->sensor_limit_warn = $sensor->getOriginal('sensor_limit_warn'); + $sensor->sensor_limit_low_warn = $sensor->getOriginal('sensor_limit_low_warn'); + $sensor->sensor_limit_low = $sensor->getOriginal('sensor_limit_low'); + } else { + // only allow update if it wasn't previously set if ($sensor->getOriginal('sensor_limit') !== null) { $sensor->sensor_limit = $sensor->getOriginal('sensor_limit'); } + if ($sensor->getOriginal('sensor_limit_warn') !== null) { + $sensor->sensor_limit_warn = $sensor->getOriginal('sensor_limit_warn'); + } + if ($sensor->getOriginal('sensor_limit_low_warn') !== null) { + $sensor->sensor_limit_low_warn = $sensor->getOriginal('sensor_limit_low_warn'); + } if ($sensor->getOriginal('sensor_limit_low') !== null) { $sensor->sensor_limit_low = $sensor->getOriginal('sensor_limit_low'); }