Made multiple borderpolies possible in PreorderMap

This commit is contained in:
Frank Schubert
2025-12-17 17:34:54 +01:00
parent ae920c48f2
commit 80595bcf36
2 changed files with 32 additions and 20 deletions

View File

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