Merge branch 'fronkdev' into 'master'

Made multiple borderpolies possible in PreorderMap

See merge request fronk/thetool!1969
This commit is contained in:
Frank Schubert
2025-12-17 16:35:32 +00:00
2 changed files with 32 additions and 20 deletions

View File

@@ -1358,14 +1358,25 @@ $pagination_entity_name = "Vorbestellungen";
/* /*
* Globals for map display * Globals for map display
*/ */
var borderpoly = []; var borderpolies = [];
<?php if(isset($campaign) && $campaign && $campaign->adb_netzgebiet): ?> <?php if($me->is("Admin")): ?>
borderpoly = <?=($campaign->adb_netzgebiet->borderpoly) ? $campaign->adb_netzgebiet->borderpoly : "[]"?>; <?php foreach(ADBNetzgebietModel::search(["borderpoly" => true]) as $bp_netz): ?>
<?php elseif($me->is("Admin")): ?> borderpolies.push([<?=$bp_netz->borderpoly?>]);
borderpoly = []; <?php endforeach; ?>
<?php foreach(ADBNetzgebietModel::search(["borderpoly" => true]) as $bp_netz): ?> <?php elseif(isset($campaign) && $campaign):
borderpoly.push(<?=$bp_netz->borderpoly?>); $adb_networks = [];
<?php endforeach; ?> if(is_array($campaign->salesclusters) && count($campaign->salesclusters)) {
$adb_networks = $campaign->salesclusters;
} else {
$adb_networks = [$campaign->adb_netzgebiet];
}
if(count($adb_networks)): ?>
<?php foreach($adb_networks as $network): ?>
borderpoly = <?=($network->borderpoly) ?: "[]"?>;
borderpolies.push(borderpoly);
<?php endforeach; ?>
<?php endif; ?>
<?php endif; ?> <?php endif; ?>
var preorderMap; var preorderMap;
@@ -1441,17 +1452,20 @@ $pagination_entity_name = "Vorbestellungen";
function addMarkers() { function addMarkers() {
if(borderpoly) { if(borderpolies) {
var border = L.polygon(borderpoly, { borderpolies.forEach(function(borderpoly) {
fillColor: 'blue', var border = L.polygon(borderpoly, {
weight: 8, fillColor: 'blue',
opacity: 0.5, weight: 8,
color: 'violet', //Outline color opacity: 0.5,
fillOpacity: 0.05 color: 'violet', //Outline color
}).addTo(preorderMap); fillOpacity: 0.05
}).addTo(preorderMap);
});
} }
if(!Array.isArray(preorders) | !preorders.length) { if(!Array.isArray(preorders) || !preorders.length) {
return false; return false;
} }
// draw markers and calculate center position // draw markers and calculate center position

View File

@@ -1565,9 +1565,7 @@ class PreorderController extends mfBaseController {
} }
} }
if(!$filter['preordercampaign_id']) $filter['preordercampaign_id'] = 0; if(!array_key_exists("preordercampaign_id", $filter) || !$filter['preordercampaign_id']) $filter['preordercampaign_id'] = 0;
if(in_array("preorders", $type)) { if(in_array("preorders", $type)) {
$this->log->debug(__METHOD__.": requested preorders"); $this->log->debug(__METHOD__.": requested preorders");