PreorderstatusJournal & preorder flags -> ADBHausnummer flags sync
This commit is contained in:
@@ -1087,6 +1087,9 @@ class PreorderController extends mfBaseController {
|
||||
case "updateBilled":
|
||||
$return = $this->updateBilledApi();
|
||||
break;
|
||||
case "saveStatusJournal":
|
||||
$return = $this->saveStatusJournalApi();
|
||||
break;
|
||||
default:
|
||||
$return = false;
|
||||
}
|
||||
@@ -1105,6 +1108,35 @@ class PreorderController extends mfBaseController {
|
||||
}
|
||||
}
|
||||
|
||||
protected function saveStatusJournalApi() {
|
||||
$preorder_id = $this->request->preorder_id;
|
||||
$text = $this->request->text;
|
||||
|
||||
if(!$preorder_id || !$text) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$preorder = new Preorder($preorder_id);
|
||||
if(!$preorder->id) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$journal = PreorderstatusJournal::create([
|
||||
"preorder_id" => $preorder_id,
|
||||
"text" => $text,
|
||||
]);
|
||||
if(!$journal->save()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return [
|
||||
"preorder_id" => $preorder_id,
|
||||
"create" => (new DateTime("@".$journal->create))->setTimezone(new DateTimeZone("Europe/Vienna"))->format("Y-m-d H:i:s"),
|
||||
"creator" => $journal->creator->name,
|
||||
"text" => $journal->text,
|
||||
];
|
||||
|
||||
}
|
||||
protected function getLoggedEmail() {
|
||||
$preorder_id = $this->request->pid;
|
||||
$emaillog_id = $this->request->eid;
|
||||
@@ -1328,25 +1360,24 @@ class PreorderController extends mfBaseController {
|
||||
|
||||
private function setStatusFlagApi() {
|
||||
$preorder_id = $this->request->preorder_id;
|
||||
$flag_id = $this->request->flag_id;
|
||||
$code = $this->request->code;
|
||||
$value = $this->request->value;
|
||||
|
||||
if(!$preorder_id || !$flag_id) {
|
||||
if(!$preorder_id || !$code) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$flag = new PreorderStatusflag($flag_id);
|
||||
if(!$flag->id) {
|
||||
$preorder = new Preorder($preorder_id);
|
||||
if(!$preorder->id) return false;
|
||||
|
||||
$sflag = PreorderStatusflagModel::getFirst(["code" => $code]);
|
||||
if(!$sflag) {
|
||||
return false;
|
||||
}
|
||||
$sflag->preorder_id = $preorder->id;
|
||||
|
||||
if ($flag_id == 1) {
|
||||
$preorder = new Preorder($preorder_id);
|
||||
if(!$preorder->id) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$attribute = "inhouse_cabling_supplied";
|
||||
if ($code == 145) {
|
||||
$attribute = "inhouse_cabling_supplied"; // = Starterpaket erhalten
|
||||
$attribs = $preorder->attribute;
|
||||
if(!$attribs) {
|
||||
$attribs = [];
|
||||
@@ -1361,24 +1392,21 @@ class PreorderController extends mfBaseController {
|
||||
}
|
||||
}
|
||||
|
||||
$flagvalue = PreorderStatusflagValueModel::getFirst(["preorder_id" => $preorder_id, "flag_id" => $flag_id]);
|
||||
if(!$flagvalue) {
|
||||
$flagvalue = PreorderStatusflagValueModel::create([
|
||||
"preorder_id" => $preorder_id,
|
||||
"flag_id" => $flag_id
|
||||
]);
|
||||
}
|
||||
|
||||
$flagvalue->value = ($value) ? 1 : 0;
|
||||
$sflag->value->value = ($value) ? 1 : 0;
|
||||
//var_dump($flagvalue);exit;
|
||||
try {
|
||||
if(!$flagvalue->save()) {
|
||||
if(!$sflag->value->save()) {
|
||||
return false;
|
||||
}
|
||||
} catch(Exception $e) {
|
||||
$this->log->debug($e->getTraceAsString());
|
||||
}
|
||||
|
||||
$this->log->debug("===== Setting Hausnummer Flag Value $code -> ".($value ? 1 : 0));
|
||||
if($preorder->adb_hausnummer_id) {
|
||||
$preorder->adb_hausnummer->setStatusflag($code, ($value ? 1 : 0));
|
||||
}
|
||||
|
||||
return ["message" => "Statusflag saved successfully"];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user