diff options
Diffstat (limited to 'modules-available/serversetup-bwlp-ipxe')
| -rw-r--r-- | modules-available/serversetup-bwlp-ipxe/page.inc.php | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/modules-available/serversetup-bwlp-ipxe/page.inc.php b/modules-available/serversetup-bwlp-ipxe/page.inc.php index c9260687..0de71eff 100644 --- a/modules-available/serversetup-bwlp-ipxe/page.inc.php +++ b/modules-available/serversetup-bwlp-ipxe/page.inc.php @@ -330,7 +330,7 @@ class Page_ServerSetup extends Page if (empty($bootentryTable)) { if (Property::getServerIp() === 'invalid') { Message::addError('no-ip-set'); - Util::redirect('?do=serversetup&show=address'); + Util::redirect('?do=serversetup&show=address', 400); } IPxe::importLegacyMenu(true); $num = IPxe::importSubnetPxeMenus('/srv/openslx/tftp/pxelinux.cfg'); @@ -415,7 +415,7 @@ class Page_ServerSetup extends Page if ($menu === false) { Message::addError('invalid-menu-id', $id); - Util::redirect('?do=serversetup&show=menu'); + Util::redirect('?do=serversetup&show=menu', 404); } $highlight = Request::get('highlight', false, 'string'); if ($id !== 0 && !$this->hasMenuPermission($id, 'ipxe.menu.edit')) { @@ -531,18 +531,18 @@ class Page_ServerSetup extends Page WHERE entryid = :id LIMIT 1', ['id' => $id]); if ($row === false) { Message::addError('invalid-boot-entry', $id); - Util::redirect('?do=serversetup'); + Util::redirect('?do=serversetup', 404); } if ($row['module'] === '.special') { Message::addError('cannot-edit-special', $id); - Util::redirect('?do=serversetup'); + Util::redirect('?do=serversetup', 403); } if ($row['module'][0] === '.') { // either script or exec entry $entry = BootEntry::fromJson($row['module'], $row['data']); if ($entry === null) { Message::addError('unknown-bootentry-type', $id); - Util::redirect('?do=serversetup&show=bootentry'); + Util::redirect('?do=serversetup&show=bootentry', 404); } $entry->addFormFields($params); } else { @@ -884,7 +884,7 @@ class Page_ServerSetup extends Page $entry = null; } if ($entry === null) { - Message::addError('main.empty-field'); + Message::addError('main.value-invalid', 'type', $type); Util::redirect('?do=serversetup&show=bootentry'); } $entryData = json_encode($entry->toArray()); @@ -995,7 +995,12 @@ class Page_ServerSetup extends Page Render::addTemplate('menu-assign-location', $data); } - private function saveLocationMenu() + /** + * Save location <-> menu assignment. + * Gets menu and location from POSt data, checks permissions and existence of menu/location. + * Also allows overriding the default entry id of the menu. + */ + private function saveLocationMenu(): void { $locationId = Request::post('locationid', false, 'int'); $loc = Location::get($locationId); @@ -1082,7 +1087,7 @@ class Page_ServerSetup extends Page $id = IPxe::insertMenu($menu, 'Imported Menu', null, 0, [], []); if ($id === null) { Message::addError('import-error'); - Util::redirect('?do=serversetup&show=import'); + Util::redirect('?do=serversetup&show=import', 500); } else { Util::redirect('?do=serversetup&show=editmenu&id=' . $id); } |
