WIP AddressDB/Export
This commit is contained in:
@@ -25,7 +25,6 @@ class AddressDBController extends mfBaseController {
|
||||
|
||||
$this->layout->set("filter", $rfilter);
|
||||
|
||||
$where = "";
|
||||
$filter = $this->getPreparedFilter($rfilter);
|
||||
|
||||
// pagination defaults
|
||||
@@ -152,7 +151,7 @@ class AddressDBController extends mfBaseController {
|
||||
|
||||
if(is_array($filter) && count($filter)) {
|
||||
foreach($filter as $name => $value) {
|
||||
$new_filter[$name] = $value;
|
||||
if(strlen($value) > 0) $new_filter[$name] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -324,6 +323,56 @@ class AddressDBController extends mfBaseController {
|
||||
$this->layout()->setFlash("Adresse erfolgreich gespeichert", "success");
|
||||
$this->redirect("AddressDB", "Index", $qs);
|
||||
|
||||
}
|
||||
|
||||
protected function exportAction() {
|
||||
$rfilter = $this->request->filter;
|
||||
if(!is_array($rfilter)) {
|
||||
$rfilter = [];
|
||||
}
|
||||
$filter = $this->getPreparedFilter($rfilter);
|
||||
|
||||
|
||||
if($this->me->is("Admin")) {
|
||||
$my_networks = NetworkModel::getAll();
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("network_id", $filter) && $filter['network_id']) {
|
||||
if($this->me->is("Admin")) {
|
||||
$filter['netzgebiet_id'] = $filter['network_id'];
|
||||
} else {
|
||||
if(in_array($filter['network_id'], $netzgebiet_ids)) {
|
||||
$filter['netzgebiet_id'] = $filter['network_id'];
|
||||
}
|
||||
}
|
||||
}
|
||||
unset($filter['network_id']);
|
||||
|
||||
$addressdb_filter = $filter;
|
||||
if(!array_key_exists("netzgebiet_id", $addressdb_filter)) {
|
||||
$addressdb_filter['netzgebiet_id'] = $netzgebiet_ids;
|
||||
}
|
||||
|
||||
$res = ADBHausnummerModel::search($addressdb_filter, [], true);
|
||||
|
||||
$this->layout()->setTemplate("AddressDB/export.csv");
|
||||
$this->layout()->set("res", $res);
|
||||
|
||||
//var_dump($filter, $hausnummern);exit;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected function apiAction() {
|
||||
|
||||
Reference in New Issue
Block a user