Added Different view for non-admins

This commit is contained in:
Luca Haid
2025-02-03 13:58:06 +01:00
parent f90ef688f5
commit 556216fe44
3 changed files with 222 additions and 152 deletions

View File

@@ -13,6 +13,14 @@ class DeviceController extends mfBaseController
if (!$me->is(["Admin"])) {
$this->redirect("Dashboard");
}
if ($this->me->is(["Admin"])) {
$this->allowedPops = array_column(PopModel::getAll(), 'id');
} else {
$networkIds = array_column($this->me->getProperty('my_networks'), 'id');
$popIds = array_column(PopNetworkModel::search(['Networks' => $networkIds]), 'pop_id');
$this->allowedPops = array_unique(array_merge([55], $popIds));
}
}
protected function indexAction()
@@ -75,6 +83,13 @@ class DeviceController extends mfBaseController
$this->redirect("Device");
}
if (!$this->me->is(["Admin"])) {
if (!in_array($device->pop_id, $this->allowedPops)) {
$this->layout()->setFlash("Gerät nicht gefunden", "error");
$this->redirect("Device");
}
}
$this->layout()->setTemplate("Device/Detail");
$devicesconfig = DeviceModel::getconifg($id);
$devices = DeviceModel::getOne($id);
@@ -99,7 +114,6 @@ class DeviceController extends mfBaseController
$this->layout()->set("devicetypes", DevicetypeModel::getAll());
$this->layout()->set("pops", PopModel::getAll());
$this->layout()->set("devices", DeviceModel::getAll());
}
protected function editAction()
@@ -123,6 +137,11 @@ class DeviceController extends mfBaseController
protected function saveAction()
{
if (!$this->me->is(["Admin"])) {
$this->layout()->setFlash("Keine Berechtigung", "error");
$this->redirect("Device");
}
$r = $this->request;
$id = $r->id;
//var_dump($r->get());exit;
@@ -395,7 +414,7 @@ class DeviceController extends mfBaseController
private function getDevices()
{
$devices = DeviceModel::getAll();
$devices = DeviceModel::search(['popIds' => $this->allowedPops]);
foreach ($devices as $device) {
$locationText = "";
@@ -415,7 +434,7 @@ class DeviceController extends mfBaseController
if ($device->last_config_backup) {
if (time() - $device->last_config_backup <= 172800) {
$backup = 'ok';
if ($device->autobackup==1) {
if ($device->autobackup == 1) {
$backup = 'auto';
}
} else {
@@ -443,5 +462,4 @@ class DeviceController extends mfBaseController
return $data ?? [];
}
}