diff --git a/Layout/default/Preorder/Form.php b/Layout/default/Preorder/Form.php index 66ef4c02e..54dfa1553 100644 --- a/Layout/default/Preorder/Form.php +++ b/Layout/default/Preorder/Form.php @@ -153,7 +153,7 @@
adb_wohneinheit_id && is_array($preorder->adb_wohneinheit->rimo_workorders) && count($preorder->adb_wohneinheit->rimo_workorders)): ?> @@ -597,6 +597,8 @@ opt += " " + unit.extra; } if(unit.extref) opt += " (" + unit.extref + ")"; + if(unit.oaid) opt += " - " + unit.oaid; + if(unit.preorder_count) opt += " - " + unit.preorder_count + " Bestellung"; /*let extras = new Array(); if(unit.block) extras.push("Block " + unit.block); @@ -626,7 +628,9 @@ .data("stiege", unit.stiege) .data("stock", unit.stock) .data("tuer", unit.tuer) - .data("zusatz", unit.zusatz); + .data("zusatz", unit.zusatz) + .data("oaid", unit.oaid) + .data["preorder_count"]; afterHausnummerChange(); diff --git a/application/ADBWohneinheit/ADBWohneinheit.php b/application/ADBWohneinheit/ADBWohneinheit.php index ea2e3df16..7a1581a8b 100644 --- a/application/ADBWohneinheit/ADBWohneinheit.php +++ b/application/ADBWohneinheit/ADBWohneinheit.php @@ -7,6 +7,7 @@ class ADBWohneinheit extends mfBaseModel { private $ftu_data; private $status; private $statusflags; // TODO + private $preorders; protected function init() { $this->db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME); @@ -283,6 +284,15 @@ class ADBWohneinheit extends mfBaseModel { return $this->rimo_workorders; } + if($name == "preorders") { + $preorders = PreorderModel::search(["adb_wohneinheit_id" => $this->id]); + if(!count($preorders)) { + return []; + } + $this->preorders = $preorders; + return $this->preorders; + } + if($name == "ftu_data") { $rimo_data = $this->getExternalRimoData(); diff --git a/application/AddressDB/AddressDBController.php b/application/AddressDB/AddressDBController.php index 775afff86..abb0e9048 100644 --- a/application/AddressDB/AddressDBController.php +++ b/application/AddressDB/AddressDBController.php @@ -1065,6 +1065,8 @@ class AddressDBController extends mfBaseController { $u['extra'] = (string)$unit; $u['zusatz'] = $unit->zusatz; $u['usage'] = $unit->nutzung; + $u['oaid'] = $unit->oaid; + $u['preorder_count'] = count($unit->preorders); $results[] = $u; } diff --git a/application/Preorder/PreorderController.php b/application/Preorder/PreorderController.php index f60b80b4d..6637745aa 100644 --- a/application/Preorder/PreorderController.php +++ b/application/Preorder/PreorderController.php @@ -496,6 +496,14 @@ class PreorderController extends mfBaseController { $data['create_by'] = $this->me->id; $preorder = PreorderModel::create($data); } else { + // if new wohneinheit -> remove oaid from Preorder + if($r->adb_wohneinheit_id && $preorder->adb_wohneinheit_id != $r->adb_wohneinheit_id) { + $preorder->oaid = null; + } + if(!$r->adb_wohneinheit_id && $preorder->oaid) { + $preorder->oaid = null; + } + $preorder->update($data); } @@ -655,6 +663,9 @@ class PreorderController extends mfBaseController { } } + } else { + // if $preorder->adb_wohneinheit_id + //if($preorder->_old) } /*