Added AddressDB layouts
This commit is contained in:
107
Layout/default/AddressDB/Form.php
Normal file
107
Layout/default/AddressDB/Form.php
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
<?php
|
||||||
|
$urlfilter = [];
|
||||||
|
if($s) {
|
||||||
|
$urlfilter['s'] = $s;
|
||||||
|
}
|
||||||
|
if(is_array($filter) && count($filter)) {
|
||||||
|
$urlfilter["filter"] = $filter;
|
||||||
|
}
|
||||||
|
$posturl = self::getUrl("AddressDB", "save", $urlfilter);
|
||||||
|
?>
|
||||||
|
<?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"><a href="<?=self::getUrl("AddressDB")?>">AddressDB</a></li>
|
||||||
|
<li class="breadcrumb-item active"><?=($address->id) ? "bearbeiten" : "Neu" ?></li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
<h4 class="page-title">Adresse</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- end page title -->
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h4 class="header-title mb-2"><?=($address->id) ? "Adresse bearbeiten" : "Neue Adresse"?></h4>
|
||||||
|
|
||||||
|
<form class="form-horizontal" method="post" action="<?=$posturl?>">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
|
||||||
|
<input type="hidden" name="id" value="<?=$addresse->id?>" />
|
||||||
|
<input type="hidden" name="f" value="<?=$f?>" />
|
||||||
|
|
||||||
|
<div class="form-group row">
|
||||||
|
<label class="col-lg-2 col-form-label" for="netzgebiet_id">Netzgebiet</label>
|
||||||
|
<div class="col-lg-10">
|
||||||
|
<select class="form-control" name="netzgebiet_id" id="netzgebiet_id">
|
||||||
|
<?php foreach($netzgebiete as $netzgebiet): ?>
|
||||||
|
<option value="<?=$netzgebiet->id?>"><?=$netzgebiet->name?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group row">
|
||||||
|
<label class="col-lg-2 col-form-label" for="matchcode">Matchcode</label>
|
||||||
|
<div class="col-lg-10">
|
||||||
|
<input type="text" class="form-control" name="matchcode" id="matchcode" value="<?=$address->matchcode?>">
|
||||||
|
<small class="font-italic">Eindeutige Identifizierung das Produkts. Z.B. Anschlussadresse, Domainname usw.</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group row">
|
||||||
|
<label class="col-lg-2 col-form-label" for="billing_period">Verrechnungsperiode</label>
|
||||||
|
<div class="col-lg-10">
|
||||||
|
<select class="form-control" name="billing_period" id="billing_period" placeholder="Verrechnungsperiode">
|
||||||
|
<option value="1" <?=($product->billing_period == 1) ? "selected='selected'" : ""?>>Monatlich</option>
|
||||||
|
<option value="12" <?=($product->billing_period == 12) ? "selected='selected'" : ""?>>Jährlich</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="form-group row">
|
||||||
|
<label class="col-lg-2 col-form-label" for="note">Interne Notiz</label>
|
||||||
|
<div class="col-lg-10">
|
||||||
|
<textarea id="note" class="form-control" name="note" rows="5"><?=$building->note?></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group row">
|
||||||
|
<label class="col-lg-2"></label>
|
||||||
|
<div class="col-lg-10">
|
||||||
|
<button type="submit" class="btn btn-primary">Speichern</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/footer.php"); ?>
|
||||||
220
Layout/default/AddressDB/Index.php
Normal file
220
Layout/default/AddressDB/Index.php
Normal file
@@ -0,0 +1,220 @@
|
|||||||
|
<?php
|
||||||
|
$pagination_baseurl = $this->getUrl($Mod,"Index");
|
||||||
|
$pagination_baseurl_params = ["filter" => $filter];
|
||||||
|
$pagination_entity_name = "Adressen";
|
||||||
|
?>
|
||||||
|
<?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" 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?>" <?=($filter['network_id'] == $fnet->id) ? "selected='selected'" : ""?>><?=$fnet->name?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
<?php if($me->isAdmin()):?><option value="null" <?=($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="<?=$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?>" <?=($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="<?=$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">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?>" <?=($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="<?=$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="<?=$filter['street']?>" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row mt-2">
|
||||||
|
<div class="col-2">
|
||||||
|
<label class="form-label" for="filter_oaid">OAID</label>
|
||||||
|
<input type="text" class="form-control" name="filter[oaid]" id="filter_oaid" value="<?=$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="<?=$filter['adrcd']?>" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="col-2">
|
||||||
|
<label class="form-label" for="filter_extref">extref</label>
|
||||||
|
<input type="text" class="form-control" name="filter[extref]" id="filter_extref" value="<?=$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="<?=$filter['rollout']?>" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-2">
|
||||||
|
<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="<?=$filter['rollout_info']?>" />
|
||||||
|
</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")?>">Filter zurücksetzen</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<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="<?=self::getUrl("AddressDB", "add")?>"><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>Netzgebiet</th>
|
||||||
|
<th>Adrcd</th>
|
||||||
|
<th>OAID</th>
|
||||||
|
<th>extref</th>
|
||||||
|
<th>PLZ</th>
|
||||||
|
<th>Gemeinde</th>
|
||||||
|
<th>Ortsteil</th>
|
||||||
|
<th>Straße</th>
|
||||||
|
<th>Hausnummer</th>
|
||||||
|
<th>Rollout Jahr</th>
|
||||||
|
<th>Rollout Info</th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
<?php foreach($addresses as $address): ?>
|
||||||
|
<tr>
|
||||||
|
<td><?=$address->netzgebiet->name?></td>
|
||||||
|
<td><?=$address->adrcd?></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->rollout?></td>
|
||||||
|
<td><?=$address->rollout_info?></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td style="text-align: left; letter-spacing: 4px; font-size: 1.1em;">
|
||||||
|
<?php if($me->is("Admin")): ?>
|
||||||
|
<a href="<?=self::getUrl("AddressDB", "edit", ["id" => $address->id])?>"><i class="far fa-edit" title="Adresse Bearbeiten"></i></a>
|
||||||
|
<?php endif; ?>
|
||||||
|
</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_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"); ?>
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
<input type="text" class="form-control" name="filter[product_name]" id="filter_product_name" value="<?=$filter['product_name']?>" />
|
<input type="text" class="form-control" name="filter[product_name]" id="filter_product_name" value="<?=$filter['product_name']?>" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-1">
|
<div class="col-2">
|
||||||
<label class="form-label" for="filter_show_canceled">Gekündigte Produkte</label>
|
<label class="form-label" for="filter_show_canceled">Gekündigte Produkte</label>
|
||||||
<select class="form-control" name="filter[show_canceled]" id="filter_show_canceled">
|
<select class="form-control" name="filter[show_canceled]" id="filter_show_canceled">
|
||||||
<option value="0" <?=($filter['show_canceled'] == 0) ? "selected='selected'" : ""?>>Ausblenden</option>
|
<option value="0" <?=($filter['show_canceled'] == 0) ? "selected='selected'" : ""?>>Ausblenden</option>
|
||||||
@@ -110,7 +110,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td><a href="<?=self::getUrl("Contract", "view", ["id" => $contract->id])?>"><?=$contract->id?></a></td>
|
<td><a href="<?=self::getUrl("Contract", "view", ["id" => $contract->id])?>"><?=$contract->id?></a></td>
|
||||||
<td><a href="<?=self::getUrl("Address", "View", ["id" => $contract->owner_id])?>" target="_blank"><i class="far fa-eyes" title="Kunde in neuem Tab anzeigen"></i></a> <?=$contract->owner->getCompanyOrName()?></td>
|
<td><a href="<?=self::getUrl("Address", "View", ["id" => $contract->owner_id])?>" target="_blank"><i class="far fa-eyes" title="Kunde in neuem Tab anzeigen"></i></a> <?=$contract->owner->getCompanyOrName()?></td>
|
||||||
<td><a href="<?=self::getUrl("Contract", "view", ["id" => $contract->id])?>"><?=$contract->product->name?></a></td>
|
<td><a href="<?=self::getUrl("Contract", "view", ["id" => $contract->id])?>"><?=$contract->product_name?></a></td>
|
||||||
<td><a href="<?=self::getUrl("Contract", "view", ["id" => $contract->id])?>"><?=$contract->matchcode?></a></td>
|
<td><a href="<?=self::getUrl("Contract", "view", ["id" => $contract->id])?>"><?=$contract->matchcode?></a></td>
|
||||||
<!--<td>
|
<!--<td>
|
||||||
<?php if($contract->termination_id): ?>
|
<?php if($contract->termination_id): ?>
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
<li class="has-sub-submenu"><a href="<?=self::getUrl("User")?>"><i class="fad fa-users text-info"></i> Benutzer</a></li>
|
<li class="has-sub-submenu"><a href="<?=self::getUrl("User")?>"><i class="fad fa-users text-info"></i> Benutzer</a></li>
|
||||||
|
|
||||||
<li class="has-sub-submenu font-weight-bold mt-1"><a>Grundstammdaten</a></li>
|
<li class="has-sub-submenu font-weight-bold mt-1"><a>Grundstammdaten</a></li>
|
||||||
|
<li><a href="<?=self::getUrl("AddressDB")?>"><i class="fas fa-city text-info"></i> GWR / AddressDB</a></li>
|
||||||
<li><a href="<?=self::getUrl("Producttech")?>"><i class="fad fa-microchip text-info"></i> Technologien</a></li>
|
<li><a href="<?=self::getUrl("Producttech")?>"><i class="fad fa-microchip text-info"></i> Technologien</a></li>
|
||||||
<!--<li><a href="<?=self::getUrl("Contractconfig")?>"><i class="fad fa-gear text-info"></i> ContractConfig</a></li>-->
|
<!--<li><a href="<?=self::getUrl("Contractconfig")?>"><i class="fad fa-gear text-info"></i> ContractConfig</a></li>-->
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ if($mfPagination_pagecount < 12) {
|
|||||||
$mfPagination_baseurl_params['s'] = $i * $pagination['count'];
|
$mfPagination_baseurl_params['s'] = $i * $pagination['count'];
|
||||||
|
|
||||||
if(($i == 0 || $i == $mfPagination_pagecount) || ($i >= $show_from && $i <= $show_to)) {
|
if(($i == 0 || $i == $mfPagination_pagecount) || ($i >= $show_from && $i <= $show_to)) {
|
||||||
$log->debug("show_from: $show_from, show_to: $show_to");
|
//$log->debug("show_from: $show_from, show_to: $show_to");
|
||||||
|
|
||||||
$page = [
|
$page = [
|
||||||
's' => $i * $pagination['count'],
|
's' => $i * $pagination['count'],
|
||||||
|
|||||||
@@ -136,6 +136,8 @@ class ADBGemeindeModel {
|
|||||||
$where .= " AND Netzgebiet.id=$netzgebiet_id";
|
$where .= " AND Netzgebiet.id=$netzgebiet_id";
|
||||||
} elseif(is_array($netzgebiet_id) && count($netzgebiet_id)) {
|
} elseif(is_array($netzgebiet_id) && count($netzgebiet_id)) {
|
||||||
$where .= " AND Netzgebiet.id IN (". implode(",", $netzgebiet_id).")";
|
$where .= " AND Netzgebiet.id IN (". implode(",", $netzgebiet_id).")";
|
||||||
|
} elseif($netzgebiet_id === null) {
|
||||||
|
$where .= " AND Netzgebiet.id IS NULL";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,16 @@ class ADBHausnummerModel {
|
|||||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||||
|
|
||||||
$where = self::getSqlFilter($filter);
|
$where = self::getSqlFilter($filter);
|
||||||
|
|
||||||
|
$sql = "SELECT Hausnummer.* FROM Hausnummer
|
||||||
|
LEFT JOIN Ortschaft ON (Ortschaft.id = Hausnummer.ortschaft_id)
|
||||||
|
LEFT JOIN Gemeinde ON (Gemeinde.id = Ortschaft.gemeinde_id)
|
||||||
|
LEFT JOIN Strasse ON (Hausnummer.strasse_id = Strasse.id)
|
||||||
|
LEFT JOIN Plz ON (Hausnummer.plz_id = Plz.id)
|
||||||
|
WHERE $where
|
||||||
|
ORDER BY strasse_id,LENGTH(hausnummer), hausnummer
|
||||||
|
LIMIT 1";
|
||||||
|
|
||||||
//mfLoghandler::singleton()->debug($where);
|
//mfLoghandler::singleton()->debug($where);
|
||||||
$res = $db->select("Hausnummer", "*", "$where ORDER BY strasse_id,hausnummer LIMIT 1");
|
$res = $db->select("Hausnummer", "*", "$where ORDER BY strasse_id,hausnummer LIMIT 1");
|
||||||
if($db->num_rows($res)) {
|
if($db->num_rows($res)) {
|
||||||
@@ -89,9 +99,14 @@ class ADBHausnummerModel {
|
|||||||
|
|
||||||
$where = self::getSqlFilter($filter);
|
$where = self::getSqlFilter($filter);
|
||||||
$sql = "SELECT COUNT(*) as cnt FROM Hausnummer
|
$sql = "SELECT COUNT(*) as cnt FROM Hausnummer
|
||||||
|
LEFT JOIN Ortschaft ON (Ortschaft.id = Hausnummer.ortschaft_id)
|
||||||
|
LEFT JOIN Gemeinde ON (Gemeinde.id = Ortschaft.gemeinde_id)
|
||||||
|
LEFT JOIN Strasse ON (Hausnummer.strasse_id = Strasse.id)
|
||||||
|
LEFT JOIN Plz ON (Hausnummer.plz_id = Plz.id)
|
||||||
WHERE $where
|
WHERE $where
|
||||||
";
|
";
|
||||||
|
|
||||||
|
|
||||||
$res = $db->query($sql);
|
$res = $db->query($sql);
|
||||||
if($db->num_rows($res)) {
|
if($db->num_rows($res)) {
|
||||||
$data = $db->fetch_object($res);
|
$data = $db->fetch_object($res);
|
||||||
@@ -106,10 +121,14 @@ class ADBHausnummerModel {
|
|||||||
|
|
||||||
$where = self::getSqlFilter($filter);
|
$where = self::getSqlFilter($filter);
|
||||||
$sql = "SELECT Hausnummer.* FROM Hausnummer
|
$sql = "SELECT Hausnummer.* FROM Hausnummer
|
||||||
|
LEFT JOIN Ortschaft ON (Ortschaft.id = Hausnummer.ortschaft_id)
|
||||||
|
LEFT JOIN Gemeinde ON (Gemeinde.id = Ortschaft.gemeinde_id)
|
||||||
|
LEFT JOIN Strasse ON (Hausnummer.strasse_id = Strasse.id)
|
||||||
|
LEFT JOIN Plz ON (Hausnummer.plz_id = Plz.id)
|
||||||
WHERE $where
|
WHERE $where
|
||||||
ORDER BY strasse_id,hausnummer";
|
ORDER BY strasse_id,LENGTH(hausnummer), hausnummer";
|
||||||
|
|
||||||
//mfLoghandler::singleton()->debug($sql);
|
mfLoghandler::singleton()->debug($sql);
|
||||||
if(is_array($limit) && count($limit)) {
|
if(is_array($limit) && count($limit)) {
|
||||||
if(is_numeric($limit['start']) && is_numeric($limit['count'])) {
|
if(is_numeric($limit['start']) && is_numeric($limit['count'])) {
|
||||||
$sql .= " LIMIT ".$limit['start'].", ".$limit['count'];
|
$sql .= " LIMIT ".$limit['start'].", ".$limit['count'];
|
||||||
@@ -118,6 +137,8 @@ class ADBHausnummerModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mfLoghandler::singleton()->debug($sql);
|
||||||
|
|
||||||
$res = $db->query($sql);
|
$res = $db->query($sql);
|
||||||
if($db->num_rows($res)) {
|
if($db->num_rows($res)) {
|
||||||
while($data = $db->fetch_object($res)) {
|
while($data = $db->fetch_object($res)) {
|
||||||
@@ -137,6 +158,14 @@ class ADBHausnummerModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("adrcd%", $filter)) {
|
||||||
|
$adrcd = FronkDB::singleton()->escape($filter['adrcd%']);
|
||||||
|
if($adrcd) {
|
||||||
|
$where .= " AND Hausnummer.`adrcd` like '$adrcd%'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if(array_key_exists("oaid", $filter)) {
|
if(array_key_exists("oaid", $filter)) {
|
||||||
$oaid = FronkDB::singleton()->escape($filter['oaid']);
|
$oaid = FronkDB::singleton()->escape($filter['oaid']);
|
||||||
if($oaid) {
|
if($oaid) {
|
||||||
@@ -144,6 +173,14 @@ class ADBHausnummerModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("oaid%", $filter)) {
|
||||||
|
$oaid = FronkDB::singleton()->escape($filter['oaid%']);
|
||||||
|
if($oaid) {
|
||||||
|
$where .= " AND Hausnummer.`oaid` like '$oaid%'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if(array_key_exists("extref", $filter)) {
|
if(array_key_exists("extref", $filter)) {
|
||||||
$extref = FronkDB::singleton()->escape($filter['extref']);
|
$extref = FronkDB::singleton()->escape($filter['extref']);
|
||||||
if($extref) {
|
if($extref) {
|
||||||
@@ -151,6 +188,29 @@ class ADBHausnummerModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("extref%", $filter)) {
|
||||||
|
$extref = FronkDB::singleton()->escape($filter['extref%']);
|
||||||
|
if($extref) {
|
||||||
|
$where .= " AND Hausnummer.`extref` like '$extref%'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(array_key_exists("plz", $filter)) {
|
||||||
|
$plz = FronkDB::singleton()->escape($filter['plz']);
|
||||||
|
if($plz) {
|
||||||
|
$where .= " AND Plz.plz = '$plz'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("plz%", $filter)) {
|
||||||
|
$plz = FronkDB::singleton()->escape($filter['plz%']);
|
||||||
|
if($plz) {
|
||||||
|
$where .= " AND Plz.plz like '$plz%'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if(array_key_exists("netzgebiet_id", $filter)) {
|
if(array_key_exists("netzgebiet_id", $filter)) {
|
||||||
$netzgebiet_id = $filter['netzgebiet_id'];
|
$netzgebiet_id = $filter['netzgebiet_id'];
|
||||||
if(is_numeric($netzgebiet_id)) {
|
if(is_numeric($netzgebiet_id)) {
|
||||||
@@ -180,6 +240,52 @@ class ADBHausnummerModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("gemeinde_id", $filter)) {
|
||||||
|
$gemeinde_id = $filter['gemeinde_id'];
|
||||||
|
if(is_numeric($gemeinde_id)) {
|
||||||
|
$where .= " AND Ortschaft.gemeinde_id=$gemeinde_id";
|
||||||
|
} elseif(is_array($gemeinde_id) && count($gemeinde_id)) {
|
||||||
|
$where .= " AND Ortschaft.gemeinde_id IN (". implode(",", $gemeinde_id).")";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("gemeinde", $filter)) {
|
||||||
|
$gemeinde = FronkDB::singleton()->escape($filter['gemeinde']);
|
||||||
|
if($gemeinde) {
|
||||||
|
$where .= " AND Gemeinde.name = '$gemeinde'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("gemeinde%", $filter)) {
|
||||||
|
$gemeinde = FronkDB::singleton()->escape($filter['gemeinde%']);
|
||||||
|
if($gemeinde) {
|
||||||
|
$where .= " AND Gemeinde.name like '$gemeinde%'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("ortschaft", $filter)) {
|
||||||
|
$ortschaft = FronkDB::singleton()->escape($filter['ortschaft']);
|
||||||
|
if($ortschaft) {
|
||||||
|
$where .= " AND Ortschaft.name = '$ortschaft'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("ortschaft%", $filter)) {
|
||||||
|
$ortschaft = FronkDB::singleton()->escape($filter['ortschaft%']);
|
||||||
|
if($ortschaft) {
|
||||||
|
$where .= " AND Ortschaft.name like '$ortschaft%'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("ortschaft_id", $filter)) {
|
||||||
|
$ortschaft_id = $filter['ortschaft_id'];
|
||||||
|
if(is_numeric($ortschaft_id)) {
|
||||||
|
$where .= " AND Hausnummer.ortschaft_id=$ortschaft_id";
|
||||||
|
} elseif(is_array($ortschaft_id) && count($ortschaft_id)) {
|
||||||
|
$where .= " AND Hausnummer.ortschaft_id IN (". implode(",", $ortschaft_id).")";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(array_key_exists("hausnummer", $filter)) {
|
if(array_key_exists("hausnummer", $filter)) {
|
||||||
if(is_array($filter['hausnummer'])) {
|
if(is_array($filter['hausnummer'])) {
|
||||||
$hausnummer = $filter['hausnummer'];
|
$hausnummer = $filter['hausnummer'];
|
||||||
@@ -199,6 +305,48 @@ class ADBHausnummerModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("strasse", $filter)) {
|
||||||
|
$strasse = FronkDB::singleton()->escape($filter['strasse']);
|
||||||
|
if($strasse) {
|
||||||
|
$where .= " AND Strasse.name = '$strasse'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("strasse%", $filter)) {
|
||||||
|
$strasse = FronkDB::singleton()->escape($filter['strasse%']);
|
||||||
|
if($strasse) {
|
||||||
|
$where .= " AND Strasse.name like '%$strasse%'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("rollout", $filter)) {
|
||||||
|
$rollout = FronkDB::singleton()->escape($filter['rollout']);
|
||||||
|
if($rollout) {
|
||||||
|
$where .= " AND Hausnummer.rollout = '$rollout'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("rollout%", $filter)) {
|
||||||
|
$rollout = FronkDB::singleton()->escape($filter['rollout%']);
|
||||||
|
if($rollout) {
|
||||||
|
$where .= " AND Hausnummer.rollout like '%$rollout%'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("rollout_info", $filter)) {
|
||||||
|
$rollout_info = FronkDB::singleton()->escape($filter['rollout_info']);
|
||||||
|
if($rollout_info) {
|
||||||
|
$where .= " AND Hausnummer.rollout_info = '$rollout_info'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("rollout_info%", $filter)) {
|
||||||
|
$rollout_info = FronkDB::singleton()->escape($filter['rollout_info%']);
|
||||||
|
if($rollout_info) {
|
||||||
|
$where .= " AND Hausnummer.rollout_info like '%$rollout_info%'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//var_dump($filter, $where);exit;
|
//var_dump($filter, $where);exit;
|
||||||
return $where;
|
return $where;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,8 @@ class ADBOrtschaftModel {
|
|||||||
LEFT JOIN GemeindeNetzgebiet ON (GemeindeNetzgebiet.gemeinde_id = Gemeinde.id)
|
LEFT JOIN GemeindeNetzgebiet ON (GemeindeNetzgebiet.gemeinde_id = Gemeinde.id)
|
||||||
LEFT JOIN Netzgebiet ON (GemeindeNetzgebiet.netzgebiet_id = Netzgebiet.id)
|
LEFT JOIN Netzgebiet ON (GemeindeNetzgebiet.netzgebiet_id = Netzgebiet.id)
|
||||||
WHERE $where
|
WHERE $where
|
||||||
ORDER BY gemeinde_id,Ortschaft.name,Ortschaft.kennziffer";
|
GROUP BY Ortschaft.id
|
||||||
|
ORDER BY Ortschaft.name,Ortschaft.kennziffer,gemeinde_id";
|
||||||
|
|
||||||
mfLoghandler::singleton()->debug($sql);
|
mfLoghandler::singleton()->debug($sql);
|
||||||
if(is_array($limit) && count($limit)) {
|
if(is_array($limit) && count($limit)) {
|
||||||
@@ -135,6 +136,8 @@ class ADBOrtschaftModel {
|
|||||||
$where .= " AND Netzgebiet.id=$netzgebiet_id";
|
$where .= " AND Netzgebiet.id=$netzgebiet_id";
|
||||||
} elseif(is_array($netzgebiet_id) && count($netzgebiet_id)) {
|
} elseif(is_array($netzgebiet_id) && count($netzgebiet_id)) {
|
||||||
$where .= " AND Netzgebiet.id IN (". implode(",", $netzgebiet_id).")";
|
$where .= " AND Netzgebiet.id IN (". implode(",", $netzgebiet_id).")";
|
||||||
|
} elseif($netzgebiet_id === null) {
|
||||||
|
$where .= " AND Netzgebiet.id IS NULL";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,11 +9,166 @@ class AddressDBController extends mfBaseController {
|
|||||||
$this->me = $me;
|
$this->me = $me;
|
||||||
$this->layout()->set("me",$me);
|
$this->layout()->set("me",$me);
|
||||||
|
|
||||||
if(!$me->is(["Admin", "netowner", "pipeplanner"])) {
|
if(!$me->is(["Admin", "netowner"])) {
|
||||||
$this->redirect("Dashboard");
|
$this->redirect("Dashboard");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected function indexAction() {
|
||||||
|
$this->layout()->setTemplate("AddressDB/Index");
|
||||||
|
|
||||||
|
$rfilter = $this->request->filter;
|
||||||
|
iF(!is_array($rfilter)) {
|
||||||
|
$rfilter = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->layout->set("filter", $rfilter);
|
||||||
|
|
||||||
|
$where = "";
|
||||||
|
$filter = $this->getPreparedFilter($rfilter);
|
||||||
|
|
||||||
|
// pagination defaults
|
||||||
|
$pagination = [];
|
||||||
|
$pagination['start'] = 0;
|
||||||
|
$pagination['count'] = 25;
|
||||||
|
$pagination['maxItems'] = 0;
|
||||||
|
|
||||||
|
if(is_numeric($this->request->s)) {
|
||||||
|
$pagination['start'] = intval($this->request->s);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if($this->me->is("Admin")) {
|
||||||
|
$my_networks = NetworkModel::getAll();
|
||||||
|
if($filter['network_id']) {
|
||||||
|
$filter['netzgebiet_id'] = $filter['network_id'];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$my_networks = $this->me->myNetworks(["netowner", "salespartner"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$netzgebiet_ids = [];
|
||||||
|
$my_adb_networks = [];
|
||||||
|
foreach($my_networks as $network) {
|
||||||
|
if($network->adb_netzgebiet_id && !in_array($network->adb_netzgebiet_id, $netzgebiet_ids)) {
|
||||||
|
$netzgebiet_ids[] = $network->adb_netzgebiet_id;
|
||||||
|
$my_adb_networks[$network->adb_netzgebiet_id] = new ADBNetzgebiet($network->adb_netzgebiet_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//var_dump($filter, $my_adb_networks);
|
||||||
|
if(!$this->me->is("Admin") && array_key_exists("network_id", $filter)) {
|
||||||
|
if(array_key_exists($filter['network_id'], $my_adb_networks)) {
|
||||||
|
$filter['netzgebiet_id'] = $filter['network_id'];
|
||||||
|
} else {
|
||||||
|
unset($filter['network_id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$addressdb_filter = $filter;
|
||||||
|
if(!array_key_exists("netzgebiet_id", $addressdb_filter)) {
|
||||||
|
$addressdb_filter['netzgebiet_id'] = $netzgebiet_ids;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->layout()->set("my_networks", ADBNetzgebietModel::getAll());
|
||||||
|
$this->layout()->set("my_adb_networks", $my_adb_networks);
|
||||||
|
//var_dump($addressdb_filter);exit;
|
||||||
|
|
||||||
|
if($filter['netzgebiet_id'] === "null") {
|
||||||
|
$addressdb_filter['netzgebiet_id'] = 0;
|
||||||
|
$pagination['maxItems'] = ADBHausnummerModel::count($addressdb_filter);
|
||||||
|
$addresses = ADBHausnummerModel::search($addressdb_filter, $pagination);
|
||||||
|
} else if(count($my_adb_networks)) {
|
||||||
|
$pagination['maxItems'] = ADBHausnummerModel::count($addressdb_filter);
|
||||||
|
$addresses = ADBHausnummerModel::search($addressdb_filter, $pagination);
|
||||||
|
}
|
||||||
|
$this->layout()->set("pagination", $pagination);
|
||||||
|
$this->layout()->set("addresses", $addresses);
|
||||||
|
|
||||||
|
// get filter lists
|
||||||
|
$filter_filter = [];
|
||||||
|
if(array_key_exists("netzgebiet_id", $addressdb_filter)) {
|
||||||
|
$filter_filter["netzgebiet_id"] = $netzgebiet_ids;
|
||||||
|
$this->layout()->set("gemeinden", ADBGemeindeModel::search($filter_filter));
|
||||||
|
if(array_key_exists("gemeinde_id", $addressdb_filter)) {
|
||||||
|
$filter_filter['gemeinde_id'] = $addressdb_filter['gemeinde_id'];
|
||||||
|
}
|
||||||
|
$this->layout()->set("ortschaften", ADBOrtschaftModel::search($filter_filter));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getPreparedFilter($filter) {
|
||||||
|
$new_filter = [];
|
||||||
|
|
||||||
|
if(array_key_exists("street", $filter) && $filter['street']) {
|
||||||
|
$new_filter['strasse%'] = "%".$filter['street'];
|
||||||
|
unset($filter['street']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("adrcd", $filter) && $filter['adrcd']) {
|
||||||
|
$new_filter['adrcd%'] = $filter['adrcd'];
|
||||||
|
unset($filter['adrcd']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("oaid", $filter) && $filter['oaid']) {
|
||||||
|
$new_filter['oaid%'] = $filter['oaid'];
|
||||||
|
unset($filter['oaid']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("extref", $filter) && $filter['extref']) {
|
||||||
|
$new_filter['extref%'] = "%".$filter['extref'];
|
||||||
|
unset($filter['extref']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("zip", $filter) && $filter['zip']) {
|
||||||
|
$new_filter['plz%'] = $filter['zip'];
|
||||||
|
unset($filter['zip']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("rollout", $filter) && $filter['rollout']) {
|
||||||
|
$new_filter['rollout%'] = $filter['rollout'];
|
||||||
|
unset($filter['rollout']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("rollout_info", $filter) && $filter['rollout_info']) {
|
||||||
|
$new_filter['rollout_info%'] = $filter['rollout_info'];
|
||||||
|
unset($filter['rollout_info']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("gemeinde", $filter) && $filter['gemeinde']) {
|
||||||
|
$new_filter['gemeinde%'] = $filter['gemeinde'];
|
||||||
|
unset($filter['gemeinde']);
|
||||||
|
unset($filter['gemeinde_id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("ortschaft", $filter) && $filter['ortschaft']) {
|
||||||
|
$new_filter['ortschaft%'] = $filter['ortschaft'];
|
||||||
|
unset($filter['ortschaft']);
|
||||||
|
unset($filter['ortschaft_id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(is_array($filter) && count($filter)) {
|
||||||
|
foreach($filter as $name => $value) {
|
||||||
|
$new_filter[$name] = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $new_filter;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function addAction() {
|
||||||
|
$this->layout()->setTemplate("AddressDB/Form");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function editAction() {
|
||||||
|
return $this->addAction();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
protected function apiAction() {
|
protected function apiAction() {
|
||||||
if(!$this->me->is(["Admin","netowner"])) {
|
if(!$this->me->is(["Admin","netowner"])) {
|
||||||
$this->redirect("Dashboard");
|
$this->redirect("Dashboard");
|
||||||
|
|||||||
Reference in New Issue
Block a user