OperationaldataApi: networks can now come from user
This commit is contained in:
@@ -27,9 +27,9 @@ class SnoppCitycom extends Modules\ApiControllerModule
|
||||
|
||||
if($this->post["execution_date"]) {
|
||||
try {
|
||||
$execution_date = new DateTime($this->post["execution_date"]);
|
||||
$execution_date = new \DateTime($this->post["execution_date"]);
|
||||
} catch(\Exception $e) {
|
||||
return mfResponse::BadRequest(["message" => "Invalid Timestamp format"]);
|
||||
return \mfResponse::BadRequest(["message" => "Invalid Timestamp format"]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,8 +57,8 @@ class SnoppCitycom extends Modules\ApiControllerModule
|
||||
}
|
||||
|
||||
$cc_home_id = \Citycom_OanApiHelper::hausnummerExtrefToCitycomId($wohneinheit->extref);
|
||||
$data["bb_up"] = $bb_up;
|
||||
$data["bb_down"] = $bb_down;
|
||||
$data["up"] = $bb_up;
|
||||
$data["down"] = $bb_down;
|
||||
$data["product_name"] = false;
|
||||
$data["execution_date"] = ($execution_date) ? $execution_date->format("Y-m-d") : false;
|
||||
$data["services"] = CITYCOM_OAN_API_SERVICES_FOR_ORDER;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
require_once(APPDIR."/Api/v1/Modules/Operationaldata/Snopp.php");
|
||||
require_once(APPDIR."/Api/v1/Modules/Operationaldata/SnoppCitycom.php");
|
||||
|
||||
|
||||
use application\Api\v1\Modules;
|
||||
@@ -32,7 +33,7 @@ class OperationaldataApicontroller extends mfBaseApicontroller
|
||||
* TODO: Load Api Modules automatically in mfBaseApiController
|
||||
*/
|
||||
$modules = [];
|
||||
foreach (["Snopp"] as $moduleName) {
|
||||
foreach (["Snopp", "SnoppCitycom"] as $moduleName) {
|
||||
$classname = "application\\Api\\v1\\Modules\\Operationaldata\\" . $moduleName;
|
||||
$modules[$moduleName] = new $classname([
|
||||
"get" => $this->get,
|
||||
@@ -119,14 +120,35 @@ class OperationaldataApicontroller extends mfBaseApicontroller
|
||||
$return = [];
|
||||
|
||||
$my_network_ids = [];
|
||||
$networks = [];
|
||||
|
||||
foreach($this->me->my_networks as $network) {
|
||||
if($network->id && !in_array($network->id, $my_network_ids)) {
|
||||
$my_network_ids[] = $network->id;
|
||||
|
||||
$fixed_networks = false;
|
||||
if(array_key_exists("preorder_networks", $this->me->flags) && $this->me->flags["preorder_networks"]) {
|
||||
$pnetworks = json_decode($this->me->flags["preorder_networks"]);
|
||||
if(is_array($pnetworks) && count($pnetworks)) {
|
||||
$fixed_networks = $pnetworks;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$networks = NetworkModel::search(["opsystem" => "snopp"]);
|
||||
if($fixed_networks) {
|
||||
foreach($fixed_networks as $network_id) {
|
||||
$fnetwork = new Network($network_id);
|
||||
if($fnetwork->id && $fnetwork->opsystem == "snopp") {
|
||||
$my_network_ids[] = $fnetwork->id;
|
||||
$networks[] = $fnetwork;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
foreach($this->me->my_networks as $network) {
|
||||
if($network->id && !in_array($network->id, $my_network_ids)) {
|
||||
$my_network_ids[] = $network->id;
|
||||
}
|
||||
}
|
||||
|
||||
$networks = NetworkModel::search(["opsystem" => "snopp"]);
|
||||
}
|
||||
|
||||
foreach($networks as $network) {
|
||||
if(!in_array($network->id, $my_network_ids)) continue;
|
||||
@@ -275,7 +297,7 @@ class OperationaldataApicontroller extends mfBaseApicontroller
|
||||
}
|
||||
|
||||
if(!array_key_exists($wohneinheit_id, $b[$hausnummer_id]["homes"])) {
|
||||
$b[$hausnummer_id]["homes"][] = [
|
||||
$home_data = [
|
||||
'id' => $wohneinheit_id,
|
||||
'oaid' => $wohneinheit->oaid,
|
||||
'num' => (int)$wohneinheit->num,
|
||||
@@ -292,8 +314,24 @@ class OperationaldataApicontroller extends mfBaseApicontroller
|
||||
'workorder_name' => ($wohneinheit->rimo_workorder) ? $wohneinheit->rimo_workorder->rimo_name : null,
|
||||
'workorder_state_id' => ($wohneinheit->rimo_workorder) ? $woStateNameToId[$wohneinheit->rimo_workorder->rimo_status] : null,
|
||||
'workorder_state_label' => ($wohneinheit->rimo_workorder) ? $wohneinheit->rimo_workorder->rimo_status : null,
|
||||
|
||||
];
|
||||
|
||||
//var_dump($campaign->adb_netzgebiet);
|
||||
|
||||
// add CPE data if Citycom OAN
|
||||
if($campaign->adb_netzgebiet->source == "citycom-oan-api") {
|
||||
$home_data["ont_sn"] = "";
|
||||
$home_data["ont_gpid"] = "";
|
||||
$home_data["ont_mac"] = "";
|
||||
$cc_data = PreorderCitycomOan::getFirst(["preorder_id" => $preorder->id]);
|
||||
if($cc_data) {
|
||||
if($cc_data->ont_sn) $home_data["ont_sn"] = $cc_data->ont_sn;
|
||||
if($cc_data->ont_gpid) $home_data["ont_gpid"] = $cc_data->ont_gpid;
|
||||
if($cc_data->ont_mac) $home_data["ont_mac"] = $cc_data->ont_mac;
|
||||
}
|
||||
}
|
||||
|
||||
$b[$hausnummer_id]["homes"][] = $home_data;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user