Added visibility to Hausnummer
This commit is contained in:
@@ -310,7 +310,20 @@
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-2 col-form-label" for="visibility">Zugriffsbeschränkung</label>
|
||||
<div class="col-lg-10">
|
||||
<select class="form-control" name="visibility" id="visibility">
|
||||
<option value="public">Sichtbar</option>
|
||||
<option value="private">Nicht sichtbar</option>
|
||||
</select>
|
||||
<small>In Address- und Bestell-API</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -2,6 +2,11 @@
|
||||
$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"); ?>
|
||||
|
||||
@@ -36,16 +41,16 @@
|
||||
<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>
|
||||
<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" <?=($filter['network_id'] === "null") ? 'selected="selected"' : ""?>>-- Kein Netzgebiet --</option><?php endif; ?>
|
||||
<?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="<?=$filter['zip']?>" />
|
||||
<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">
|
||||
@@ -54,13 +59,13 @@
|
||||
<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>
|
||||
<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="<?=$filter['gemeinde']?>" />
|
||||
<input type="text" class="form-control" name="filter[gemeinde]" id="filter_gemeinde" value="<?=(array_key_exists("gemeinde", $filter)) ? $filter['gemeinde'] : ""?>" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -70,53 +75,53 @@
|
||||
<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>
|
||||
<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="<?=$filter['ortschaft']?>" />
|
||||
<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="<?=$filter['street']?>" />
|
||||
<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="<?=$filter['hausnummer']?>" />
|
||||
<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_oaid">OAID</label>
|
||||
<input type="text" class="form-control" name="filter[oaid]" id="filter_oaid" value="<?=$filter['oaid']?>" />
|
||||
<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="<?=$filter['adrcd']?>" />
|
||||
<input type="text" class="form-control" name="filter[adrcd]" id="filter_adrcd" value="<?=(array_key_exists("adrcd", $filter)) ? $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']?>" />
|
||||
<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="<?=$filter['rollout']?>" />
|
||||
<input type="text" class="form-control" name="filter[rollout]" id="filter_rollout" value="<?=(array_key_exists("rollout", $filter)) ? $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']?>" />
|
||||
<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>
|
||||
|
||||
|
||||
|
||||
@@ -19,9 +19,13 @@ class ADBHausnummerModel {
|
||||
public $unit_count;
|
||||
public $gps_lat;
|
||||
public $gps_long;
|
||||
public $borderpoint_lat;
|
||||
public $borderpoint_long;
|
||||
public $trenches;
|
||||
public $rollout;
|
||||
public $rollout_info;
|
||||
public $freigabe;
|
||||
public $visibility;
|
||||
public $manual_add;
|
||||
public $manual_add_by;
|
||||
public $manual_add_info;
|
||||
@@ -349,6 +353,16 @@ class ADBHausnummerModel {
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("visibility", $filter)) {
|
||||
$visibility = $filter['visibility'];
|
||||
if(is_array($visibility)) {
|
||||
$where .= " AND Hausnummer.visibility IN ('".implode("','", $visibility)."')";
|
||||
} else {
|
||||
$visibility = FronkDB::singleton()->escape($visibility);
|
||||
$where .= " AND Hausnummer.visibility = '$visibility'";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("rollout", $filter)) {
|
||||
$rollout = FronkDB::singleton()->escape($filter['rollout']);
|
||||
if($rollout) {
|
||||
|
||||
@@ -37,6 +37,7 @@ class AddressDB {
|
||||
`Hausnummer`.`rollout` AS `rollout`,
|
||||
`Hausnummer`.`rollout_info` AS `rollout_info`,
|
||||
`Hausnummer`.`freigabe` AS `freigabe`,
|
||||
`Hausnummer`.`visibility` AS `visibility`,
|
||||
`Hausnummer`.`rimo_id` AS `hausnummer_rimo_id`,
|
||||
`Hausnummer`.`rimo_fcp_name` AS `rimo_fcp_name`,
|
||||
`Wohneinheit`.`id` AS `wohneinheit_id`,
|
||||
|
||||
@@ -48,7 +48,7 @@ class AddressDBController extends mfBaseController {
|
||||
|
||||
if($this->me->is("Admin")) {
|
||||
$my_networks = NetworkModel::getAll();
|
||||
if($filter['network_id']) {
|
||||
if(array_key_exists("network_id", $filter) && $filter['network_id']) {
|
||||
$filter['netzgebiet_id'] = $filter['network_id'];
|
||||
}
|
||||
} else {
|
||||
@@ -77,12 +77,12 @@ class AddressDBController extends mfBaseController {
|
||||
if(!array_key_exists("netzgebiet_id", $addressdb_filter)) {
|
||||
$addressdb_filter['netzgebiet_id'] = $netzgebiet_ids;
|
||||
}
|
||||
//var_dump($my_adb_networks);exit;
|
||||
$addressdb_filter["visibility"] = ["public", "private"];
|
||||
|
||||
$this->layout()->set("my_networks", ADBNetzgebietModel::getAll());
|
||||
$this->layout()->set("my_adb_networks", $my_adb_networks);
|
||||
//var_dump($addressdb_filter);exit;
|
||||
//var_dump($addressdb_filter);exit;
|
||||
if($filter['netzgebiet_id'] === "null") {
|
||||
|
||||
if(array_key_exists("netzgebiet_id", $filter) && $filter['netzgebiet_id'] === "null") {
|
||||
$addressdb_filter['netzgebiet_id'] = 0;
|
||||
$pagination['maxItems'] = ADBHausnummerModel::count($addressdb_filter);
|
||||
$addresses = ADBHausnummerModel::search($addressdb_filter, $pagination);
|
||||
|
||||
@@ -388,6 +388,7 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
if(count($this->filter_salescluster_ids)) {
|
||||
$where .= " AND netzgebiet_id IN (".implode(",", $this->filter_salescluster_ids).")";
|
||||
}
|
||||
$where .= " AND Hausnummer.visibility='public'";
|
||||
|
||||
$sql = AddressDB::$wohneinheit_query;
|
||||
$sql .= "\n WHERE $where AND ((".implode(" OR ", $ort_search).") OR (".implode(" OR ", $strasse_search).") OR (".implode(" OR ", $plz_search).") OR (".implode(" OR ", $hausnummer_search).")) ORDER BY strasse, LENGTH(hausnummer), hausnummer, LENGTH(`Wohneinheit`.tuer),`Wohneinheit`.tuer, zusatz, LENGTH(num), num";
|
||||
@@ -676,6 +677,7 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
if($search_cluster_id) {
|
||||
$where .= " AND Netzgebiet.extref='$search_cluster_id'";
|
||||
}
|
||||
$where .= " AND Hausnummer.visibility='public'";
|
||||
//echo $where;
|
||||
//var_dump($this->filter_salescluster_ids);exit;
|
||||
|
||||
|
||||
32
db/migrations/20240208123321_hausnummer_add_visibility.php
Normal file
32
db/migrations/20240208123321_hausnummer_add_visibility.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
use Phinx\Migration\AbstractMigration;
|
||||
|
||||
final class HausnummerAddVisibility extends AbstractMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
if($this->getEnvironment() == "thetool") {
|
||||
|
||||
}
|
||||
|
||||
if($this->getEnvironment() == "addressdb") {
|
||||
$table = $this->table("Hausnummer");
|
||||
$table->addColumn("visibility", "enum", ["null" => false, "values" => "public,private,none", "default" => "public", "after" => "freigabe"]);
|
||||
$table->addIndex("visibility");
|
||||
$table->update();
|
||||
}
|
||||
}
|
||||
|
||||
public function down(): void
|
||||
{
|
||||
if($this->getEnvironment() == "thetool") {
|
||||
|
||||
}
|
||||
|
||||
if($this->getEnvironment() == "addressdb") {
|
||||
$this->table("Hausnummer")->removeColumn("visibility")->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user