WIP 2025-07-31 Citycom OAN Api WIP

This commit is contained in:
Frank Schubert
2025-07-31 16:20:31 +02:00
parent c44a429af7
commit 3718ceefdf
10 changed files with 832 additions and 26 deletions

View File

@@ -598,7 +598,7 @@ class Preorder extends mfBaseModel {
}*/
if($preorder->status->code < $status->code && $status->code <= 244) {
$preorder->status_id = $this->status_id;
$preorder->status_id = $status->id;
$preorder->save();
}
}
@@ -669,6 +669,50 @@ class Preorder extends mfBaseModel {
}
public function getNextFreeCtags() {
if(!$this->getProperty("adb_hausnummer")->vlan_stag) {
echo "no stag\n";
return false;
}
$stag = $this->adb_hausnummer->vlan_stag;
$new_ctag = false;
$ctags_per_home = 1;
$network_name = "";
if($this->adb_hausnummer->netzgebiet->source == "citycom-oan-api") {
$network_name = "citycom-oan";
$first_ctag = CITYCOM_OAN_FIRST_CTAG;
$ctags_per_home = count(CITYCOM_OAN_API_SERVICES_FOR_ORDER) + count(CITYCOM_OAN_API_SERVICES_FOR_RESERVATION); // Service VLANS + mgmt VLANS
}
if(!$network_name) {
echo "no network\n";
return false;
}
$last_ctag = PreorderCtag::getLast(["stag" => $stag, "network" => $network_name]);
if(!$last_ctag) {
$new_ctag = $first_ctag;
} else {
$last_ctag_num = $last_ctag->ctag;
$miss = $last_ctag_num % $ctags_per_home;
if($miss) {
$last_ctag_num = $last_ctag_num - $miss;
}
$new_ctag = $last_ctag_num + $ctags_per_home;
}
$new_ctags = [];
for($i = $new_ctag; $i < $new_ctag + $ctags_per_home; $i++) {
$new_ctags[] = $i;
}
return $new_ctags;
}
public function setOrCreateOaid($oaid_attributes = false) {
$campaign = new Preordercampaign($this->preordercampaign_id);
//var_dump($campaign);exit;