Preorder: Status can now be changed manually

This commit is contained in:
Frank Schubert
2023-11-07 13:00:29 +01:00
parent bd3489f6e4
commit 79fe0aa00e
18 changed files with 367 additions and 69 deletions
@@ -249,6 +249,15 @@ class PreorderController extends mfBaseController {
unset($filter['oaid']);
}
if(array_key_exists("status", $filter) && is_array($filter['status']) && count($filter['status'])) {
$new_filter['status_id'] = [];
foreach($filter["status"] as $s) {
if(is_numeric($s) && $s > 0) {
$new_filter['status_id'][] = $s;
}
}
}
/*if(array_key_exists("attributes", $filter) && count($filter['attributes'])) {
}*/
@@ -785,6 +794,9 @@ class PreorderController extends mfBaseController {
case "getFilteredPreorders":
$return = $this->getFilteredPreordersApi();
break;
case "updateStatus":
$return = $this->updateStatusApi();
break;
default:
$return = false;
}
@@ -926,4 +938,32 @@ class PreorderController extends mfBaseController {
}
private function updateStatusApi() {
$preorder_id = $this->request->id;
if(!is_numeric($preorder_id) || $preorder_id < 1) {
return false;
}
$preorder = new Preorder($preorder_id);
if(!$preorder->id) {
return false;
}
$status_id = $this->request->status_id;
if(!is_numeric($status_id) || $status_id < 1) {
return false;
}
$status = new Preorderstatus($status_id);
if(!$status->id) {
return false;
}
$preorder->status_id = $status_id;
$preorder->save();
return ["message" => "Status saved successfully", "id" => $preorder_id, "status_id" => $status->id, "status_code" => $status->code, "status_text" => $status->name];
}
}