Merge branch 'ADBWohneinheit/view-public-and-permissions' into 'master'

Adb wohneinheit/view public and permissions

See merge request fronk/thetool!1448
This commit is contained in:
Luca Haid
2025-06-12 08:07:23 +00:00
2 changed files with 29 additions and 27 deletions

View File

@@ -179,7 +179,7 @@
<a class="btn btn-secondary" href="<?=self::getUrl("AddressDB", "", ["resetFilter" => 1])?>">Filter zurücksetzen</a>
<button type="submit" formaction="<?=self::getUrl("AddressDB", "export")?>" id="export-button" class="btn btn-outline-success ml-2"><i class="fas fa-download"></i> CSV-Export Gebäude</button>
<button type="submit" formaction="<?=self::getUrl("AddressDB", "exportHomes")?>" id="export-button-homes" class="btn btn-outline-success ml-2"><i class="fas fa-download"></i> CSV-Export Homes</button>
<?php if($me->can("ADBExtended")): ?>
<?php if($me->can("ADBExtended") || $me->isAdmin()): ?>
<a class="btn btn-outline-secondary ml-2" href="<?=self::getUrl("ADBWohneinheit", "duplicate")?>"><i class="fas fa-fw fa-copy"></i> Doppelte Homes</a>
<?php endif; ?>
</div>

View File

@@ -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";