From 6b64b16ac38691f348d831d57e74c1b2a0a78b8d Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Tue, 17 Aug 2021 19:50:53 +0200 Subject: [PATCH] New Buildings are checked for existing adresses --- application/Building/BuildingController.php | 11 +++++++++++ application/Building/BuildingModel.php | 21 +++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/application/Building/BuildingController.php b/application/Building/BuildingController.php index b5b25cbdd..325567a4c 100644 --- a/application/Building/BuildingController.php +++ b/application/Building/BuildingController.php @@ -146,10 +146,21 @@ class BuildingController extends mfBaseController { if($mode == "add") { $data['create_by'] = 1; $building = BuildingModel::create($data); + + // check if building exists already + $checkBuilding = BuildingModel::search(['street' => $data['street'], 'city' => $data['city'], 'zip' => $data['zip']]); + if($checkBuilding) { + $this->layout()->setFlash("Objekt ist bereits vorhanden!", "error"); + $this->layout()->set("building", $building); + return $this->add(); + } + } else { $building->update($data); } + + //var_dump($address);exit; $new_id = $building->save(); if(!$new_id) { diff --git a/application/Building/BuildingModel.php b/application/Building/BuildingModel.php index 5f0f95001..4ba952f14 100644 --- a/application/Building/BuildingModel.php +++ b/application/Building/BuildingModel.php @@ -157,6 +157,27 @@ class BuildingModel { } } + if(array_key_exists("street", $filter)) { + $street = FronkDB::singleton()->escape($filter["street"]); + if($street) { + $where .= " AND street='$street'"; + } + } + + if(array_key_exists("zip", $filter)) { + $zip = FronkDB::singleton()->escape($filter["zip"]); + if($zip) { + $where .= " AND zip='$zip'"; + } + } + + if(array_key_exists("city", $filter)) { + $city = FronkDB::singleton()->escape($filter["city"]); + if($city) { + $where .= " AND city='$city'"; + } + } + //var_dump($filter, $where);exit; return $where; }