summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2020-10-26 15:14:58 +0100
committerSimon Rettberg2020-10-26 15:14:58 +0100
commit6d7606b2fd53a1d71f59eff5678daafe58d92a5b (patch)
tree93ff6f2afbc368de7266f2e07e8b08df982b4a24
parent[serversetup-bwlp-ipxe] stupidtable for bootentry list (diff)
downloadslx-admin-6d7606b2fd53a1d71f59eff5678daafe58d92a5b.tar.gz
slx-admin-6d7606b2fd53a1d71f59eff5678daafe58d92a5b.tar.xz
slx-admin-6d7606b2fd53a1d71f59eff5678daafe58d92a5b.zip
[serversetup-bwlp-ipxe] Empty menu item title = use bootentry title
We now leave the input box for the menu item title empty, which shows the matching bootentry's title as the placeholder. This will then also be what's displayed in the actual menu. This way, updating the boot entry's title will update the displayed menu item, if it wasn't overridden previously. Closes #3690
-rw-r--r--modules-available/serversetup-bwlp-ipxe/inc/ipxemenu.inc.php4
-rw-r--r--modules-available/serversetup-bwlp-ipxe/inc/menuentry.inc.php7
-rw-r--r--modules-available/serversetup-bwlp-ipxe/page.inc.php11
-rw-r--r--modules-available/serversetup-bwlp-ipxe/templates/menu-edit.html13
4 files changed, 18 insertions, 17 deletions
diff --git a/modules-available/serversetup-bwlp-ipxe/inc/ipxemenu.inc.php b/modules-available/serversetup-bwlp-ipxe/inc/ipxemenu.inc.php
index d4705be5..b1e13e87 100644
--- a/modules-available/serversetup-bwlp-ipxe/inc/ipxemenu.inc.php
+++ b/modules-available/serversetup-bwlp-ipxe/inc/ipxemenu.inc.php
@@ -37,8 +37,8 @@ class IPxeMenu
$this->timeoutMs = (int)$menu['timeoutms'];
$this->title = $menu['title'];
$this->defaultEntryId = $menu['defaultentryid'];
- $res = Database::simpleQuery("SELECT e.menuentryid, e.entryid, e.refmenuid, e.hotkey, e.title, e.hidden, e.sortval, e.md5pass,
- b.module, b.data AS bootentry
+ $res = Database::simpleQuery("SELECT e.menuentryid, e.entryid, e.refmenuid, e.hotkey, e.title,
+ e.hidden, e.sortval, e.md5pass, b.module, b.data AS bootentry, b.title AS betitle
FROM serversetup_menuentry e
LEFT JOIN serversetup_bootentry b USING (entryid)
WHERE e.menuid = :menuid
diff --git a/modules-available/serversetup-bwlp-ipxe/inc/menuentry.inc.php b/modules-available/serversetup-bwlp-ipxe/inc/menuentry.inc.php
index 1e567448..eb4a98de 100644
--- a/modules-available/serversetup-bwlp-ipxe/inc/menuentry.inc.php
+++ b/modules-available/serversetup-bwlp-ipxe/inc/menuentry.inc.php
@@ -41,8 +41,8 @@ class MenuEntry
*/
public static function get($menuEntryId)
{
- $row = Database::queryFirst("SELECT e.menuentryid, e.entryid, e.refmenuid, e.hotkey, e.title, e.hidden, e.sortval, e.plainpass, e.md5pass,
- b.module, b.data AS bootentry
+ $row = Database::queryFirst("SELECT e.menuentryid, e.entryid, e.refmenuid, e.hotkey, e.title,
+ e.hidden, e.sortval, e.plainpass, e.md5pass, b.module, b.data AS bootentry, b.title AS betitle
FROM serversetup_menuentry e
LEFT JOIN serversetup_bootentry b USING (entryid)
WHERE e.menuentryid = :id", ['id' => $menuEntryId]);
@@ -59,6 +59,9 @@ class MenuEntry
public function __construct($row)
{
if (is_array($row)) {
+ if (empty($row['title']) && !empty($row['betitle'])) {
+ $row['title'] = $row['betitle'];
+ }
foreach ($row as $key => $value) {
if (property_exists($this, $key)) {
$this->{$key} = $value;
diff --git a/modules-available/serversetup-bwlp-ipxe/page.inc.php b/modules-available/serversetup-bwlp-ipxe/page.inc.php
index 9bf0afe4..122c3791 100644
--- a/modules-available/serversetup-bwlp-ipxe/page.inc.php
+++ b/modules-available/serversetup-bwlp-ipxe/page.inc.php
@@ -379,7 +379,8 @@ class Page_ServerSetup extends Page
// if = edit, else = add new
if ($id !== 0) {
$menu = Database::queryFirst("SELECT menuid, timeoutms, title, defaultentryid, isdefault
- FROM serversetup_menu WHERE menuid = :id", compact('id'));
+ FROM serversetup_menu m
+ WHERE menuid = :id", compact('id'));
} else {
$menu = [];
$menu['menuid'] = 0;
@@ -405,8 +406,12 @@ class Page_ServerSetup extends Page
$menu['timeout'] = round($menu['timeoutms'] / 1000);
$menu['entries'] = [];
- $res = Database::simpleQuery("SELECT menuentryid, entryid, refmenuid, hotkey, title, hidden, sortval, plainpass FROM
- serversetup_menuentry WHERE menuid = :id ORDER BY sortval ASC", compact('id'));
+ $res = Database::simpleQuery("SELECT me.menuentryid, me.entryid, me.refmenuid, me.hotkey, me.title,
+ me.hidden, me.sortval, me.plainpass, be.title AS parenttitle
+ FROM serversetup_menuentry me
+ LEFT JOIN serversetup_bootentry be USING (entryid)
+ WHERE menuid = :id
+ ORDER BY sortval ASC", compact('id'));
while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
if ($row['entryid'] === null && $row['refmenuid'] !== null) {
$row['entryid'] = 'menu:' . $row['refmenuid'];
diff --git a/modules-available/serversetup-bwlp-ipxe/templates/menu-edit.html b/modules-available/serversetup-bwlp-ipxe/templates/menu-edit.html
index b79e6bb3..6f119515 100644
--- a/modules-available/serversetup-bwlp-ipxe/templates/menu-edit.html
+++ b/modules-available/serversetup-bwlp-ipxe/templates/menu-edit.html
@@ -80,7 +80,7 @@
</td>
<td>
<input class="form-control title" name="entry[{{menuentryid}}][title]" value="{{title}}"
- maxlength="100" {{readonly}}>
+ placeholder="{{parenttitle}}" maxlength="100" {{readonly}}>
</td>
<td>
@@ -252,7 +252,7 @@
</button>
</td>
<td>
- <input class="form-control title" data-old="#new#" name="entry[%new%][title]" maxlength="100">
+ <input class="form-control title" name="entry[%new%][title]" maxlength="100">
</td>
<td>
<select class="form-control key-list no-spacer" style="display: none;" name="entry[%new%][hotkey]">
@@ -357,15 +357,8 @@
tableRow.find('.no-spacer').show();
}
var $title = tableRow.find('.title');
- var oldval = $title.data('old');
- if (oldval === '#stop#')
- return;
- if (oldval !== '#new#' && oldval !== $title.val()) {
- $title.data('old', '#stop#');
- return;
- }
var text = $('#entrydata-' + entryId.replace(':', '\\:') + ' .name').text();
- $title.val(text).data('old', text);
+ $title.prop('placeholder', text);
});
});
</script>