Added rimo update button in AdressDB/Index

This commit is contained in:
Frank Schubert
2025-11-05 17:51:20 +01:00
parent 8a52252968
commit f8306cfb7f
3 changed files with 38 additions and 5 deletions

View File

@@ -189,6 +189,11 @@
<?php if($me->can("ADBExtended") || $me->isAdmin()): ?> <?php if($me->can("ADBExtended") || $me->isAdmin()): ?>
<a class="btn btn-outline-secondary ml-2" href="<?=self::getUrl("ADBWohneinheit", "duplicate")?>"><i class="fas fa-fw fa-copy"></i> Doppelte Homes</a> <a class="btn btn-outline-secondary ml-2" href="<?=self::getUrl("ADBWohneinheit", "duplicate")?>"><i class="fas fa-fw fa-copy"></i> Doppelte Homes</a>
<?php endif; ?> <?php endif; ?>
<?php if($me->isAdmin()): ?>
<button type="submit" name="rimoAddressUpdate" value="1" class="btn btn-purple ml-2">
<i class="fas fa-cloud-arrow-up "></i> in Rimo Updaten
</button>
<?php endif; ?>
</div> </div>
</div> </div>

View File

@@ -108,7 +108,13 @@ class AddressDBController extends mfBaseController {
} }
$this->layout()->set("ortschaften", ADBOrtschaftModel::search($filter_filter)); $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; 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() { protected function viewAction() {
$this->layout()->setTemplate("AddressDB/View"); $this->layout()->setTemplate("AddressDB/View");
@@ -941,12 +954,15 @@ class AddressDBController extends mfBaseController {
if($updated) { if($updated) {
$hausnummer->save(["no_aftersave" => true]); $hausnummer->save(["no_aftersave" => true]);
if($do_rimo_update) {
$hausnummer->updateAddressInRimo();
}
$u++; $u++;
} }
if($do_rimo_update) {
// reload to make sure we have the latest data in caches
$hausnummer = new ADBHausnummer($hausnummer->id);
$hausnummer->updateAddressInRimo();
}
$i++; $i++;
} }

View File

@@ -260,7 +260,8 @@ class mfBaseController
if ($params) { if ($params) {
if (is_array($params) && count($params)) { if (is_array($params) && count($params)) {
$url .= (MFUSEFANCYURLS) ? "/?" : "&"; $qs = http_build_query($params);
/*$url .= (MFUSEFANCYURLS) ? "/?" : "&";
foreach ($params as $k => $v) { foreach ($params as $k => $v) {
$v = urlencode($v); $v = urlencode($v);
@@ -273,10 +274,21 @@ class mfBaseController
} }
$url = preg_replace('/&$/', '', $url); $url = preg_replace('/&$/', '', $url);
*/
} else { } else {
$qs = $params;
/*
$url .= (MFUSEFANCYURLS) ? "/?" : "&"; $url .= (MFUSEFANCYURLS) ? "/?" : "&";
$url .= $params; $url .= $params;
*/
} }
$url = rtrim($url, "&?");
if(MFUSEFANCYURLS) {
$url .= "/".$qs;
} else {
$url .= "&".substr($qs, 1);
}
} }
if ($anker) { if ($anker) {
$url .= "#$anker"; $url .= "#$anker";