299 lines
18 KiB
PHP
299 lines
18 KiB
PHP
<?php
|
|
$pagination_baseurl = $this->getUrl($Mod,"Index");
|
|
$pagination_baseurl_params = ["filter" => $filter];
|
|
$pagination_entity_name = "Adressen";
|
|
|
|
if(!is_array($filter)) {
|
|
$filter = [];
|
|
}
|
|
|
|
?>
|
|
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/header.php"); ?>
|
|
|
|
<!-- start page title -->
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="page-title-box">
|
|
<div class="page-title-right">
|
|
<ol class="breadcrumb m-0">
|
|
<li class="breadcrumb-item"><a href="<?=self::getUrl("Dashboard")?>"><?=MFAPPNAME_SLUG?></a></li>
|
|
<li class="breadcrumb-item active">GWR / AddressDB</li>
|
|
</ol>
|
|
</div>
|
|
<h4 class="page-title">GWR / AddressDB</h4>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- end page title -->
|
|
|
|
<div class="row">
|
|
<div class="col-lg-12">
|
|
|
|
<div class="card">
|
|
<div class="card-body mb-3">
|
|
<h4 class="header-title mb-3">Filter</h4>
|
|
|
|
<form method="get" id="filter_form" action="<?=self::getUrl("AddressDB")?>">
|
|
<div class="row">
|
|
|
|
<div class="col-2">
|
|
<label class="form-label" for="filter_network_id">Netzgebiet</label>
|
|
<select multiple name="filter[network_id][]" id="filter_network_id" class="form-control">
|
|
<option></option>
|
|
<?php foreach($my_adb_networks as $fnet): ?>
|
|
<option value="<?=$fnet->id?>" <?=(array_key_exists("network_id", $filter) && (is_array($filter['network_id']) && in_array($fnet->id, $filter['network_id']) || $filter['network_id'] == $fnet->id)) ? "selected='selected'" : ""?>><?=$fnet->name?></option>
|
|
<?php endforeach; ?>
|
|
<?php if($me->isAdmin()):?><option value="null" <?=(array_key_exists("network_id", $filter) && $filter['network_id'] === "null") ? 'selected="selected"' : ""?>>-- Kein Netzgebiet --</option><?php endif; ?>
|
|
</select>
|
|
</div>
|
|
|
|
|
|
<div class="col-1">
|
|
<label class="form-label" for="filter_zip">PLZ</label>
|
|
<input type="text" class="form-control" name="filter[zip]" id="filter_zip" value="<?=(array_key_exists("zip", $filter)) ? $filter['zip'] : ""?>" />
|
|
</div>
|
|
|
|
<div class="col-2">
|
|
<div class="<?=(array_key_exists("network_id", $filter) && $filter['network_id'] === "null") ? "hidden" : ""?>" id="filter-gemeinde-id">
|
|
<label class="form-label" for="filter_gemeinde_id">Gemeinde</label>
|
|
<select name="filter[gemeinde_id]" id="filter_gemeinde_id" class="form-control">
|
|
<option></option>
|
|
<?php foreach($gemeinden as $gemeinde): ?>
|
|
<option value="<?=$gemeinde->id?>" <?=(array_key_exists("gemeinde_id", $filter) && $filter['gemeinde_id'] == $gemeinde->id) ? "selected='selected'" : ""?>><?=$gemeinde->name?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</div>
|
|
<div class="<?=(!array_key_exists("network_id", $filter) || $filter['network_id'] !== "null") ? "hidden" : ""?>" id="filter-gemeinde-text">
|
|
<label class="form-label" for="filter_gemeinde">Gemeinde</label>
|
|
<input type="text" class="form-control" name="filter[gemeinde]" id="filter_gemeinde" value="<?=(array_key_exists("gemeinde", $filter)) ? $filter['gemeinde'] : ""?>" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-2">
|
|
<div class="<?=(array_key_exists("network_id", $filter) && $filter['network_id'] == "null") ? "hidden" : ""?>" id="filter-ortschaft-id">
|
|
<label class="form-label" for="filter_ortschaft_id">Ortschaft/Ortsteil</label>
|
|
<select name="filter[ortschaft_id]" id="filter_ortschaft_id" class="form-control">
|
|
<option></option>
|
|
<?php foreach($ortschaften as $ortschaft): ?>
|
|
<option value="<?=$ortschaft->id?>" <?=(array_key_exists("ortschaft_id", $filter) && $filter['ortschaft_id'] == $ortschaft->id) ? "selected='selected'" : ""?>><?=$ortschaft->name?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</div>
|
|
<div class="<?=(!array_key_exists("network_id", $filter) || $filter['network_id'] !== "null") ? "hidden" : ""?>" id="filter-ortschaft-text">
|
|
<label class="form-label" for="filter_ortschaft">Ortsteil</label>
|
|
<input type="text" class="form-control" name="filter[ortschaft]" id="filter_ortschaft" value="<?=(array_key_exists("ortschaft", $filter)) ? $filter['ortschaft'] : ""?>" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-2">
|
|
<label class="form-label" for="filter_street">Strasse</label>
|
|
<input type="text" class="form-control" name="filter[street]" id="filter_street" value="<?=(array_key_exists("street", $filter)) ? $filter['street'] : ""?>" />
|
|
</div>
|
|
|
|
<div class="col-1">
|
|
<label class="form-label" for="filter_hausnummer">Hausnummer</label>
|
|
<input type="text" class="form-control" name="filter[hausnummer]" id="filter_street" value="<?=(array_key_exists("hausnummer", $filter)) ? $filter['hausnummer'] : ""?>" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mt-2">
|
|
<div class="col-2">
|
|
<label class="form-label" for="filter_status_id">Status</label>
|
|
<select name="filter[status_id][]" id="filter_status_id" class="form-control" multiple="multiple">
|
|
<?php foreach(ADBStatusModel::getAll() as $status): ?>
|
|
<option value="<?=$status->id?>" <?=(isset($filter) && array_key_exists("status_id", $filter) && in_array($status->id, $filter['status_id'])) ? "selected='selected'" : ""?>><?=$status->code?> - <?=$status->name?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="col-2">
|
|
<label class="form-label" for="filter_status_flag">Status Flags</label>
|
|
<select name="filter[status_flag][]" id="filter_status_flag" class="form-control" multiple="multiple">
|
|
<?php foreach(ADBStatusflagModel::getAll() as $status): ?>
|
|
<option value="<?=$status->id?>" <?=(isset($filter) && array_key_exists("status_flag", $filter) && in_array($status->id, $filter['status_flag'])) ? "selected='selected'" : ""?>><?=$status->code?> - <?=$status->name?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="col-1">
|
|
<label class="form-label" for="filter_oaid">OAID</label>
|
|
<input type="text" class="form-control" name="filter[oaid]" id="filter_oaid" value="<?=(array_key_exists("oaid", $filter)) ? $filter['oaid'] : ""?>" />
|
|
</div>
|
|
|
|
<div class="col-1">
|
|
<label class="form-label" for="filter_adrcd">Adrcd (GWR)</label>
|
|
<input type="text" class="form-control" name="filter[adrcd]" id="filter_adrcd" value="<?=(array_key_exists("adrcd", $filter)) ? $filter['adrcd'] : ""?>" />
|
|
</div>
|
|
|
|
<div class="col-1">
|
|
<label class="form-label" for="filter_extref">extref</label>
|
|
<input type="text" class="form-control" name="filter[extref]" id="filter_extref" value="<?=(array_key_exists("extref", $filter)) ? $filter['extref'] : ""?>" />
|
|
</div>
|
|
|
|
<div class="col-1">
|
|
<label class="form-label" for="filter_rollout">Rollout Jahr</label>
|
|
<input type="text" class="form-control" name="filter[rollout]" id="filter_rollout" value="<?=(array_key_exists("rollout", $filter)) ? $filter['rollout'] : ""?>" />
|
|
</div>
|
|
|
|
<div class="col-1">
|
|
<label class="form-label" for="filter_rollout_info">Rollout Info</label>
|
|
<input type="text" class="form-control" name="filter[rollout_info]" id="filter_rollout_info" value="<?=(array_key_exists("rollout_info", $filter)) ? $filter['rollout_info'] : ""?>" />
|
|
</div>
|
|
|
|
<div class="col-1">
|
|
<label class="form-label" for="filter_visibility">Sichtbarkeit API</label>
|
|
<select name="filter[visibility]" id="filter_visibility" class="form-control">
|
|
<option value="">Alle</option>
|
|
<option value="public" <?=(array_key_exists("visibility", $filter) && $filter['visibility'] == "public") ? "selected='selected'" : ""?>>Nur Sichtbar</option>
|
|
<option value="private" <?=(array_key_exists("visibility", $filter) && $filter['visibility'] == "private") ? "selected='selected'" : ""?>>Nur nicht Sichtbar</option>
|
|
</select>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row mt-1">
|
|
|
|
<div class="col-2">
|
|
<label class="form-label" for="filter_rimo_id">Rimo External ID</label>
|
|
<input type="text" class="form-control" name="filter[rimo_id]" id="filter_rimo_id" value="<?=(array_key_exists("rimo_id", $filter)) ? $filter['rimo_id'] : ""?>" />
|
|
</div>
|
|
|
|
<div class="col-2">
|
|
<label class="form-label" for="filter_tool_building_type">Gebäude Typ</label>
|
|
<select name="filter[tool_building_type]" id="filter_tool_building_type" class="form-control">
|
|
<option value="">Alle</option>
|
|
<option value="0" <?=(array_key_exists("tool_building_type", $filter) && $filter['tool_building_type'] == "0") ? "selected='selected'" : ""?>>Unbekannt</option>
|
|
<option value="1" <?=(array_key_exists("tool_building_type", $filter) && $filter['tool_building_type'] == "1") ? "selected='selected'" : ""?>>EFH</option>
|
|
<option value="2" <?=(array_key_exists("tool_building_type", $filter) && $filter['tool_building_type'] == "2") ? "selected='selected'" : ""?>>MPH</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="col-2">
|
|
<label class="form-label" for="filter_home_oaid_rimo_id">Home OAID / Rimo ID</label>
|
|
<input type="text" class="form-control" name="filter[home_oaid_rimo_id]" id="filter_home_oaid_rimo_id" value="<?=(array_key_exists("home_oaid_rimo_id", $filter)) ? $filter['home_oaid_rimo_id'] : ""?>" />
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row mt-2">
|
|
<div class="col">
|
|
<button type="submit" class="btn btn-primary">Filter anwenden</button>
|
|
<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") || $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>
|
|
</div>
|
|
</form>
|
|
|
|
</div>
|
|
</div>
|
|
<?php if($me->username == "fronk" || $me->username == "r.eschner@rmlinfrastruktur.at" || $me->username == "e.grundner@rmlinfrastruktur.at"): ?>
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<a class="btn btn-outline-secondary" href="<?=self::getUrl("AddressDB", "updateVisibilityExternalId")?>"><i class="fas fa-fw fa-file-csv"></i> Sichtbarkeit / Rimo ID Update</a>
|
|
<!--a class="btn btn-outline-purple ml-1" href="<?=self::getUrl("AddressDB", "statusUpdateImport")?>"><i class="fas fa-fw fa-retweet"></i> Statusupdates importieren</a-->
|
|
</div>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
|
|
<div class="card">
|
|
<div class="card-body mb-3">
|
|
<div class="float-left">
|
|
<h4 class="header-title">Liste aller GWR-Adressen</h4>
|
|
</div>
|
|
<div class="float-right">
|
|
<a class="btn btn-primary mb-2" href="<?=self::getUrl("AddressDB", "add")?>"><i class="fas fa-plus"></i> Neue Adresse anlegen</a>
|
|
<!--a class="btn btn-outline-violett mb-2" href="#" onclick="return false;"><i class="fas fa-marker"></i> Bulk update</a-->
|
|
|
|
</div>
|
|
|
|
<?php include(realpath(dirname(__FILE__)."/../")."/tpl/pagination.php"); ?>
|
|
<?php include(realpath(dirname(__FILE__)."/../")."/tpl/pagination-summary.php"); ?>
|
|
|
|
<table class="table table-striped table-hover">
|
|
<tr>
|
|
<th></th>
|
|
<th>Netzgebiet</th>
|
|
<th>Adrcd</th>
|
|
<th>OAID</th>
|
|
<th>extref</th>
|
|
<th>PLZ</th>
|
|
<th>Gemeinde</th>
|
|
<th>Ortschaft</th>
|
|
<th>Straße</th>
|
|
<th>Hausnr.</th>
|
|
<th>Stiege</th>
|
|
<th>Wohneinheiten</th>
|
|
<th>Rimo-ID</th>
|
|
<th>Rollout Jahr</th>
|
|
<th>Rollout Info</th>
|
|
<th></th>
|
|
</tr>
|
|
<?php foreach($addresses as $address): ?>
|
|
<tr>
|
|
<td><?=($address->visibility == "private") ? "<i class='far fa-eye-slash text-secondary' title='Auf nicht sichtbar gestellt'></i>" : ""?></td>
|
|
<td><?=$address->netzgebiet->name?></td>
|
|
<td><?=$address->adrcd?><?=($address->subcd) ? "-".$address->subcd : ""?></td>
|
|
<td><?=$address->oaid?></td>
|
|
<td><?=$address->extref?></td>
|
|
<td><?=$address->plz->plz?></td>
|
|
<td><?=$address->ortschaft->gemeinde->name?></td>
|
|
<td><?=$address->ortschaft->name?></td>
|
|
<td><?=$address->strasse->name?></td>
|
|
<td><?=$address->hausnummer?></td>
|
|
<td><?=$address->stiege?></td>
|
|
<td><?=count($address->wohneinheiten)?>
|
|
<span class="text-secondary" title="<?=($address->tool_building_type == 0) ? "Unbekannt" : (($address->tool_building_type == 1) ? "EFH" : "MPH")?>">
|
|
<i class="fas fa-fw <?=($address->tool_building_type == 0) ? "fa-question" : (($address->tool_building_type == 1) ? "fa-home" : "fa-building")?>"></i>
|
|
</td>
|
|
<td><span><?=str_replace('_', '_<wbr>', $address->rimo_id)?></span>
|
|
</td>
|
|
<td><?=$address->rollout?></td>
|
|
<td><?=$address->rollout_info?></td>
|
|
<td style="text-align: left; letter-spacing: 4px; font-size: 1.1em;">
|
|
<a href="<?=self::getUrl("AddressDB", "view", ["id" => $address->id])?>"><i class="far fa-fw fa-eye" title="Adresse Anzeigen"></i></a>
|
|
<a href="<?=self::getUrl("AddressDB", "edit", ["id" => $address->id])?>" class="pl-1"><i class="far fa-fw fa-edit" title="Adresse Bearbeiten"></i></a>
|
|
<a href="<?=self::getUrl("AddressDB", "delete", ["id" => $address->id])?>" onclick="if(!confirm('Addresse und alle Wohneinheiten wirklich löschen?')) return false;"><i class="far fa-fw fa-trash-alt text-danger" title="Adresse Löschen"></i></a>
|
|
</td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</table>
|
|
|
|
<?php include(realpath(dirname(__FILE__)."/../")."/tpl/pagination-summary.php"); ?>
|
|
<?php include(realpath(dirname(__FILE__)."/../")."/tpl/pagination.php"); ?>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
$("#filter_status_id").select2({closeOnSelect: false});
|
|
$("#filter_status_flag").select2({closeOnSelect: false});
|
|
$("#filter_network_id").select2({closeOnSelect: false});
|
|
|
|
$('#filter_network_id').change(function() {
|
|
if($('#filter_network_id').val() === "null") {
|
|
$('#filter-gemeinde-id').hide();
|
|
$('#filter-gemeinde-text').show();
|
|
$('#filter-ortschaft-id').hide();
|
|
$('#filter-ortschaft-text').show();
|
|
|
|
$('#filter-gemeinde-id option:first').prop("selected", "selected");
|
|
$('#filter-ortschaft-id option:first').prop("selected", "selected");
|
|
} else {
|
|
$('#filter-gemeinde-text').hide();
|
|
$('#filter-gemeinde-id').show();
|
|
$('#filter-ortschaft-text').hide();
|
|
$('#filter-ortschaft-id').show();
|
|
}
|
|
$('#filter_gemeinde').val("");
|
|
$('#filter_ortschaft').val("");
|
|
});
|
|
|
|
</script>
|
|
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/footer.php"); ?>
|