Devices Update

* Berechtigungen devices für Netzgebietzuordnungen
This commit is contained in:
Daniel Spitzer
2025-02-04 16:35:19 +01:00
parent 5f32c9fc14
commit b202e3a57f
4 changed files with 77 additions and 59 deletions

View File

@@ -275,7 +275,7 @@ foreach ($devicesall as $deviceall) {
} }
?> ?>
<div class="col-12 col-lg-4 card-border"> <div class="col-12 <?= ($me->is('Admin')) ? 'col-lg-4' : 'col-lg-7' ?> card-border">
<div> <div>
<h4><?= $StdHeader ?></h4> <h4><?= $StdHeader ?></h4>
</div> </div>
@@ -338,6 +338,7 @@ foreach ($devicesall as $deviceall) {
} }
?> ?>
</div> </div>
<?php if ($me->is('Admin')) : ?>
<div class="col-12 col-lg-3 card-border"> <div class="col-12 col-lg-3 card-border">
<div class="overflow-auto"> <div class="overflow-auto">
<h4 class="float-left">Config Backups</h4> <h4 class="float-left">Config Backups</h4>
@@ -402,6 +403,10 @@ foreach ($devicesall as $deviceall) {
} }
?> ?>
</div> </div>
<?php
endif
?>
</div> </div>
<?php <?php
if ($devices->devicetype->olt && TT_MBI_API_ENABLE) : if ($devices->devicetype->olt && TT_MBI_API_ENABLE) :

View File

@@ -49,7 +49,7 @@
</ul> </ul>
</li> </li>
<?php endif; ?> <?php endif; ?>
<?php if($me->is(["Admin"]) || ($me->is("netowner") && $me->hasGwrNetworks())): ?> <?php if($me->is(["Admin"]) || ($me->is("netowner","lineplanner","pipeplanner","pipeworker","lineworker","salespartner"))): ?>
<li class="has-submenu"> <li class="has-submenu">
<a href="#"> <a href="#">
<i class="far fa-fw fa-database"></i>Stammdaten <div class="arrow-down"></div> <i class="far fa-fw fa-database"></i>Stammdaten <div class="arrow-down"></div>
@@ -64,7 +64,11 @@
<li class="mobile-hide"><a href="<?=self::getUrl("Network")?>"><i class="fad fa-fw fa-network-wired text-info"></i> Netzgebiete</a></li> <li class="mobile-hide"><a href="<?=self::getUrl("Network")?>"><i class="fad fa-fw fa-network-wired text-info"></i> Netzgebiete</a></li>
<li class="" ><a href="<?=self::getUrl("Pop")?>"><i class="fad fa-fw fa-house text-info"></i> Pops</a></li> <li class="" ><a href="<?=self::getUrl("Pop")?>"><i class="fad fa-fw fa-house text-info"></i> Pops</a></li>
<?php endif; ?>
<?php if($me->is(["Admin"]) || ($me->is("netowner","lineplanner","pipeplanner","pipeworker","lineworker","salespartner"))): ?>
<li class=""><a href="<?=self::getUrl("Device")?>"><i class="fad fa-fw fa-router text-info "></i> Devices</a></li> <li class=""><a href="<?=self::getUrl("Device")?>"><i class="fad fa-fw fa-router text-info "></i> Devices</a></li>
<?php endif; ?>
<?php if($me->is(["Admin"])): ?>
<li class="has-sub-submenu"><a href="<?=self::getUrl("User")?>"><i class="fad fa-fw fa-users text-info"></i> Benutzer</a></li> <li class="has-sub-submenu"><a href="<?=self::getUrl("User")?>"><i class="fad fa-fw fa-users text-info"></i> Benutzer</a></li>
<li class="has-sub-submenu font-weight-bold mt-1 mobile-hide"><a>Grundstammdaten</a></li> <li class="has-sub-submenu font-weight-bold mt-1 mobile-hide"><a>Grundstammdaten</a></li>
<?php endif; ?> <?php endif; ?>

View File

@@ -10,7 +10,7 @@ class DeviceController extends mfBaseController
$this->me = $me; $this->me = $me;
$this->layout()->set("me", $me); $this->layout()->set("me", $me);
if (!$me->is(["Admin"])) { if (!$me->is(["Admin", "netowner", "lineplanner", "pipeplanner", "pipeworker", "lineworker"])) {
$this->redirect("Dashboard"); $this->redirect("Dashboard");
} }
@@ -18,7 +18,11 @@ class DeviceController extends mfBaseController
$this->allowedPops = null; $this->allowedPops = null;
} else { } else {
$networkIds = array_column($this->me->getProperty('my_networks'), 'id'); $networkIds = array_column($this->me->getProperty('my_networks'), 'id');
$this->allowedPops = array_column(PopNetworkModel::search(['Networks' => $networkIds]), 'pop_id'); $pops=PopNetworkModel::search(['Networks' => $networkIds]);
foreach ($pops as $pop) {
$popIds[] = $pop->pop_id;
}
$this->allowedPops = $popIds;
} }
} }

View File

@@ -146,6 +146,11 @@ class PopNetworkModel
$where .= " AND network_id=$networkid"; $where .= " AND network_id=$networkid";
} }
} }
if (array_key_exists("Networks", $filter)) {
$Networks = $filter['Networks'];
$where .= " AND network_id IN (" . implode(",", $Networks) . ")";
}
//var_dump($filter, $where);exit; //var_dump($filter, $where);exit;
return $where; return $where;