fix(template-engine): carry IsMesReportable onto derived-template placeholder alarms and through descendant reconcile; final-review doc fixes

Claude-Session: https://claude.ai/code/session_01Y5ef34iUUMjmwnMpL9xgmB
This commit is contained in:
Joseph Doherty
2026-09-11 10:45:09 -04:00
parent 421d2d305e
commit 6ac95ea888
9 changed files with 185 additions and 4 deletions
+5
View File
@@ -823,6 +823,11 @@ scadabridge --url <url> instance alarm-override set --instance-id <int> --alarm
| `--priority` | no | Priority override (0–1000) |
| `--mes-reportable` | no | MES-reportable override: `true` or `false`; omit to inherit the template value |
`set` replaces the **whole** override row, so an omitted flag is not "leave as is" — it clears that
field back to inherited. `instance alarm-override set --instance-id 6 --alarm X --mes-reportable true`
wipes any existing `--priority` / `--trigger-config` override on alarm `X`; pass every override you
want to keep on the same command (`instance alarm-override list` shows the current values).
#### `instance alarm-override delete`
Remove an alarm override on an instance.
@@ -1108,6 +1108,7 @@ public class TemplateService
TriggerType = alarm.TriggerType,
TriggerConfiguration = alarm.TriggerConfiguration,
OnTriggerScriptId = alarm.OnTriggerScriptId,
IsMesReportable = alarm.IsMesReportable,
IsInherited = true,
LockedInDerived = false,
});
@@ -1385,6 +1386,7 @@ public class TemplateService
TriggerType = win.TriggerType,
TriggerConfiguration = m.EffectiveTriggerConfiguration,
OnTriggerScriptId = win.OnTriggerScriptId,
IsMesReportable = win.IsMesReportable,
IsInherited = true,
LockedInDerived = false,
}, ct);
@@ -1396,7 +1398,8 @@ public class TemplateService
existing.Description != win.Description ||
existing.OnTriggerScriptId != win.OnTriggerScriptId ||
existing.TriggerType != win.TriggerType ||
existing.IsLocked != win.IsLocked))
existing.IsLocked != win.IsLocked ||
existing.IsMesReportable != win.IsMesReportable))
{
existing.PriorityLevel = win.PriorityLevel;
existing.TriggerConfiguration = m.EffectiveTriggerConfiguration;
@@ -1404,6 +1407,7 @@ public class TemplateService
existing.OnTriggerScriptId = win.OnTriggerScriptId;
existing.TriggerType = win.TriggerType;
existing.IsLocked = win.IsLocked;
existing.IsMesReportable = win.IsMesReportable;
await _repository.UpdateTemplateAlarmAsync(existing, ct);
counts.Updated++;
}