Files
thetool/Layout/default/AddressDB/Index.php
2024-09-25 14:39:38 +02:00

267 lines
14 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 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) && $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-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</button>
</div>
</div>
</form>
</div>
</div>
<?php if($me->username == "fronk" || $me->username == "r.eschner@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>Hausnummer</th>
<th>Stiege</th>
<th>Wohneinheiten</th>
<th>GDA-Eigenschaft</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)?></td>
<td><?=$address->gdaeigenschaft?></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>
</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').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"); ?>