summaryrefslogtreecommitdiffstats
path: root/modules-available/serversetup-bwlp-ipxe
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/serversetup-bwlp-ipxe')
-rw-r--r--modules-available/serversetup-bwlp-ipxe/page.inc.php21
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);
}