diff --git a/Layout/default/AddressDB/Index.php b/Layout/default/AddressDB/Index.php
index 0eb0cb05f..da16d14d0 100644
--- a/Layout/default/AddressDB/Index.php
+++ b/Layout/default/AddressDB/Index.php
@@ -189,6 +189,11 @@
can("ADBExtended") || $me->isAdmin()): ?>
"> Doppelte Homes
+ isAdmin()): ?>
+
+
diff --git a/application/AddressDB/AddressDBController.php b/application/AddressDB/AddressDBController.php
index f8e5d4dc4..5de50426e 100644
--- a/application/AddressDB/AddressDBController.php
+++ b/application/AddressDB/AddressDBController.php
@@ -108,7 +108,13 @@ class AddressDBController extends mfBaseController {
}
$this->layout()->set("ortschaften", ADBOrtschaftModel::search($filter_filter));
}
-
+
+ if($this->request->rimoAddressUpdate) {
+ $this->updateAddressesInRimo(ADBHausnummerModel::search($addressdb_filter));
+ unset($filter["rimoAddressUpdate"]);
+ $qs = http_build_query($filter);
+ $this->redirect("AddressDB", "index", $filter);
+ }
}
@@ -209,6 +215,13 @@ class AddressDBController extends mfBaseController {
return $new_filter;
}
+
+ private function updateAddressesInRimo($addresses) {
+ foreach($addresses as $address) {
+ $address->updateAddressInRimo();
+ }
+ $this->layout()->setFlash(count($addresses)." Adressen in Rimo aktualisiert", "success");
+ }
protected function viewAction() {
$this->layout()->setTemplate("AddressDB/View");
@@ -941,12 +954,15 @@ class AddressDBController extends mfBaseController {
if($updated) {
$hausnummer->save(["no_aftersave" => true]);
- if($do_rimo_update) {
- $hausnummer->updateAddressInRimo();
- }
$u++;
}
+ if($do_rimo_update) {
+ // reload to make sure we have the latest data in caches
+ $hausnummer = new ADBHausnummer($hausnummer->id);
+ $hausnummer->updateAddressInRimo();
+ }
+
$i++;
}
diff --git a/lib/mvcfronk/mfBase/mfBaseController.php b/lib/mvcfronk/mfBase/mfBaseController.php
index a9cece530..80c8cf7ef 100644
--- a/lib/mvcfronk/mfBase/mfBaseController.php
+++ b/lib/mvcfronk/mfBase/mfBaseController.php
@@ -260,7 +260,8 @@ class mfBaseController
if ($params) {
if (is_array($params) && count($params)) {
- $url .= (MFUSEFANCYURLS) ? "/?" : "&";
+ $qs = http_build_query($params);
+ /*$url .= (MFUSEFANCYURLS) ? "/?" : "&";
foreach ($params as $k => $v) {
$v = urlencode($v);
@@ -273,10 +274,21 @@ class mfBaseController
}
$url = preg_replace('/&$/', '', $url);
+ */
} else {
+ $qs = $params;
+ /*
$url .= (MFUSEFANCYURLS) ? "/?" : "&";
$url .= $params;
+ */
}
+ $url = rtrim($url, "&?");
+ if(MFUSEFANCYURLS) {
+ $url .= "/".$qs;
+ } else {
+ $url .= "&".substr($qs, 1);
+ }
+
}
if ($anker) {
$url .= "#$anker";