AddressDB Status change UI
This commit is contained in:
@@ -9,8 +9,8 @@
|
||||
<div class="page-title-box">
|
||||
<div class="page-title-right">
|
||||
<ol class="breadcrumb m-0">
|
||||
<li class="breadcrumb-item"><a href="javascript: void(0);"><?=MFAPPNAME_SLUG?></a></li>
|
||||
<li class="breadcrumb-item"><a href="javascript: void(0);">GWR / AddressDB</a></li>
|
||||
<li class="breadcrumb-item"><a href="<?=self::getUrl("Dashboard")?>"><?=MFAPPNAME_SLUG?></a></li>
|
||||
<li class="breadcrumb-item"><a href="<?=self::getUrl("AddressDB")?>">GWR / AddressDB</a></li>
|
||||
<li class="breadcrumb-item active"><?=$address->strasse->name?> <?=$address->hausnummer?>, <?=$address->plz->plz?> <?=$address->ortschaft->name?></li>
|
||||
</ol>
|
||||
</div>
|
||||
@@ -66,12 +66,22 @@
|
||||
</tr><tr>
|
||||
<td colspan="2"><h4>Status</h4></td>
|
||||
</tr><tr>
|
||||
<th>Status Code</th>
|
||||
<td class="text-monospace"><?=$address->status->code?></td>
|
||||
</tr><tr>
|
||||
<th>Status Text</th>
|
||||
<td class="text-monospace"><?=$address->status->name?></td>
|
||||
</tr><tr>
|
||||
<th>Status</th>
|
||||
<td class="text-monospace">
|
||||
<span id="addressstatus-<?=$address->id?>-text" data-status-id="<?=$address->status_id?>"><span id="addressstatus-<?=$address->id?>-statustext"><?=$address->status->code?> - <?=$address->status->name?></span> <a href="#" onclick="return toggleAddressStatusControl(<?=$address->id?>)"><i class="fas fa-fw fa-edit"></i></a></span>
|
||||
<div class="input-group" id="addressstatus-<?=$address->id?>-input" style="display:none">
|
||||
<select class="form-control">
|
||||
<?php foreach(ADBStatusModel::search(["!type" => "wohneinheit"]) as $status): ?>
|
||||
<option value="<?=$status->id?>" <?=($address->status_id == $status->id) ? "selected='selected'" : ""?>><?=$status->code?> - <?=$status->name?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<div class="input-group-append">
|
||||
<button type="button" class="btn btn-primary" title="Speichern" onclick="saveAddressStatusControl(<?=$address->id?>)"><i class="fas fa-check"></i></button>
|
||||
<button type="button" class="btn btn-secondary" title="Abbrechen" onclick="toggleAddressStatusControl(<?=$address->id?>)"><i class="fas fa-times"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr><tr>
|
||||
<th>Statusflags</th>
|
||||
<td>
|
||||
<table class="table table-sm table-bordered table-striped bg-white">
|
||||
@@ -158,7 +168,20 @@
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td class="text-monospace"><?=$unit->status->code?> - <?=$unit->status->name?></td>
|
||||
<td id="unit-<?=$unit->id?>-status" class="text-monospace">
|
||||
<span id="unitstatus-<?=$unit->id?>-text" data-status-id="<?=$unit->status_id?>"><span id="unitstatus-<?=$unit->id?>-statustext"><?=$unit->status->code?> - <?=$unit->status->name?></span> <a href="#" onclick="return toggleUnitStatusControl(<?=$unit->id?>)"><i class="fas fa-fw fa-edit"></i></a></span>
|
||||
<div class="input-group" id="unitstatus-<?=$unit->id?>-input" style="display:none">
|
||||
<select class="form-control">
|
||||
<?php foreach(ADBStatusModel::search(["!type" => "hausnummer"]) as $status): ?>
|
||||
<option value="<?=$status->id?>" <?=($unit->status_id == $status->id) ? "selected='selected'" : ""?>><?=$status->code?> - <?=$status->name?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<div class="input-group-append">
|
||||
<button type="button" class="btn btn-primary" title="Speichern" onclick="saveUnitStatusControl(<?=$unit->id?>)"><i class="fas fa-check"></i></button>
|
||||
<button type="button" class="btn btn-secondary" title="Abbrechen" onclick="toggleUnitStatusControl(<?=$unit->id?>)"><i class="fas fa-times"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td><?=((string)$unit) ? "<strong>".(string)$unit."</strong>" : ""?></td>
|
||||
<td><?=($unit->extref) ? "[".$unit->extref."]" : ""?></td>
|
||||
<td title="Anzahl Bestellungen"><?=PreorderModel::countActive(["adb_wohneinheit_id" => $unit->id])?></td>
|
||||
@@ -183,4 +206,148 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
function toggleAddressStatusControl(pid) {
|
||||
// set select to current status id
|
||||
$("#addressstatus-" + pid + "-input select").val($("#addressstatus-" + pid + "-text").data("status-id"));
|
||||
|
||||
// toggle controls
|
||||
$("#addressstatus-" + pid + "-text").toggle();
|
||||
$("#addressstatus-" + pid + "-input").toggle();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function toggleUnitStatusControl(pid) {
|
||||
// set select to current status id
|
||||
$("#unitstatus-" + pid + "-input select").val($("#unitstatus-" + pid + "-text").data("status-id"));
|
||||
|
||||
// toggle controls
|
||||
$("#unitstatus-" + pid + "-text").toggle();
|
||||
$("#unitstatus-" + pid + "-input").toggle();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function saveAddressStatusControl(aid) {
|
||||
if(!Number.isInteger(aid) || aid < 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var value = $("#addressstatus-" + aid + "-input select").val();
|
||||
|
||||
$.post("<?=self::getUrl("AddressDB","Api")?>",
|
||||
{
|
||||
'do': "updateAddressStatus",
|
||||
id: aid,
|
||||
status_id: value
|
||||
},
|
||||
function(success) {
|
||||
if(success.status == "OK") {
|
||||
var updates = success.result.updates;
|
||||
//console.log(updates);
|
||||
|
||||
$("#addressstatus-" + updates.id + "-statustext").text(updates.status_code + " - " + updates.status_text);
|
||||
$("#addressstatus-" + updates.id + "-text")
|
||||
.addClass("text-success")
|
||||
.data("status-id", updates.status_id);
|
||||
|
||||
setTimeout(() => {
|
||||
$("#addressstatus-" + updates.id + "-text").removeClass("text-success")
|
||||
}, 1500);
|
||||
|
||||
if("units" in updates && updates.units.length) {
|
||||
updates.units.forEach(function (u) {
|
||||
//console.log(u);
|
||||
// update detail status text
|
||||
|
||||
|
||||
/*// update list status text
|
||||
$("#addressstatus-" + u.id + " .status").text(u.code + " - " + u.text);
|
||||
$("#addressstatus-" + u.id + " .status").addClass("text-success");
|
||||
setTimeout(() => { $("#preorder-" + u.id + " .status").removeClass("text-success") }, 1500);
|
||||
*/
|
||||
|
||||
|
||||
if (u.status_code) {
|
||||
// update units
|
||||
$("#unitstatus-" + u.id + "-statustext").text(u.status_code + " - " + u.status_text);
|
||||
$("#unitstatus-" + u.id + "-text").addClass("text-success");
|
||||
setTimeout(() => {
|
||||
$("#unitstatus-" + u.id + "-text").removeClass("text-success")
|
||||
}, 1500);
|
||||
}
|
||||
});
|
||||
}
|
||||
toggleAddressStatusControl(aid);
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
'json');
|
||||
}
|
||||
|
||||
function saveUnitStatusControl(aid) {
|
||||
if(!Number.isInteger(aid) || aid < 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var value = $("#unitstatus-" + aid + "-input select").val();
|
||||
|
||||
$.post("<?=self::getUrl("AddressDB","Api")?>",
|
||||
{
|
||||
'do': "updateUnitStatus",
|
||||
id: aid,
|
||||
status_id: value
|
||||
},
|
||||
function(success) {
|
||||
if(success.status == "OK") {
|
||||
var updates = success.result.updates;
|
||||
//console.log(updates);
|
||||
|
||||
/*$("#unitstatus-" + updates.id + "-statustext")
|
||||
.text(updates.status_code + " - " + updates.status_text)
|
||||
.addClass("text-success")
|
||||
$("#unitstatus-" + updates.id + "-text").data("status-id", updates.status_id);
|
||||
|
||||
setTimeout(() => {
|
||||
$("#unitstatus-" + updates.id + "-text").removeClass("text-success")
|
||||
}, 1500);
|
||||
*/
|
||||
|
||||
//console.log(updates.units.length);
|
||||
if("units" in updates && updates.units.length) {
|
||||
updates.units.forEach(function (u) {
|
||||
//console.log(u);
|
||||
// update detail status text
|
||||
|
||||
|
||||
/*// update list status text
|
||||
$("#unitstatus-" + u.id + " .status").text(u.code + " - " + u.text);
|
||||
$("#unitstatus-" + u.id + " .status").addClass("text-success");
|
||||
setTimeout(() => { $("#preorder-" + u.id + " .status").removeClass("text-success") }, 1500);
|
||||
*/
|
||||
|
||||
//console.log(u.status_code);
|
||||
//console.log((u.status_code));
|
||||
if(u.status_code) {
|
||||
// update units
|
||||
$("#unitstatus-" + u.id + "-statustext").text(u.status_code + " - " + u.status_text);
|
||||
$("#unitstatus-" + u.id + "-text").data("status-id", updates.status_id);
|
||||
$("#unit-" + u.id + "-status").addClass("text-success");
|
||||
setTimeout(() => {
|
||||
$("#unit-" + u.id + "-status").removeClass("text-success")
|
||||
}, 1500);
|
||||
}
|
||||
});
|
||||
}
|
||||
toggleUnitStatusControl(aid);
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
'json');
|
||||
}
|
||||
</script>
|
||||
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/footer.php"); ?>
|
||||
Reference in New Issue
Block a user