Added citycom manual service ordering script

This commit is contained in:
Frank Schubert
2025-08-04 16:25:18 +02:00
parent 6cc7080ee5
commit 07f2bad3c4
4 changed files with 109 additions and 20 deletions
@@ -64,7 +64,7 @@ class SnoppCitycom extends Modules\ApiControllerModule
$data["services"] = CITYCOM_OAN_API_SERVICES_FOR_ORDER;
if($preorder->campaign->name == "Citycom - Graz") {
$data["product_name"] = "Estmk OAN $bb_down/$bb_up";
$data["product_name"] = "Estmk Greenstream OAN $bb_down/$bb_up";
}
+18 -12
View File
@@ -15,7 +15,7 @@ class PreorderCtag extends mfBaseModel {
* @return boolean
*/
public function configureNetwork() {
if($this->network == "citycom-oan-api") {
if($this->network == "citycom-oan") {
return $this->configureNetworkCitycom();
}
@@ -48,15 +48,18 @@ class PreorderCtag extends mfBaseModel {
if(!$oaid) {
$oaid = $preorder->adb_wohneinheit->oaid;
}
if(!$oaid) {
$this->log->error(__METHOD__.": No OAID in Preorder ".$preorder->id." or Wohneinheit ".$preorder->adb_wohneinheit->id);
return false;
if($oaid) {
$oaid = preg_replace('/[^a-z0-9._-]+/i', '', $oaid);
if (!$oaid) {
$oaid = "unit".$preorder->adb_wohneinheit_id;
$this->log->warn(__METHOD__ . ": OAID invalid after cleanup in Preorder ".$preorder->id." or Wohneinheit ".$preorder->adb_wohneinheit->id.", using adb_wohneinheit_id '$oaid'");
}
}
$oaid = preg_replace('/[^a-z0-9._-]+/i', '', $oaid);
if(!$oaid) {
$this->log->error(__METHOD__.": OAID invalid after cleanup in Preorder ".$preorder->id." or Wohneinheit ".$preorder->adb_wohneinheit->id);
return false;
$oaid = "unit".$preorder->adb_wohneinheit_id;
$this->log->warn(__METHOD__.": No OAID in Preorder ".$preorder->id." or Wohneinheit ".$preorder->adb_wohneinheit->id.", using adb_wohneinheit_id '$oaid'");
}
$stag_name = "";
@@ -78,7 +81,7 @@ class PreorderCtag extends mfBaseModel {
}
if(!$stag_name) {
$this->log->error(__METHOD__.": Vlan for stag $stag not found");
$this->log->error(__METHOD__.": Vlan interface with stag $stag not found");
return false;
}
@@ -100,10 +103,12 @@ class PreorderCtag extends mfBaseModel {
$this->log->error(__METHOD__." error creating vlan interface for ctag $ctag (ifname: ".$vlan_data["name"].") in stag $stag (ifname: $stag_name)");
return false;
}
$this->log->info(__METHOD__.": done => /interface vlan add: ".print_r($vlan_data, true));
// add to interface-list
$ros->add("/interface list member", ["interface" => $vlan_name, "list" => CITYCOM_OAN_API_NNI_IFLIST_NAME]);
$this->log->info(__METHOD__.": done => /interface list member add 'interface' => $vlan_name, 'list' => ".CITYCOM_OAN_API_NNI_IFLIST_NAME);
return true;
} catch(Exception $e) {
@@ -296,12 +301,13 @@ class PreorderCtag extends mfBaseModel {
}
}
if(array_key_exists("oaid", $filter)) {
$oaid = FronkDB::singleton()->escape($filter['oaid']);
if($oaid) {
$where .= " AND PreorderCtag.oaid = '$oaid'";
if(array_key_exists("network", $filter)) {
$network = FronkDB::singleton()->escape($filter['network']);
if($network) {
$where .= " AND PreorderCtag.network = '$network'";
}
}