Added Different view for non-admins
This commit is contained in:
@@ -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 ?? [];
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user