From 0c3f1b24059e7f65da2b91520c88288baa58a24a Mon Sep 17 00:00:00 2001 From: Luca Haid Date: Thu, 12 Jun 2025 08:07:23 +0000 Subject: [PATCH] Adb wohneinheit/view public and permissions --- Layout/default/AddressDB/Index.php | 2 +- .../ADBWohneinheit/ADBWohneinheitModel.php | 54 ++++++++++--------- 2 files changed, 29 insertions(+), 27 deletions(-) diff --git a/Layout/default/AddressDB/Index.php b/Layout/default/AddressDB/Index.php index b57172f53..a18723d6e 100644 --- a/Layout/default/AddressDB/Index.php +++ b/Layout/default/AddressDB/Index.php @@ -179,7 +179,7 @@ 1])?>">Filter zurücksetzen - can("ADBExtended")): ?> + can("ADBExtended") || $me->isAdmin()): ?> "> Doppelte Homes diff --git a/application/ADBWohneinheit/ADBWohneinheitModel.php b/application/ADBWohneinheit/ADBWohneinheitModel.php index b9c031b9f..5de313a87 100644 --- a/application/ADBWohneinheit/ADBWohneinheitModel.php +++ b/application/ADBWohneinheit/ADBWohneinheitModel.php @@ -300,12 +300,12 @@ class ADBWohneinheitModel { if ($network_owner) $where .= " AND Network.owner_id = '" . FronkDB::singleton()->escape($network_owner) . "'"; $sql = "SELECT Wohneinheit.extref, COUNT(*) as count, Hausnummer.netzgebiet_id as netzgebiet_id, Netzgebiet.name as netzgebiet_name, Address.company as netzgebiet_owner - FROM Wohneinheit - LEFT JOIN Hausnummer ON (Hausnummer.id = Wohneinheit.hausnummer_id) - LEFT JOIN Netzgebiet ON (Netzgebiet.id = Hausnummer.netzgebiet_id) - LEFT JOIN thetool.Network ON (Network.adb_netzgebiet_id = Netzgebiet.id) - LEFT JOIN thetool.Address ON (Network.owner_id = Address.id) - WHERE $where AND Wohneinheit.extref IS NOT NULL AND Netzgebiet.name NOT LIKE 'SBIDI%' + FROM ". ADDRESSDB_DBNAME . ".Wohneinheit + LEFT JOIN ". ADDRESSDB_DBNAME . ".Hausnummer ON (Hausnummer.id = Wohneinheit.hausnummer_id) + LEFT JOIN ". ADDRESSDB_DBNAME . ".Netzgebiet ON (Netzgebiet.id = Hausnummer.netzgebiet_id) + LEFT JOIN ". FRONKDB_DBNAME .".Network ON (Network.adb_netzgebiet_id = Netzgebiet.id) + LEFT JOIN ". FRONKDB_DBNAME .".Address ON (Network.owner_id = Address.id) + WHERE $where AND Wohneinheit.extref IS NOT NULL GROUP BY Wohneinheit.extref, Hausnummer.netzgebiet_id HAVING COUNT(*) > 1 ORDER BY COUNT(*) DESC"; @@ -329,11 +329,11 @@ class ADBWohneinheitModel { if (!empty($duplicateExtrefs)) { $extrefList = "'" . implode("','", array_map([$db, 'real_escape_string'], $duplicateExtrefs)) . "'"; $detailSql = "SELECT Wohneinheit.*, thetool.Address.company AS company, Hausnummer.rimo_id AS hausnummer_extref - FROM Wohneinheit - LEFT JOIN Hausnummer ON (Hausnummer.id = Wohneinheit.hausnummer_id) - LEFT JOIN Netzgebiet ON (Netzgebiet.id = Hausnummer.netzgebiet_id) - LEFT JOIN thetool.Network ON (Network.adb_netzgebiet_id = Netzgebiet.id) - LEFT JOIN thetool.Address ON (Network.owner_id = Address.id) + FROM ". ADDRESSDB_DBNAME .".Wohneinheit + LEFT JOIN ". ADDRESSDB_DBNAME .".Hausnummer ON (Hausnummer.id = Wohneinheit.hausnummer_id) + LEFT JOIN ". ADDRESSDB_DBNAME .".Netzgebiet ON (Netzgebiet.id = Hausnummer.netzgebiet_id) + LEFT JOIN ". FRONKDB_DBNAME .".Network ON (Network.adb_netzgebiet_id = Netzgebiet.id) + LEFT JOIN ". FRONKDB_DBNAME .".Address ON (Network.owner_id = Address.id) WHERE $where AND Wohneinheit.extref IN ($extrefList) ORDER BY Wohneinheit.extref"; @@ -367,11 +367,11 @@ class ADBWohneinheitModel { if ($network_owner) $where .= " AND Network.owner_id = '" . FronkDB::singleton()->escape($network_owner) . "'"; $sql = "SELECT Wohneinheit.oaid, COUNT(*) as count, Hausnummer.netzgebiet_id as netzgebiet_id, Netzgebiet.name as netzgebiet_name, Address.company as netzgebiet_owner - FROM Wohneinheit - LEFT JOIN Hausnummer ON (Hausnummer.id = Wohneinheit.hausnummer_id) - LEFT JOIN Netzgebiet ON (Netzgebiet.id = Hausnummer.netzgebiet_id) - LEFT JOIN thetool.Network ON (Network.adb_netzgebiet_id = Netzgebiet.id) - LEFT JOIN thetool.Address ON (Network.owner_id = Address.id) + FROM ". ADDRESSDB_DBNAME .".Wohneinheit + LEFT JOIN ". ADDRESSDB_DBNAME .".Hausnummer ON (Hausnummer.id = Wohneinheit.hausnummer_id) + LEFT JOIN ". ADDRESSDB_DBNAME .".Netzgebiet ON (Netzgebiet.id = Hausnummer.netzgebiet_id) + LEFT JOIN ". FRONKDB_DBNAME .".Network ON (Network.adb_netzgebiet_id = Netzgebiet.id) + LEFT JOIN ". FRONKDB_DBNAME .".Address ON (Network.owner_id = Address.id) WHERE $where AND Wohneinheit.oaid IS NOT NULL GROUP BY Wohneinheit.oaid, Hausnummer.netzgebiet_id HAVING COUNT(*) > 1 @@ -396,11 +396,12 @@ class ADBWohneinheitModel { if (!empty($duplicateOaids)) { $oaidList = "'" . implode("','", array_map([$db, 'real_escape_string'], $duplicateOaids)) . "'"; $detailSql = "SELECT Wohneinheit.*, thetool.Address.company AS company, Hausnummer.rimo_id AS hausnummer_extref - FROM Wohneinheit - LEFT JOIN Hausnummer ON (Hausnummer.id = Wohneinheit.hausnummer_id) - LEFT JOIN Netzgebiet ON (Netzgebiet.id = Hausnummer.netzgebiet_id) - LEFT JOIN thetool.Network ON (Network.adb_netzgebiet_id = Netzgebiet.id) - LEFT JOIN thetool.Address ON (Network.owner_id = Address.id) + + FROM ". ADDRESSDB_DBNAME .".Wohneinheit + LEFT JOIN ". ADDRESSDB_DBNAME .".Hausnummer ON (Hausnummer.id = Wohneinheit.hausnummer_id) + LEFT JOIN ". ADDRESSDB_DBNAME .".Netzgebiet ON (Netzgebiet.id = Hausnummer.netzgebiet_id) + LEFT JOIN ". FRONKDB_DBNAME .".Network ON (Network.adb_netzgebiet_id = Netzgebiet.id) + LEFT JOIN ". FRONKDB_DBNAME .".Address ON (Network.owner_id = Address.id) WHERE $where AND Wohneinheit.oaid IN ($oaidList) ORDER BY Wohneinheit.oaid"; @@ -434,11 +435,12 @@ class ADBWohneinheitModel { if ($network_owner) $where .= " AND Network.owner_id = '" . FronkDB::singleton()->escape($network_owner) . "'"; $detailSql = "SELECT Wohneinheit.*, thetool.Address.company AS company, Hausnummer.rimo_id AS hausnummer_extref, Netzgebiet.name AS netzgebiet_name, Netzgebiet.id AS netzgebiet_id, Address.company as netzgebiet_owner - FROM Wohneinheit - LEFT JOIN Hausnummer ON (Hausnummer.id = Wohneinheit.hausnummer_id) - LEFT JOIN Netzgebiet ON (Netzgebiet.id = Hausnummer.netzgebiet_id) - LEFT JOIN thetool.Network ON (Network.adb_netzgebiet_id = Netzgebiet.id) - LEFT JOIN thetool.Address ON (Network.owner_id = Address.id) + + FROM ". ADDRESSDB_DBNAME .".Wohneinheit + LEFT JOIN ". ADDRESSDB_DBNAME .".Hausnummer ON (Hausnummer.id = Wohneinheit.hausnummer_id) + LEFT JOIN ". ADDRESSDB_DBNAME .".Netzgebiet ON (Netzgebiet.id = Hausnummer.netzgebiet_id) + LEFT JOIN ". FRONKDB_DBNAME .".Network ON (Network.adb_netzgebiet_id = Netzgebiet.id) + LEFT JOIN ". FRONKDB_DBNAME .".Address ON (Network.owner_id = Address.id) WHERE $where AND Wohneinheit.rimo_deleted = 1 ORDER BY Wohneinheit.oaid";