Preorder: order_date can be changed now
This commit is contained in:
@@ -1139,6 +1139,62 @@ $pagination_entity_name = "Vorbestellungen";
|
||||
'json');
|
||||
}
|
||||
|
||||
function toggleOrderdateControl(pid) {
|
||||
// set select to current status id
|
||||
//$("#preorder-detail-orderdate-" + pid + "-input select").val($("#preorder-detail-orderdate-" + pid + "-text").data("orderdate"));
|
||||
|
||||
// toggle controls
|
||||
$("#preorder-detail-orderdate-" + pid + "-text").toggle();
|
||||
$("#preorder-detail-orderdate-" + pid + "-input").toggle();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function savePreorderOrderdateControl(pid) {
|
||||
if(!Number.isInteger(pid) || pid < 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var value = $("#preorder-detail-orderdate-" + pid + "-input input").val();
|
||||
|
||||
//console.log("add opacity-5 to ")
|
||||
$("#preorder-" + pid + "-body").addClass("opacity-5");
|
||||
$("#preorder-" + pid + "-body .loader-big").show();
|
||||
|
||||
// reset loading overlay if request times out
|
||||
setTimeout(() => {
|
||||
$("#preorder-" + pid + "-body").removeClass("opacity-5");
|
||||
$("#preorder-" + pid + "-body .loader-big").hide();
|
||||
}, 5000);
|
||||
|
||||
$.post("<?=self::getUrl("Preorder","Api")?>",
|
||||
{
|
||||
'do': "saveOrderdate",
|
||||
id: pid,
|
||||
order_date: value
|
||||
},
|
||||
function(success) {
|
||||
if(success.status == "OK") {
|
||||
console.log(success);
|
||||
var new_orderdate = success.result.order_date;
|
||||
var pid = success.result.preorder_id;
|
||||
//console.log(updates);
|
||||
$("#preorder-detail-orderdate-" + pid + "-textpart").text(new_orderdate);
|
||||
$("#preorder-detail-orderdate-" + pid + "-input").val(new_orderdate);
|
||||
|
||||
$("#preorder-detail-orderdate-" + pid + "-text").addClass("text-success");
|
||||
setTimeout(() => { $("#preorder-detail-orderdate-" + pid + "-text").removeClass("text-success") }, 1500);
|
||||
|
||||
toggleOrderdateControl(pid);
|
||||
|
||||
}
|
||||
|
||||
$("#preorder-" + pid + "-body").removeClass("opacity-5");
|
||||
$("#preorder-" + pid + "-body .loader-big").hide();
|
||||
},
|
||||
'json');
|
||||
}
|
||||
|
||||
function createWorkorder(pid) {
|
||||
if(!Number.isInteger(pid) || pid < 1) {
|
||||
return false;
|
||||
|
||||
@@ -72,6 +72,18 @@
|
||||
</tr><tr>
|
||||
<th>Partner:</th>
|
||||
<td><?=$preorder->partner->getCompanyOrName()?></td>
|
||||
</tr><tr>
|
||||
<th>Bestelldatum:</th>
|
||||
<td>
|
||||
<span id="preorder-detail-orderdate-<?=$preorder->id?>-text" data-orderdate="<?=$preorder->order_date?>"><span id="preorder-detail-orderdate-<?=$preorder->id?>-textpart"><?=date("d.m.Y",$preorder->order_date)?></span> <a href="#" onclick="return toggleOrderdateControl(<?=$preorder->id?>)"><i class="fas fa-fw fa-edit"></i></a></span>
|
||||
<div class="input-group" id="preorder-detail-orderdate-<?=$preorder->id?>-input" style="display:none">
|
||||
<input type="text" class="form-control datepicker" value="<?=date("d.m.Y",$preorder->order_date)?>" />
|
||||
<div class="input-group-append">
|
||||
<button type="button" class="btn btn-primary" title="Speichern" onclick="savePreorderOrderdateControl(<?=$preorder->id?>)"><i class="fas fa-check"></i></button>
|
||||
<button type="button" class="btn btn-secondary" title="Abbrechen" onclick="toggleOrderdateControl(<?=$preorder->id?>)"><i class="fas fa-times"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr><tr>
|
||||
<th>Erstellt:</th>
|
||||
<td class="text-monospace"><?=date("d.m.Y H:i",$preorder->create)?> (<?=$preorder->creator->name?>)</td>
|
||||
|
||||
@@ -1061,6 +1061,9 @@ class PreorderController extends mfBaseController {
|
||||
case "addWorkorderRemark":
|
||||
$return = $this->addWorkorderRemarkApi();
|
||||
break;
|
||||
case "saveOrderdate":
|
||||
$return = $this->saveOrderdateApi();
|
||||
break;
|
||||
default:
|
||||
$return = false;
|
||||
}
|
||||
@@ -1074,6 +1077,26 @@ class PreorderController extends mfBaseController {
|
||||
$this->returnJson($data);
|
||||
}
|
||||
|
||||
private function saveOrderdateApi() {
|
||||
$preorder_id = $this->request->id;
|
||||
$order_date = $this->request->order_date;
|
||||
|
||||
$preorder = new Preorder($preorder_id);
|
||||
if(!$preorder->id) {
|
||||
$this->log->debug(__METHOD__.": preorder ($preorder_id) not found");
|
||||
return false;
|
||||
}
|
||||
|
||||
$orderdate_ts = Layout::dateToInt($order_date);
|
||||
$preorder->order_date = $orderdate_ts;
|
||||
if(!$preorder->save()) {
|
||||
$this->log->debug(__METHOD__.": error saving orderdate");
|
||||
return false;
|
||||
}
|
||||
|
||||
return ["message" => "Orderdate saved successfully", "preorder_id" => $preorder_id, "order_date" => $order_date];
|
||||
}
|
||||
|
||||
private function addWorkorderRemarkApi() {
|
||||
$preorder_id = $this->request->preorder_id;
|
||||
$workorder_id = $this->request->workorder_id;
|
||||
|
||||
Reference in New Issue
Block a user