Preorder: Status can now be changed manually
This commit is contained in:
@@ -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];
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user