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("=self::getUrl("Preorder","Api")?>",
{
'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
-
-
- | Name |
- =$preorder->adb_wohneinheit->rimo_workorder->rimo_name?> |
-
- | External ID |
- =$preorder->adb_wohneinheit->rimo_workorder->rimo_id?> |
-
- | Status |
- =$preorder->adb_wohneinheit->rimo_workorder->rimo_status?> |
-
- adb_wohneinheit->rimo_workorder->rimo_team_name): ?>
-
- | Zugewiesen an: |
- =$preorder->adb_wohneinheit->rimo_workorder->rimo_team_name?> |
-
-
-
- | Erstellt |
- =(is_object($preorder->adb_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): ?>
+ =$wo->rimo_name?>
+ Workorder löschen
+
+
+ | Name |
+ =$wo->rimo_name?> |
+
+ | External ID |
+ =$wo->rimo_id?> |
+
+ | Status |
+ =$wo->rimo_status?> |
+
+ rimo_team_name): ?>
+
+ | Zugewiesen an: |
+ =$wo->rimo_team_name?> |
+
+
+
+ | Erstellt |
+ =date("d.m.Y H:i:s", $wo->create)?> |
+
+
+
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
|