From f26fbbf39707e4a5148dc04605e9cf597eed7be3 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Thu, 25 May 2023 14:09:13 +0200 Subject: [PATCH] Not showing AddressDB menu if user does not own gwr Network --- Layout/default/Building/Form.php | 5 +++-- Layout/default/menu.php | 4 ++-- application/User/User.php | 8 ++++++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Layout/default/Building/Form.php b/Layout/default/Building/Form.php index 88d218bc7..0d719960f 100644 --- a/Layout/default/Building/Form.php +++ b/Layout/default/Building/Form.php @@ -40,13 +40,14 @@ if($building->network_id == $network->id): echo "selected='selected'"; endif; - else: + elseif($request_network_id): if($request_network_id == $network->id): echo "selected='selected'"; endif; + elseif(count($networks) == 1): + echo "selected='selected'"; endif; ?>>name)?> - endif; diff --git a/Layout/default/menu.php b/Layout/default/menu.php index 643e03288..de282cb6b 100644 --- a/Layout/default/menu.php +++ b/Layout/default/menu.php @@ -30,7 +30,7 @@ - is(["Admin", "netowner"])): ?> + is(["Admin"]) || ($me->is("netowner") && $me->hasGwrNetworks())): ?>
  • Stammdaten
    @@ -51,7 +51,7 @@
  • "> Benutzer
  • Grundstammdaten
  • - is(["Admin", "netowner"])): ?> + is(["Admin"]) || ($me->is("netowner") && $me->hasGwrNetworks())): ?>
  • "> GWR / AddressDB
  • is(["Admin"])): ?> diff --git a/application/User/User.php b/application/User/User.php index 62aa16132..21841afe1 100644 --- a/application/User/User.php +++ b/application/User/User.php @@ -260,6 +260,14 @@ class User extends mfBaseModel { return $typenets; } + public function hasGwrNetworks() { + $my_networks = $this->myNetworks(["netowner"]); + foreach($my_networks as $network) { + if($network->adb_netzgebiet_id) return true; + } + return false; + } + private function getMyNetworks() { if(!$this->id) { return false;