rimo-import: new applying changed status flags from hasnummer to preorder
This commit is contained in:
@@ -574,6 +574,45 @@ class Preorder extends mfBaseModel {
|
||||
return true;
|
||||
}
|
||||
|
||||
public function syncStatusFlagsFromAdb() {
|
||||
if(!$this->adb_hausnummer_id) return true;
|
||||
|
||||
$hausnummer = $this->getProperty("adb_hausnummer");
|
||||
|
||||
foreach(ADBStatusflagModel::getAll() as $hflag) {
|
||||
echo $hflag->code."\n";
|
||||
$hflag_value = ADBHausnummerStatusflagValueModel::search(["hausnummer_id" => $hausnummer->id, "flag_id" => $hflag->id]);
|
||||
if(!$hflag_value) {
|
||||
$hflag_value = ADBHausnummerStatusflagValueModel::create([
|
||||
"hausnummer_id" => $hausnummer->id,
|
||||
"flag_id" => $hflag->id
|
||||
]);
|
||||
}
|
||||
|
||||
$val = $hausnummer->statusflags[$hflag->id]->value->value;
|
||||
//var_dump($hausnummer->statusflags[$hflag->id]->value->value);exit;
|
||||
|
||||
$pflag = PreorderStatusflagModel::getFirst(["preorder_id" => $this->id, "code" => $hflag->code]);
|
||||
if(!$pflag) {
|
||||
$this->log->error(__METHOD__."PreorderStatusFlag with code ".$hflag->code." not found!");
|
||||
continue;
|
||||
}
|
||||
$pflag_value = PreorderStatusflagValueModel::getFirst(["preorder_id" => $this->id, "flag_id" => $pflag->id]);
|
||||
if(!$pflag_value) {
|
||||
$pflag_value = PreorderStatusflagValueModel::create([
|
||||
"preorder_id" => $this->id,
|
||||
"flag_id" => $pflag->id
|
||||
]);
|
||||
}
|
||||
$pflag_value->value = ($val) ? 1 : 0;
|
||||
//var_dump($pflag_value);
|
||||
$pflag_value->save();
|
||||
echo "saved value ".$pflag_value->value." for flag_id ".$pflag->id."\n";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function setOrCreateOaid($oaid_attributes = false) {
|
||||
$campaign = new Preordercampaign($this->preordercampaign_id);
|
||||
//var_dump($campaign);exit;
|
||||
|
||||
@@ -286,6 +286,11 @@ foreach ($clusters as $cluster_data) {
|
||||
}
|
||||
|
||||
\mfValuecache::singleton()->set("adbhausnummer-save-nesting-level-".$hausnummer->id, 0);
|
||||
|
||||
// update Preorders
|
||||
foreach(\PreorderModel::searchActive(["adb_hausnummer_id" => $hausnummer_id]) as $preorder) {
|
||||
$preorder->syncStatusFlagsFromAdb();
|
||||
}
|
||||
}
|
||||
|
||||
if(is_object($building->buildingType) && property_exists($building->buildingType, "userLabel") && $building->buildingType->userLabel) {
|
||||
|
||||
Reference in New Issue
Block a user