Now showing all Workorders in Preorder detail

This commit is contained in:
Frank Schubert
2024-10-10 16:42:22 +02:00
parent 396e26c0a1
commit a0b5c9cc6e
4 changed files with 61 additions and 35 deletions

View File

@@ -292,7 +292,7 @@
</td>
<?php if($me->is(["Admin", "netowner"])): ?>
<td><?php if($preorder->adb_wohneinheit_id && is_object($preorder->adb_wohneinheit->rimo_workorder)):?><i class="fas fa-r" title="Rimo Workorder erstellt"></i><?php endif; ?></td>
<td><?php if($preorder->adb_wohneinheit_id && is_array($preorder->adb_wohneinheit->rimo_workorders) && count($preorder->adb_wohneinheit->rimo_workorders)):?><i class="fas fa-r" title="Rimo Workorder erstellt"></i><?php endif; ?></td>
<?php endif; ?>
<td style="text-align: left; letter-spacing: 4px; font-size: 1.1em;">
<?php if(!$me->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("<em class='text-monospace'>--gelöscht--</em>");
});
$("#preorder-detail-" + success.result.id + "-workorder-del").remove();
$("#preorder-detail-" + success.result.id + "-workorder-" + success.result.wid + "-del").remove();
}
},
'json');

View File

@@ -397,30 +397,33 @@
<div class="col-6">
<h3>Workorder</h3>
<?php if(is_object($preorder->adb_wohneinheit->rimo_workorder) && $preorder->adb_wohneinheit->rimo_workorder->id): ?>
<small id="preorder-detail-<?=$preorder->id?>-workorder-del"><a href="#" onclick="if(confirm('Achtung: Löscht die Workorder in thetool, aber NICHT in RIMO!')) return deleteWorkorder(<?=$preorder->id?>)" class="text-danger"><i class="far fa-times-circle"></i> Workorder löschen</a></small>
<table class="table table-sm table-striped" id="preorder-detail-<?=$preorder->id?>-workorder">
<tr>
<th>Name</th>
<td class="text-monospace"><?=$preorder->adb_wohneinheit->rimo_workorder->rimo_name?></td>
</tr><tr>
<th>External ID</th>
<td class="text-monospace"><?=$preorder->adb_wohneinheit->rimo_workorder->rimo_id?></td>
</tr><tr>
<th>Status</th>
<td><?=$preorder->adb_wohneinheit->rimo_workorder->rimo_status?></td>
</tr>
<?php if($preorder->adb_wohneinheit->rimo_workorder->rimo_team_name): ?>
<tr>
<th>Zugewiesen an:</th>
<td><?=$preorder->adb_wohneinheit->rimo_workorder->rimo_team_name?></td>
</tr>
<?php endif; ?>
<tr>
<th>Erstellt</th>
<td class="text-monospace"><?=(is_object($preorder->adb_wohneinheit->rimo_workorder)) ? date("d.m.Y H:i:s", $preorder->adb_wohneinheit->rimo_workorder->create) : ""?></td>
</tr>
</table>
<?php if(is_array($preorder->adb_wohneinheit->rimo_workorders) && count($preorder->adb_wohneinheit->rimo_workorders)): ?>
<?php foreach($preorder->adb_wohneinheit->rimo_workorders as $wo): ?>
<h4><?=$wo->rimo_name?></h4>
<small id="preorder-detail-<?=$preorder->id?>-workorder-<?=$wo->id?>-del"><a href="#" onclick="if(confirm('Achtung: Löscht die Workorder in thetool, aber NICHT in RIMO!')) return deleteWorkorder(<?=$preorder->id?>, <?=$wo->id?>)" class="text-danger"><i class="far fa-times-circle"></i> Workorder löschen</a></small>
<table class="table table-sm table-striped" id="preorder-detail-<?=$preorder->id?>-workorder-<?=$wo->id?>">
<tr>
<th>Name</th>
<td class="text-monospace"><?=$wo->rimo_name?></td>
</tr><tr>
<th>External ID</th>
<td class="text-monospace"><?=$wo->rimo_id?></td>
</tr><tr>
<th>Status</th>
<td><?=$wo->rimo_status?></td>
</tr>
<?php if($wo->rimo_team_name): ?>
<tr>
<th>Zugewiesen an:</th>
<td><?=$wo->rimo_team_name?></td>
</tr>
<?php endif; ?>
<tr>
<th>Erstellt</th>
<td class="text-monospace"><?=date("d.m.Y H:i:s", $wo->create)?></td>
</tr>
</table>
<?php endforeach; ?>
<?php endif; ?>
</div>

View File

@@ -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();

View File

@@ -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];
}
}