diff options
| author | Simon Rettberg | 2025-05-26 18:09:17 +0200 |
|---|---|---|
| committer | Simon Rettberg | 2025-05-26 18:09:17 +0200 |
| commit | fa6cb9aab5366f3f6ada28882865eacaeb7a0ef6 (patch) | |
| tree | 9a9255437c3d24492f7235918f1d63fe66cc388d | |
| parent | [syslog/eventlog] Allow creating filter rule based on client log entry (diff) | |
| download | slx-admin-fa6cb9aab5366f3f6ada28882865eacaeb7a0ef6.tar.gz slx-admin-fa6cb9aab5366f3f6ada28882865eacaeb7a0ef6.tar.xz slx-admin-fa6cb9aab5366f3f6ada28882865eacaeb7a0ef6.zip | |
[serversetup-bwlp-ipxe] Set menu timeout to 1 second in exam mode
| -rw-r--r-- | modules-available/serversetup-bwlp-ipxe/api.inc.php | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/modules-available/serversetup-bwlp-ipxe/api.inc.php b/modules-available/serversetup-bwlp-ipxe/api.inc.php index dc78f481..2a6460d5 100644 --- a/modules-available/serversetup-bwlp-ipxe/api.inc.php +++ b/modules-available/serversetup-bwlp-ipxe/api.inc.php @@ -41,12 +41,17 @@ $menu = IPxeMenu::forClient($builder->clientIp(), $builder->uuid()); } $data = null; - if ($menu->itemCount() === 1 && $menu->timeoutMs() === 0) { + // In exam mode, either skip menu if only one entry, or shorten timeout to 1 second + $isExamMode = Module::isAvailable('exams') + && Exams::isInExamMode([Location::getFromIpAndUuid($builder->clientIp(), $builder->uuid())]); + if ($menu->itemCount() === 1 && ($menu->timeoutMs === 0 || $isExamMode)) { // One entry, no timeout -- direct boot $entry = $menu->defaultEntry(); if ($entry !== null) { $data = $builder->getMenuEntry($entry); } + } elseif ($isExamMode) { + $menu->timeoutMs = 1000; } if ($data === null) { // Show menu |
