notifications: let Recognition set start/end dates; geenforce B2 client payload fetch

Recognition edit hid the time fields (grouped with Recertification), so start/end
could not be adjusted even though the backend honors them. Show the time fields
for every type except Recertification (due-date driven); Recognition end still
auto-fills to the next 8 AM reset when blank.

Also GE-Enforce B2 client (HTTPS payload consume): ShopdbEnforceClient.psm1 gains
Get-ShopdbPayload (fetch by sha256, verify, cache) + Resolve-ShopdbPayloads
(rewrite http/inline entries to local staged files so the engine installs from
local, no SMB); Invoke-ShopdbEnforce resolves payloads before running the engine;
importer parses PayloadSource/PayloadSha256/PayloadRef. VM-verified: a SYSTEM
Windows client fetched a payload over HTTP by hash, hash matched.
This commit is contained in:
cproudlock
2026-07-21 10:56:00 -04:00
parent b00ef72581
commit 0bb906a37c
4 changed files with 104 additions and 4 deletions

View File

@@ -150,8 +150,10 @@
/>
</div>
<!-- Time fields - Hidden for Recognition (auto-set) -->
<div v-if="!isEmployeeType" class="form-row">
<!-- Time fields. Recertification hides them (due-date driven); every
other type, including Recognition, can set start/end. Recognition
end auto-fills to the next 8 AM reset when left blank. -->
<div v-if="!isRecertification" class="form-row">
<div class="form-group">
<label for="starttime">Start Time *</label>
<div class="input-group">