diff --git a/Layout/default/Preorder/Index.php b/Layout/default/Preorder/Index.php index 3af5dd407..7d90a4174 100644 --- a/Layout/default/Preorder/Index.php +++ b/Layout/default/Preorder/Index.php @@ -292,7 +292,7 @@ is(["Admin", "netowner"])): ?> - adb_wohneinheit_id && is_object($preorder->adb_wohneinheit->rimo_workorder)):?> + adb_wohneinheit_id && is_array($preorder->adb_wohneinheit->rimo_workorders) && count($preorder->adb_wohneinheit->rimo_workorders)):?> is("preorderfront")): ?> @@ -907,24 +907,29 @@ 'json'); } - function deleteWorkorder(pid) { - console.log("in delete workorder"); + function deleteWorkorder(pid, wid) { + //console.log("in delete workorder"); if(!Number.isInteger(pid) || pid < 1) { return false; } + if(!Number.isInteger(wid) || wid < 1) { + return false; + } + $.post("", { 'do': "deleteWorkorder", id: pid, + wid: wid }, function(success) { if(success.status == "OK") { - $("#preorder-detail-" + success.result.id + "-workorder td").each(function() { + $("#preorder-detail-" + success.result.id + "-workorder-" + success.result.wid + " td").each(function() { $(this).html("--gelöscht--"); }); - $("#preorder-detail-" + success.result.id + "-workorder-del").remove(); + $("#preorder-detail-" + success.result.id + "-workorder-" + success.result.wid + "-del").remove(); } }, 'json'); diff --git a/Layout/default/Preorder/include/preorder-detail.php b/Layout/default/Preorder/include/preorder-detail.php index 5228fe1f3..99a9bb384 100644 --- a/Layout/default/Preorder/include/preorder-detail.php +++ b/Layout/default/Preorder/include/preorder-detail.php @@ -397,30 +397,33 @@

Workorder

- adb_wohneinheit->rimo_workorder) && $preorder->adb_wohneinheit->rimo_workorder->id): ?> - Workorder löschen - - - - - - - - - - - - adb_wohneinheit->rimo_workorder->rimo_team_name): ?> - - - - - - - - - -
Nameadb_wohneinheit->rimo_workorder->rimo_name?>
External IDadb_wohneinheit->rimo_workorder->rimo_id?>
Statusadb_wohneinheit->rimo_workorder->rimo_status?>
Zugewiesen an:adb_wohneinheit->rimo_workorder->rimo_team_name?>
Erstelltadb_wohneinheit->rimo_workorder)) ? date("d.m.Y H:i:s", $preorder->adb_wohneinheit->rimo_workorder->create) : ""?>
+ adb_wohneinheit->rimo_workorders) && count($preorder->adb_wohneinheit->rimo_workorders)): ?> + adb_wohneinheit->rimo_workorders as $wo): ?> +

rimo_name?>

+ Workorder löschen + + + + + + + + + + + + rimo_team_name): ?> + + + + + + + + + +
Namerimo_name?>
External IDrimo_id?>
Statusrimo_status?>
Zugewiesen an:rimo_team_name?>
Erstelltcreate)?>
+
diff --git a/application/ADBWohneinheit/ADBWohneinheit.php b/application/ADBWohneinheit/ADBWohneinheit.php index 9fc846ba1..374752b77 100644 --- a/application/ADBWohneinheit/ADBWohneinheit.php +++ b/application/ADBWohneinheit/ADBWohneinheit.php @@ -3,6 +3,7 @@ class ADBWohneinheit extends mfBaseModel { private $hausnummer; private $rimo_workorder; + private $rimo_workorders; private $ftu_data; private $status; @@ -244,7 +245,15 @@ class ADBWohneinheit extends mfBaseModel { } return $this->rimo_workorder; } - + + if($name == "rimo_workorders") { + $this->rimo_workorders = RimoWorkorderModel::search(["adb_wohneinheit_id" => $this->id]); + /*if(count($workorders)) { + $this->rimo_workorders = $workorders; + }*/ + return $this->rimo_workorders; + } + if($name == "ftu_data") { $rimo_data = $this->getExternalRimoData(); diff --git a/application/Preorder/PreorderController.php b/application/Preorder/PreorderController.php index d125e7263..3065fd5d2 100644 --- a/application/Preorder/PreorderController.php +++ b/application/Preorder/PreorderController.php @@ -1264,8 +1264,9 @@ class PreorderController extends mfBaseController { if(!$this->me->is("Admin")) { return false; } - + $preorder_id = $this->request->id; + $wo_id = $this->request->wid; if(!is_numeric($preorder_id) || $preorder_id < 1) { return false; @@ -1279,14 +1280,22 @@ class PreorderController extends mfBaseController { if(!$preorder->adb_wohneinheit_id) { return false; } - - $workorder = RimoWorkorderModel::getFirst(["adb_wohneinheit_id" => $preorder->adb_wohneinheit_id]); - if(!$workorder) { + + if(!is_numeric($wo_id) || $wo_id < 1) { return false; } + $workorder = new RimoWorkorder($wo_id); + if(!$workorder->id) { + return false; + } + + if($preorder->adb_wohneinheit_id != $workorder->adb_wohneinheit_id) { + $this->log->warning(__METHOD__.": wohneinheit_id not equal"); + return false; + } $workorder->delete(); - return ["message" => "Workorder deleted successfully", "id" => $preorder->id]; + return ["message" => "Workorder deleted successfully", "id" => $preorder->id, "wid" => $wo_id]; } } \ No newline at end of file