From db1dcf5a9bcd6efa4744c60cfca37a3ee0e4173e Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Sat, 21 May 2022 12:38:16 +0200 Subject: [remoteaccess] Mark locations that have access restrictions in place --- modules-available/remoteaccess/page.inc.php | 19 ++++++++++++++----- .../remoteaccess/templates/edit-group.html | 8 ++++++++ 2 files changed, 22 insertions(+), 5 deletions(-) (limited to 'modules-available/remoteaccess') diff --git a/modules-available/remoteaccess/page.inc.php b/modules-available/remoteaccess/page.inc.php index ca0218e2..70d34238 100644 --- a/modules-available/remoteaccess/page.inc.php +++ b/modules-available/remoteaccess/page.inc.php @@ -29,10 +29,10 @@ class Page_RemoteAccess extends Page Database::exec("UPDATE remoteaccess_group SET groupname = :name, wolcount = :wol, passwd = :passwd, active = :active WHERE groupid = :id", [ 'id' => $id, - 'name' => isset($group['groupname']) ? $group['groupname'] : $id, - 'wol' => isset($group['wolcount']) ? $group['wolcount'] : 0, - 'passwd' => isset($group['passwd']) ? $group['passwd'] : 0, - 'active' => isset($group['active']) && $group['active'] ? 1 : 0, + 'name' => $group['groupname'] ?? $id, + 'wol' => $group['wolcount'] ?? 0, + 'passwd' => $group['passwd'] ?? 0, + 'active' => (int)($group['active'] ?? 0), ]); } Message::addSuccess('settings-saved'); @@ -116,10 +116,19 @@ class Page_RemoteAccess extends Page $locationList[$lid]['checked'] = 'checked'; } } + $scheduler = Module::isAvailable('rebootcontrol'); foreach ($locationList as $lid => &$loc) { if (!in_array($lid, $allowed)) { $loc['disabled'] = 'disabled'; } + if ($scheduler) { + $options = Scheduler::getLocationOptions($lid); + if ($options['ra-mode'] === Scheduler::RA_SELECTIVE) { + $loc['ra_selective'] = true; + } elseif ($options['ra-mode'] === Scheduler::RA_NEVER) { + $loc['ra_never'] = true; + } + } } $data = [ 'groupid' => $groupid, @@ -136,7 +145,7 @@ class Page_RemoteAccess extends Page * @param int $groupid group to check * @return bool if we have permission for all the locations assigned to group */ - private function checkGroupLocations($groupid) + private function checkGroupLocations(int $groupid): bool { $allowed = User::getAllowedLocations('group.locations'); if (in_array(0, $allowed)) diff --git a/modules-available/remoteaccess/templates/edit-group.html b/modules-available/remoteaccess/templates/edit-group.html index 0f09f071..3f456cb7 100644 --- a/modules-available/remoteaccess/templates/edit-group.html +++ b/modules-available/remoteaccess/templates/edit-group.html @@ -33,6 +33,14 @@
+ {{#ra_never}} + – + + {{/ra_never}} + {{#ra_selective}} + – + + {{/ra_selective}} {{/locations}} -- cgit v1.2.3-55-g7522