diff options
Diffstat (limited to 'modules-available/systemstatus/page.inc.php')
-rw-r--r-- | modules-available/systemstatus/page.inc.php | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/modules-available/systemstatus/page.inc.php b/modules-available/systemstatus/page.inc.php index 05a98e94..238537d8 100644 --- a/modules-available/systemstatus/page.inc.php +++ b/modules-available/systemstatus/page.inc.php @@ -33,7 +33,8 @@ class Page_SystemStatus extends Page $service = Request::post('service', Request::REQUIRED, 'string'); $task = Taskmanager::submit('Systemctl', ['operation' => $action, 'service' => $service]); $extra = ''; - $cmp = preg_replace('/\.service$|@.*$/', '', $service); + $cmp = preg_replace('/(@.*|\.service)$/', '', $service); + User::assertPermission("restart.$cmp"); if ($cmp === 'dmsd') { $extra = '#id-DmsdLog_pane'; } elseif ($cmp === 'ldadp') { @@ -292,11 +293,14 @@ class Page_SystemStatus extends Page protected function showJournal($service, $permission) { + $cmp = preg_replace('/(@.*|\.service)$/', '', $service); User::assertPermission($permission); $output = [ 'name' => $service, 'service' => $service, 'task' => Taskmanager::submit('Systemctl', ['operation' => 'journal', 'service' => $service]), + 'restart_disabled' => User::hasPermission('restart.' . $cmp) + ? '' : 'disabled', ]; echo Render::parse('ajax-journal', ['modules' => [$output]]); } |