Merge branch 'fronkdev' into 'master'

Added netzgebiet border polygon

See merge request fronk/thetool!238
This commit is contained in:
Frank Schubert
2024-02-09 16:52:00 +00:00
5 changed files with 81 additions and 2 deletions

View File

@@ -395,7 +395,16 @@
/*
* Globals for map display
*/
<?php if(isset($campaign) && $campaign && $campaign->adb_netzgebiet): ?>
var borderpoly = <?=($campaign->adb_netzgebiet->borderpoly) ? $campaign->adb_netzgebiet->borderpoly : "[]"?>;
<?php else: ?>
var borderpoly = [];
//borderpoly[0] = [];
<?php foreach(ADBNetzgebietModel::search(["borderpoly" => true]) as $bp_netz): ?>
borderpoly.push(<?=$bp_netz->borderpoly?>);
<?php endforeach; ?>
<?php endif; ?>
var preorderMap;
var preorders = [];
var markers = [];
@@ -408,6 +417,8 @@
};
var currentTileset = "geolandbasemap";
function toggleTileset() {
if(currentTileset == "geolandbasemap") {
currentTileset = "bmaporthofoto30cm";
@@ -466,6 +477,16 @@
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(!Array.isArray(preorders) | !preorders.length) {
return false;
}
@@ -545,7 +566,7 @@
}).addTo(preorderMap);
}
<?php endif; ?>
});

View File

@@ -154,6 +154,15 @@ class ADBNetzgebietModel {
}
}
if(array_key_exists("borderpoly", $filter)) {
$borderpoly = $filter['borderpoly'];
if($borderpoly === true) {
$where .= " AND Netzgebiet.`borderpoly` IS NOT NULL";
} elseif($borderpoly === false || $borderpoly === null) {
$where .= " AND (Netzgebiet.`borderpoly` IS NULL OR Netzgebiet.`borderpoly` = '')";
}
}
//var_dump($filter, $where);exit;
return $where;
}

View File

@@ -7,6 +7,7 @@ class Network extends mfBaseModel {
private $roles;
private $sections;
private $buildings;
private $adb_netzgebiet;
public function getTypeAddresses($search_type) {
@@ -139,6 +140,17 @@ class Network extends mfBaseModel {
return $this->buildings;
}
if($name == "adb_netzgebiet") {
if(!$this->adb_netzgebiet_id) {
return null;
}
$this->adb_netzgebiet = new ADBNetzgebiet($this->adb_netzgebiet_id);
if(!$this->adb_netzgebiet->id) {
return null;
}
return $this->adb_netzgebiet;
}
$classname = ucfirst($name);
$idfield = $name."_id";
$this->$name = new $classname($this->$idfield);

View File

@@ -2,6 +2,7 @@
class Preordercampaign extends mfBaseModel {
private $network;
private $adb_netzgebiet;
private $preorders;
private $active_preorders;
private $active_preorder_count = 0;
@@ -200,6 +201,11 @@ class Preordercampaign extends mfBaseModel {
return $this->corsorigins;
}
if($name == "adb_netzgebiet") {
if(!$this->network_id) return null;
return $this->getProperty("network")->adb_netzgebiet;
}
if($name == "creator") {
$user = mfValuecache::singleton()->get("Worker-id-".$this->create_by);
if($user) {

View File

@@ -0,0 +1,31 @@
<?php
declare(strict_types=1);
use Phinx\Migration\AbstractMigration;
final class NetzgebietAddBorderpoly extends AbstractMigration
{
public function up(): void
{
if($this->getEnvironment() == "thetool") {
}
if($this->getEnvironment() == "addressdb") {
$table = $this->table("Netzgebiet");
$table->addColumn("borderpoly", "json", ["null" => true, "default" => null, "after" => "source_id"]);
$table->update();
}
}
public function down(): void
{
if($this->getEnvironment() == "thetool") {
}
if($this->getEnvironment() == "addressdb") {
$this->table("Netzgebiet")->removeColumn("borderpoly")->save();
}
}
}