diff options
author | Simon Rettberg | 2020-10-26 15:14:58 +0100 |
---|---|---|
committer | Simon Rettberg | 2020-10-26 15:14:58 +0100 |
commit | 6d7606b2fd53a1d71f59eff5678daafe58d92a5b (patch) | |
tree | 93ff6f2afbc368de7266f2e07e8b08df982b4a24 /modules-available/serversetup-bwlp-ipxe | |
parent | [serversetup-bwlp-ipxe] stupidtable for bootentry list (diff) | |
download | slx-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
Diffstat (limited to 'modules-available/serversetup-bwlp-ipxe')
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> |